After defining a CallableFixedRateBond object in QuantLib, I can calculate YTM (yield-to-maturity) right now. I'm using Python so the function is bondYield().

Is there any way to calculate YTW (yield-to-worst) in QuantLib? One way is to loop through all callable dates and calculate yield assuming the bond will be called at exact that date. Then take minimum of them. Is there a more straightforward way to do that?

  • 1
    $\begingroup$ I'm voting to close this question as off-topic because it is purely about programming (without providing a MCV example) and not about Quantitative Finance. $\endgroup$ Commented May 3, 2019 at 13:28
  • 1
    $\begingroup$ I think it's fine, I read it as asking for guidance on how to approach this problem within the context of QuantLib, not for programming help. $\endgroup$
    – Bob Jansen
    Commented May 3, 2019 at 14:01
  • $\begingroup$ Maybe the question could be restated without being library specific. E.g. if you consider a long-dated bond, say 30 years, with complicated call schedule, say anyime (American) on or after 5 years, with changing strikes (say par + all remaining coupons). Do you need to calculate the yield for each possible call date to find the worst, or is there a shortcut? $\endgroup$ Commented May 4, 2019 at 14:26


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.