I am looking for a nice and readable description of how to implement BDT model: $d log(r(t)) = [\theta(t)-\frac{\sigma'(t)}{\sigma(t)}log(r(t))]dt + \sigma(t) dW$.

I assume I already have steady-state IR curve $r^*(t)$ and volatility curve $\sigma^*(t)$.

It makes no difference whether it would be binomial tree or Monte-Carlo or FDM implementation. Monte-Carlo seems to be easy but I'm not sure whether I can use $\theta(t) = r^*(t)$ and $\sigma(t)=\sigma^*(t)$.

I went thru Derman's article and Haug's "Options pricing formulas" but found no answer.


2 Answers 2


All you need is to use the discretization to implement the MC approach. The following links should get you started:




In the last paper check from section 6.2

The following papers show examples of BDT model calibration:




  • $\begingroup$ My question was how to select appropriate parameters for BDT in order to simulate it with Monte-Carlo. I am trying to avoid trees (as suggested by papers 1 and 2). And the third paper is too general and tells nothing about calibration $\endgroup$
    – Rustam
    Jan 17, 2013 at 13:34
  • $\begingroup$ added several papers that show detailed steps in how to calibrate the BDT model. It is a calibration process there are no magic parameters that you plug in and voila your model is calibrated $\endgroup$
    – Matt Wolf
    Jan 17, 2013 at 15:59

You can calibrate the model by discretizing in time, and using a forward induction method as originally proposed by Jamishidian in 1991:

F.Jamshidian, Forward Induction and Construction of Yield Curve Diffusion Models, J.Fixed Income 6, 62-74 (1991).

Although he formulated this induction in the language of the binomial tree, the method is more general, and can be applied for example by allowing the state variable to be continuous.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.