Re: ParCoupon class
Posted by Luigi Ballabio-2 on Apr 30, 2003; 7:50am
URL: http://quantlib.414.s1.nabble.com/ParCoupon-class-tp2503p2504.html
At 02:58 PM 4/30/03 +0200, Andre Louw wrote:
>Can you explain to me the difference between a Par Coupon and an Indexed
>Coupon?
Andre,
due to holidays and rolling conventions, the end date of a coupon
starting at a given date might not match the end date of the corresponding
Euribor deposit starting at the same date. Example: take a 5-year sequence
of semi-annual coupons starting May 5, 2003 on the TARGET calendar. Their
start/end dates are:
May 5th, 2003
November 5th, 2003
May 5th, 2004
November 5th, 2004
May 5th, 2005
November 7th, 2005
May 5th, 2006
November 6th, 2006
May 7th, 2007
November 5th, 2007
May 5th, 2008
so that, for instance, the penultimate coupon starts May 7, 2007 and ends
November 5th, 2007. But the 6-months Euribor fixing of May 7, 2007 is based
on a deposit with end date November 7th, 2007!
ParCoupon and IndexedCoupon are two different approaches to this date
mismatch, namely:
let's call "start" the start date, "end_1" the end date of the coupon, and
"end_2" the end date of the deposit underlying the Euribor fixing.
1) ParCoupon calculates the coupon rate as
rate = (discount(end_1)/discount(start) - 1)/T
where T is the period between start and end_1. This has the advantage
that the NPV of a bond nicely adds up to 100 when the redemption is
included, and that each rate is paid for the exact period over which
it is calculated---i.e., no convexity. However, when May 7th, 2007 comes,
the coupon will fix based on the underlying deposit dates!
2) IndexedCoupon forecasts the coupon rate based on the deposit, i.e. as:
rate = (discount(end_2)/discount(start) - 1)/T
where T is the period between start and end_2. This is the rate as will
be fixed when May 7th, 2007 comes. However, it will be accrued over a
different period, namely, between start and end_1, which introduces a
small convexity error.
Therefore, IndexedCoupon accrues wrongly the right fixing, while ParCoupon
accrues rightly the wrong fixing. As I never sat down to try and estimate
which error is smaller, I'm not suggesting that either is best...
Bye,
Luigi