Login  Register

In arrears adjustment

Posted by Peter Caspers-4 on Nov 03, 2012; 6:09pm
URL: http://quantlib.414.s1.nabble.com/In-arrears-adjustment-tp9194.html

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-dev