Implementing and Calibrating the Black–Derman–Toy Interest-Rate Model
Summary
The document asks how to implement the Black–Derman–Toy short-rate model when a steady-state interest-rate curve and volatility curve are available. It presents the model’s stochastic differential equation and raises the question of whether those curves can be inserted directly as its drift and volatility inputs. It considers Monte Carlo, binomial-tree, and finite-difference implementations, but does not provide a full discretization or resolve that parameter-mapping question.
The responses point to implementation and calibration references, and describe calibrating through time discretization and forward induction. Although that method was originally expressed using a binomial tree, the response says it can also be applied with a continuous state variable. The excerpt supplies no numerical comparison, calibration example, or detailed algorithm, so it serves as a guide to relevant methods rather than a complete implementation recipe. Model inputs generally need to be calibrated consistently with the term structure and volatility assumptions.
Key ideas
- The Black–Derman–Toy model describes the logarithm of the short rate with time-varying drift and volatility.
- The question considers Monte Carlo, binomial-tree, and finite-difference implementations.
- Forward induction after time discretization is presented as a way to calibrate the model.
- The induction approach can be extended beyond a binomial tree to a continuous state variable.
- The excerpt does not establish that observed or steady-state curves can be used directly as model parameters.
Tags
Full text
# BDT model implementation
# BDT model implementation
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.
## Answer by Matt Wolf (score 3)
https://quant.stackexchange.com/a/4951
All you need is to use the discretization to implement the MC approach. The following links should get you started:
http://www.lcy.net/files/BDT_Seminar_Paper.pdf
http://www-2.rotman.utoronto.ca/~hull/TechnicalNotes/TechnicalNote23.pdf
http://www.iorcf.unisg.ch/Forschung/~/media/Internet/Content/Dateien/InstituteUndCenters/IORCF/Abschlussarbeiten/Frey%202008%20MA%20Monte%20Carlo%20methods%20with%20application%20to%20the%20pricing%20of%20interest%20rate%20derivatives.ashx
In the last paper check from section 6.2
The following papers show examples of BDT model calibration:
http://belkcollegeofbusiness.uncc.edu/wtian1/bdt.pdf
http://www.csie.ntu.edu.tw/~lyuu/finance1/2012/20120530.pdf
http://www.iam.fmph.uniba.sk/studium/efm/phd/urbanova/urbanova-thesis.pdf
## Answer by danp (score 3)
https://quant.stackexchange.com/a/18543
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.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.