1

アメリカン オプションの価格設定に QLNet を使用していますが、機能しません。Quantlib フォーラムに質問を投稿しました

私のコード:

 todaysDate & settlementdate = 2012-12-18, maturity = 2013-01-18,

 Calendar calendar = new TARGET();

 Settings.setEvaluationDate(TodaysDate);
 DayCounter dayCounter = new Actual365Fixed();

 Handle<Quote> underlyingH = new Handle<Quote>(new SimpleQuote(100));
 var flatTermStructure = new Handle<YieldTermStructure>(new FlatForward(SettlementDate, 0.08, dayCounter));
 var flatDividendTS = new Handle<YieldTermStructure>(new FlatForward(SettlementDate, 0, dayCounter));
 var flatVolTS = new Handle<BlackVolTermStructure>(new BlackConstantVol(SettlementDate, calendar, 0.2, dayCounter));
 StrikedTypePayoff payoff = new PlainVanillaPayoff(Call, 101);
 var bsmProcess = new BlackScholesMertonProcess(underlyingH, flatDividendTS, flatTermStructure, flatVolTS);

 Exercise exerciseEngine = exerciseEngine = new AmericanExercise(SettlementDate, Maturity); 
 VanillaOption optionEngine = new VanillaOption(payoff, exerciseEngine); 

 optionEngine.setPricingEngine(new BinomialVanillaEngine<CoxRossRubinstein>(bsmProcess, 801)); 

 //error:
 optionEngine.impliedVolatility(optionEngine.NPV(), bsmProcess, 1.0e-4, 100, 1.0e-7, 4.0);

原資産 = 100、k=101、i=0.08、vol=0.2、div=0、今日の日付と決済日 = 2012-12-18、満期 = 2013-01-18、

VanillaOption.csでは、ケース Exercise.Type.American のコードはコメント解除されています。

エラー メッセージ: An item with the same key has already been added . FDStepConditionEngine.csの 111 行目 (results.additionalResults.Add priceCurve、価格_)

親切に助けてくれてありがとう。

4

0 に答える 0