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

  • $\begingroup$ "the rate equal to the bond yield in the market" -- what type bond yield are you using, e.g. yield-to-call, yield-to-worst, yield-to-maturity? edit i actually don't see yield as an input to CallableFixedRateBond based on QL's github repo: github.com/lballabio/QuantLib/blob/master/ql/experimental/… $\endgroup$ – Will Gu Nov 29 '17 at 20:44
  • $\begingroup$ I'm also not sure why it has anything to do with Hull White and volatility $\endgroup$ – Will Gu Nov 29 '17 at 20:46
  • $\begingroup$ Thank you for your answer, I used the yield to maturity, its the White Hull Model that need yield term structure ( in the case of a flat rate term structure we need just one rate, I thought its the yield bond since its the only place where I can include this information, when the bond is linked to a pricing engine( that's where I needed the WH model) I believe the function CleanPrice() will pass the job to the engine. I am not sure why WH Model but I learned this from CallableBond exemple that come with Quantlib, I was trying to test it with market data but not sure of the input. $\endgroup$ – ayoub Nov 30 '17 at 8:24
  • $\begingroup$ Something that could help to analyze the problem, when I try to get the yield from the callable bond I don't get the one I gave as a flat rate, I get one bigger ( I couldn't find how the function is implemented). when I tweak this yield I can find one that give me with good accuracy both the market yield and the market price. That's why I thought the rate I chose maybe shouldn't be the market yield $\endgroup$ – ayoub Nov 30 '17 at 14:36
  • $\begingroup$ my bad. thought you were trying to convert bond yield to price. what parameters did you use for Hull White. and the source of volatility you passed in? I feel that even all these parameters are reasonable, you wouldn't necessarily get a price that matches the market, since one is model dependent, the other is the result of trading $\endgroup$ – Will Gu Nov 30 '17 at 23:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.