lballabio / QuantLib

The QuantLib C++ library
http://quantlib.org
Other
5.4k stars 1.8k forks source link

Normal volatility coupon pricer for floating rate bonds with caps and floors #2072

Closed eschiffmiller closed 4 weeks ago

eschiffmiller commented 2 months ago

For caps and floors pricing engines, I see that QuantLib has both Bachelier and Black versions (BachelierCapFloorEngine and BlackCapFloorEngine). However, for purposes of pricing a floating rate bond, I can only find the BlackIborCouponPricer. Can the Black coupon pricer be used with a normal volatility surface? If not, is there an available coupon pricer that does work with normal vols, similar to the Bachelier cap/floor pricing engine?

boring-cyborg[bot] commented 2 months ago

Thanks for posting! It might take a while before we look at your issue, so don't worry if there seems to be no feedback. We'll get to it.

jongbongan commented 4 weeks ago

BlackCouponPricer can be used with a normal volatility termstructure.

eschiffmiller commented 4 weeks ago

BlackCouponPricer can be used with a normal volatility termstructure.

Thank you for replying. What's odd is that I couldn't find any references to the normal volatility term structure or adjustments to handle it within the Black coupon pricer code. Are you able to point out where I can find this?

lballabio commented 4 weeks ago

It's here: https://github.com/lballabio/QuantLib/blob/v1.36/ql/cashflows/couponpricer.cpp#L155-L162.

The volatility type is not an explicit parameter to the constructor because it can be retrieved from the volatility structure (see line 156).

eschiffmiller commented 4 weeks ago

It's here: https://github.com/lballabio/QuantLib/blob/v1.36/ql/cashflows/couponpricer.cpp#L155-L162.

The volatility type is not an explicit parameter to the constructor because it can be retrieved from the volatility structure (see line 156).

Thank you!