Floating bond NPV

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Floating bond NPV

Pascal Haakmat
Hi,

I had a question about floating bond valuation in QuantLib, which
differs from what I would expect according to Hull.
Hull has it that a floating bond equals nominal right after the next
coupon payment.
Therefore the NPV of a floating bond is given by:

npv = discount_factor * (nominal + coupon)

where

coupon = nominal * last fixing rate
discount_factor = discount on next coupon date

Clearly the NPV of a floating bond can never exceed nominal + coupon.
Yet when I define a floating bond from 1-Jan-2014 through 1-Jan-2018
with nominal 5.000.000, with semi-annual coupons, a last fixing of
0.004, and evaluate it on 1-Mar-2014, QuantLib yields a NPV of
5.068.363. This is much larger than nominal + coupon (5.011.178). How to
explain/justify this (large) difference?

Kind regards,
Pascal




------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users
Reply | Threaded
Open this post in threaded view
|

Re: Floating bond NPV

Luigi Ballabio
A floating bond equals nominal only when all conventions match (for instance, the accrual convention of the coupon should be the same as the convention of the underlying floating rate). Date adjustments might also introduce discrepancies. Can you post some code that reproduces the problem?

Luigi


On Fri, Jan 9, 2015 at 2:54 PM, Pascal Haakmat <[hidden email]> wrote:
Hi,

I had a question about floating bond valuation in QuantLib, which
differs from what I would expect according to Hull.
Hull has it that a floating bond equals nominal right after the next
coupon payment.
Therefore the NPV of a floating bond is given by:

npv = discount_factor * (nominal + coupon)

where

coupon = nominal * last fixing rate
discount_factor = discount on next coupon date

Clearly the NPV of a floating bond can never exceed nominal + coupon.
Yet when I define a floating bond from 1-Jan-2014 through 1-Jan-2018
with nominal 5.000.000, with semi-annual coupons, a last fixing of
0.004, and evaluate it on 1-Mar-2014, QuantLib yields a NPV of
5.068.363. This is much larger than nominal + coupon (5.011.178). How to
explain/justify this (large) difference?

Kind regards,
Pascal




------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users



--

------------------------------------------------------------------------------
Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users