Skip to content
All library documents

Choosing a Yield Curve for Callable Bond Pricing in QuantLib

Article Quant Q&A · Author: ayoub

Summary

The document describes a beginner's attempt to price a callable fixed-rate bond in QuantLib using a Hull–White model. The question is whether a flat yield term structure set to the bond's market yield is an appropriate input, or whether a more detailed curve is needed. The reported callable-bond price differs from the market quote, while the corresponding noncallable bond price is very close.

This comparison suggests that the discrepancy may involve the callable valuation setup, including the curve, volatility, or model calibration, rather than a general bond pricing error. However, the document supplies no resolution or diagnostic procedure. It does not identify the market curve convention, option-adjusted volatility assumptions, call schedule details, or valuation settings needed to explain the gap, so it is a question rather than a validated QuantLib methodology.

Key ideas

  • Callable bond pricing in QuantLib can use a Hull–White interest-rate model.
  • The questioner uses a flat curve based on the bond's market yield and asks whether a richer term structure is needed.
  • The reported noncallable price is close to the market price while the callable price is less close.
  • The discrepancy alone does not establish whether curve choice, volatility, calibration, or implementation is responsible.
  • The document does not provide a confirmed pricing recipe or a resolved diagnosis.

Tags

Full text
# What rate/structure to use in <yield term structure> for the pricing of callable bond using QuantLib


# What rate/structure to use in <yield term structure> for the pricing of callable bond using QuantLib












I am new to quantlib (actually to the fixed income universe). I am trying to price a callable bond using the CallableFixedRateBond classe of quantlib, and compare it to the market data(bloomberg).

I create the bond, I created a flat term structure with 'the rate equal to the bond yield in the market' ( I am not sure that it is a good idea) and I feed it to a HullWhite model with the volatility given by the market data.

The price I get is slightly different from the market by 0.5%, instead of 101.03 I get 100.602, is it just because of the accuracy of the model or the rate I used to build the structure is wrong, Do I need a more sophisticated structure?

Actually the price I got for the equivalent non callable bond is closer to the market price 101.026 for 101.031.

Thanks in advance

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.