I committed the fix. Thanks for the heads-up.
> Hi,
>
> I think the in arrears adjustment in couponpricer.cpp is computed
> slightly wrong. Shouldn't it be like in the adjusted code below?
>
> Thanks, Peter
>
> ql/cashflows/couponpricer.cpp
>
> // see Hull, 4th ed., page 550
> QL_REQUIRE(!capletVolatility().empty(),
> "missing optionlet volatility");
> Date d1 = coupon_->fixingDate(),
> + d2 = coupon_->index()->valueDate(d1),
> referenceDate = capletVolatility()->referenceDate();
> if (d1 <= referenceDate) {
> adjustement = 0.0;
> } else {
> - Date d2 = coupon_->index()->maturityDate(d1);
> - Time tau =
> coupon_->index()->dayCounter().yearFraction(d1, d2);
> + Date d3 = coupon_->index()->maturityDate(d2);
> + Time tau =
> coupon_->index()->dayCounter().yearFraction(d2, d3);
> Real variance = capletVolatility()->blackVariance(d1,
> fixing);
> adjustement = fixing*fixing*variance*tau/(1.0+fixing*tau);
> }
>
>
>
> ------------------------------------------------------------------------------
> LogMeIn Central: Instant, anywhere, Remote PC access and management.
> Stay in control, update software, and manage PCs from one command center
> Diagnose problems and improve visibility into emerging IT issues
> Automate, monitor and manage. Do more in less time with Central
>
http://p.sf.net/sfu/logmein12331_d2d> _______________________________________________
> QuantLib-dev mailing list
>
[hidden email]
>
https://lists.sourceforge.net/lists/listinfo/quantlib-devEveryone hates slow websites. So do we.