Re: Re: accrualAmount() function within the bond class...
Posted by Luigi Ballabio on
URL: http://quantlib.414.s1.nabble.com/Problem-within-the-Bond-YieldSolver-class-tp4278p4296.html
On 12/09/2005 05:13:40 PM, Toyin Akin wrote:
>
>> If the coupon is still included in the bond (QL_TODAYS_COUPON is
>> defined) we pay the dirty price and tonight we'll receive the
>> coupon. The PV is the clean price.
>
> Above you write "equal's to the clean Price if QL_TODAYS_COUPON is
> defined".
I probably meant the other way around. I even wrote the wrong name for
the define :)
> Okay, so maybe it's a question of timing, the coupon is received
> tonight so it's in tomorrow's cashflow etc...
No, it's still today's cashflow. Let's try and put it this way.
1) At all times and regardless of whether QL_TODAYS_PAYMENTS is defined,
clean price = dirty price - accrued amount.
2) Upon a coupon payment, both the dirty price and the accrued amount
drop by the amount of the coupon. Since the clean price is given by
their difference, it doesn't change.
For instance:
- the bond pays 5$ tomorrow. The dirty price is 102$ and the accrued
amount is almost 5$. The clean price is 97$. If I buy the bond, I'll
pay 102$ today and receive 5$ tomorrow. After the payment, I'll be
short of 97$ in cash and I will hold a bond whose value is the NPV of
the future coupons.
- Let's say I didn't buy the bond. Forward 2 days. The bond paid 5$
yesterday. The dirty price dropped and is now 97$; the accrued amount
dropped and is almost 0. The clean price is still 97$. If I buy the
bond, I'll pay 97$ and I will hold a bond whose value is the NPV of the
same future coupons.
- The bond pays today, and QL_TODAYS_PAYMENTS _is not_ defined.
The current holder already received the payment. The dirty price is
already down to 97$ and the accrued amount is already down to 0. The
clean price is 97$ as usual. If I buy the bond, I'll pay 97$ and I will
hold a bond whose value is the NPV of the same future coupons.
- The bond pays today, and QL_TODAYS_PAYMENTS _is_ defined.
The current holder didn't receive the payment yet. The dirty price is
still 102$ and the accrued amount is still 5$. Not surprisingly, the
clean price is 97$. If I buy the bond, I'll pay 102$ and receive 5$
shortly thereafter. When the day closes, I'll be short of 97$ in cash
and I will hold a bond whose value is the NPV of the now familiar
future coupons.
Did you expect different figures in any of the above cases?
Luigi
----------------------------------------
I have yet to see any problem, however complicated, which, when you
looked at it in the right way, did not become still more complicated.
-- Poul Anderson