Small Group Tutorials

Here to help students catch up, keep up, and move ahead. Book a consultation here.

How Black–Derman–Toy Interest-Rate Tree Algorithms Fit Yield Curves and Volatility: State Prices, Recombining Lattices, Root Finding, Backward Induction and Model Failure

Reader question: How can an interest-rate model be forced to reproduce today’s yield curve while still generating a branching set of future short rates for valuing bonds and embedded options?

The Black–Derman–Toy, or BDT, model solves this with a recombining binomial short-rate tree. At each time step, the algorithm chooses node rates so the lattice is consistent with observed zero-coupon bond prices and a specified volatility structure. Once calibrated, the same tree can price cash flows by backward induction.

This article owns the recombining lognormal short-rate lattice calibration problem: today’s discount curve + a short-rate or yield-volatility term structure + time-grid conventions → a calibrated BDT tree, state prices, node discount factors, repricing diagnostics and option values.

It does not own general yield-curve bootstrapping, Hull–White calibration, Heath–Jarrow–Morton dynamics, or option-volatility smile modelling. Those are separate page roles. The purpose here is to understand the algorithmic construction of a one-factor interest-rate lattice that exactly or approximately matches selected market inputs.

This is public mathematical and computational education. It is not financial advice, a valuation recommendation or a claim that BDT is appropriate for any specific instrument or market regime.

1. The object being modelled is the short rate

Let rt denote the short rate over a small time interval beginning at time t. In a binomial tree, the short rate can take several possible values at future dates.

At time step n, a recombining tree has:

n + 1 nodes.

An up move followed by a down move reaches the same node as a down move followed by an up move. Recombination keeps the number of nodes growing linearly rather than exponentially.

2. Why positivity leads to lognormal spacing

In the standard BDT construction, short rates are represented in log space. A common node-spacing rule can be written schematically as:

rn,j+1 / rn,j = exp(2σn√Δt),

for adjacent nodes at time step n under a conventional symmetric-binomial parametrisation.

Equivalently:

ln(rn,j+1/rn,j)/2 = σn√Δt.

The exact indexing convention can vary across implementations. The structural point is that rates are spaced multiplicatively, so positive rates remain positive.

3. What the model is calibrated to

The original BDT framework uses:

  • the current term structure of interest rates;
  • a term structure of interest-rate volatility.

In a lattice implementation, the curve provides zero-coupon bond prices or discount factors at the tree maturities. The volatility input controls the dispersion of future rates across nodes.

Calibration chooses the level of each tree layer so that the model reproduces the market discount factor at that maturity while respecting the required node spacing.

4. Begin with market discount factors

Suppose the zero-coupon discount factor to maturity Tn is:

P(0,Tn).

These discount factors should first come from a coherent curve-construction process with consistent day counts, compounding and instrument conventions.

The BDT tree should not be asked to repair a broken input curve. It consumes a curve; it does not replace the curve bootstrapping problem.

5. State prices are the cleanest calibration bookkeeping

Let Qn,j be the Arrow–Debreu state price for reaching node (n,j): the time-zero value of one unit paid only if that node is reached.

If the risk-neutral up probability is p and the one-step discount factor at node (n,j) is:

Dn,j = 1/(1 + rn,jΔt)

under a simple-discrete convention, then state prices propagate forward:

Qn+1,j += Qn,j(1−p)Dn,j,

Qn+1,j+1 += Qn,jpDn,j.

Other compounding conventions change the local discount formula but not the logic.

6. The state-price sum must reprice the zero bond

At maturity Tn, the model price of a zero-coupon bond paying one in every state is:

Pmodel(0,Tn) = Σj Qn,j.

Calibration requires:

Σj Qn,j = Pmarket(0,Tn).

This equality is one of the strongest invariants in the entire algorithm.

7. One unknown layer level can be solved by root finding

At a new time step, volatility determines the relative spacing among rates in the layer. A single level parameter, call it an, shifts the layer up or down in log-rate space:

rn,j = exp(an + bn,j),

where bn,j is determined by the volatility spacing.

Define the calibration residual:

f(an) = Pmodel(0,Tn+1; an) − Pmarket(0,Tn+1).

The algorithm solves:

f(an) = 0.

Bisection, secant or Newton-style methods can be used when their assumptions are satisfied.

8. Sequential calibration builds the tree one layer at a time

  1. Read the market discount curve.
  2. Set the time grid.
  3. Fix the risk-neutral transition convention.
  4. Read the volatility input for the next layer.
  5. Construct relative node spacing.
  6. Guess the layer-level parameter.
  7. Propagate state prices through the proposed layer.
  8. Compute the next zero-coupon bond price.
  9. Compare with the market target.
  10. Root-find the layer level until repricing is within tolerance.
  11. Freeze the calibrated layer and move to the next maturity.

This sequential bootstrap is one reason the BDT model is educationally valuable: curve fitting, volatility, probability, state prices and root finding are all visible in one algorithm.

9. A two-step conceptual example

Suppose the one-year market discount factor is 0.96. Under annual simple compounding, the initial one-year short rate satisfying:

1/(1+r0) = 0.96

is approximately 4.1667%.

At year one, the rate can move to:

ru or rd,

with their ratio constrained by the volatility input.

The unknown common level is adjusted until the risk-neutral, state-price-weighted value of the two-year zero-coupon payoff equals the observed two-year discount factor.

The key point is not the small example’s arithmetic. It is the calibration loop:

volatility fixes relative spacing; the yield curve fixes absolute layer level.

10. Risk-neutral probability is part of the discretisation

Many textbook BDT trees use:

p = 0.5.

This does not mean real-world short rates have a 50% chance of moving up. It is a risk-neutral lattice convention used with calibrated node rates so discounted asset prices satisfy the pricing framework.

Confusing risk-neutral transition probabilities with real-world forecasts is a category error.

11. Backward induction prices a cash flow once the tree is calibrated

Suppose an instrument has node values Vn+1,j and Vn+1,j+1 one step ahead. At node (n,j):

Vn,j = Dn,j[(1−p)Vn+1,j + pVn+1,j+1 + cash-flow adjustments].

Starting at maturity and moving backward gives today’s model value.

This mechanism works for zero-coupon bonds, coupon bonds and many options whose exercise or cash-flow rules can be represented on the lattice.

12. Embedded options add an exercise rule

For a callable bond, the issuer may have the right to redeem the bond at specified call dates and prices.

At a call node, the continuation value is compared with the contractual call value. A simplified issuer-call rule is:

V = min(continuation value, call price),

after carefully handling accrued interest and contract conventions.

For putable bonds, the holder’s exercise rule uses a maximum instead.

The tree therefore combines stochastic discounting with dynamic programming.

13. Inputs and outputs

Inputs can include:

  • valuation date;
  • discount factors or zero rates;
  • day-count conventions;
  • compounding conventions;
  • tree maturities and Δt;
  • short-rate or yield-volatility term structure;
  • risk-neutral branching convention;
  • root-finding tolerance;
  • instrument cash flows;
  • exercise dates and prices;
  • interpolation rules where market pillars and tree dates differ.

Outputs can include:

  • short-rate tree;
  • state-price tree;
  • model zero-coupon prices;
  • curve-repricing residuals;
  • volatility-repricing residuals;
  • bond and option values;
  • exercise boundaries;
  • duration or scenario sensitivities;
  • root-finder iterations and convergence flags.

14. Curve repricing is necessary but not sufficient

A BDT tree can be calibrated to reproduce every discount factor in the input curve and still be a poor model for option prices.

The yield curve constrains expected discounting under the pricing measure. Option values also depend on the distribution of future rates, which is controlled by volatility and model structure.

A robust calibration therefore separates:

curve fit from option-volatility fit.

15. Volatility input must have a precise meaning

“Interest-rate volatility” can refer to:

  • short-rate volatility;
  • yield volatility;
  • forward-rate volatility;
  • caplet implied volatility;
  • swaption implied volatility.

They are not interchangeable.

The original BDT framework links the current term structure and estimated volatilities to the future short-rate tree. Later implementations may calibrate to specific cap or option instruments.

Weak link: if the volatility object used in calibration is not the same object assumed by the lattice equations, the tree can fit a number while misrepresenting the intended market observable.

16. Calibration feasibility can fail

Research on BDT calibration shows that not every arbitrary combination of term structure and volatility inputs necessarily produces a well-behaved feasible tree under a chosen discretisation.

Root finding can fail because:

  • the target price lies outside values obtainable under the layer parameter;
  • the volatility spacing is inconsistent with the curve;
  • numerical overflow occurs in lognormal rates;
  • the root is poorly bracketed;
  • input conventions are inconsistent.

A solver failure is evidence about the model/data pair, not merely an inconvenience to suppress.

17. Why lognormal short rates became a limitation in negative-rate regimes

Because the standard BDT construction keeps short rates positive, it cannot directly represent negative short rates without modifying the model.

That became a material limitation in markets where policy and money-market rates traded below zero.

Possible responses include shifted formulations or alternative Gaussian short-rate models, but once the state variable is shifted, the model is no longer the plain textbook BDT construction.

Falsifier: if market-consistent calibration requires materially negative short-rate states, an unshifted positive-lognormal BDT tree is structurally incompatible with the data.

18. One factor can miss curve-shape dynamics

BDT uses one stochastic factor. One factor can move the entire term structure through a constrained family of shapes.

Real yield curves exhibit multiple dominant modes such as level, slope and curvature.

If a product’s value is sensitive to relative movements between maturities, a one-factor tree can understate basis or curve-shape risk.

Falsifier: compare hedge performance under historical steepener, flattener and curvature moves. Persistent unexplained errors indicate missing factors.

19. Recombination is computationally valuable

Without recombination, a binomial tree has 2n paths after n steps. With recombination, it has only n+1 nodes at layer n.

This reduces memory and pricing cost dramatically, especially when backward induction is repeated for many instruments.

The computational gain comes from the model assumption that different up/down path orders can arrive at the same state.

20. Grid refinement is a model-validation test

Tree prices are discretisation-dependent. Increase the number of time steps and check whether prices converge.

A useful sequence is:

N, 2N, 4N.

For a stable implementation, instrument values and key sensitivities should approach a limit within the intended tolerance.

If calibration residuals remain small but instrument prices oscillate materially with grid refinement, the lattice is not numerically validated for that use.

21. Boundary and overflow problems occur in extreme nodes

Because node rates are exponential in log-rate levels, a high-volatility, long-horizon tree can generate extremely large upper-node rates.

This can cause:

  • floating-point overflow;
  • discount factors numerically collapsing toward zero;
  • ill-conditioned option values;
  • root-finder instability.

Inspecting only the central path can miss these failures.

22. Evidence polarity

Evidence for confidence includes exact or near-exact curve repricing, stable volatility-target repricing, monotone positive discount factors, robust root convergence, stable values under grid refinement, sensible exercise boundaries, agreement with simpler analytic instruments where available, and hedge behaviour consistent with the model’s intended one-factor scope.

Evidence against confidence includes failed root brackets, large calibration residuals, extreme node-rate explosions, negative-rate market inputs incompatible with the model, option mispricing despite curve fit, sensitivity to small interpolation changes, unstable prices under grid refinement, or persistent hedge errors from omitted curve-shape factors.

23. Counterexample: perfect curve fit, wrong option prices

A tree exactly reproduces all zero-coupon bond prices but uses a flat volatility term structure when market caplet volatilities are strongly maturity-dependent.

The model prices bonds correctly and options badly.

Falsifier: reprice independent option instruments not used in the curve fit. Curve accuracy cannot validate stochastic-rate dispersion.

24. Counterexample: calibration depends on an interpolation accident

Market curve pillars occur at irregular maturities while the tree uses quarterly dates. One interpolation method produces a smooth discount curve; another creates a small local kink.

The BDT layer calibration around that date changes materially.

Falsifier: rebuild the tree under defensible interpolation alternatives. If prices move beyond tolerance, curve construction is a dominant model input and should be reported as such.

25. Counterexample: one-factor hedge failure

A callable bond is hedged against a parallel-rate move using a one-factor tree. The market then steepens: short rates rise while long rates barely move.

The hedge performs poorly even though the BDT price was internally consistent.

Falsifier: test key-rate and historical nonparallel shocks. A one-factor model cannot be validated only with parallel moves.

26. Counterexample: root finder returns a number but not the right equation

A coding error discounts one tree layer with annual compounding while the market curve uses continuous compounding. Root finding still converges because it is solving the wrong residual equation.

Falsifier: reconstruct zero-coupon prices independently from state prices and compare them with the original market discount factors using a separate implementation.

27. Alternatives

Ho–Lee uses an additive Gaussian-rate tree and can represent negative rates but has different dynamics.

Hull–White uses mean-reverting Gaussian short rates and is commonly calibrated to the initial curve plus option information.

Black–Karasinski models the log short rate with mean reversion, retaining positivity while changing BDT’s dynamics.

Heath–Jarrow–Morton begins from the entire forward-rate curve and imposes a no-arbitrage drift restriction.

LIBOR Market Models model discrete forward rates directly rather than the short rate.

28. Diagnostics checklist

  1. Validate the input discount curve independently.
  2. Confirm day-count and compounding conventions.
  3. Document the volatility object being calibrated.
  4. Reprice every calibration zero-coupon bond.
  5. Reprice volatility instruments where used.
  6. Record root brackets, iterations and convergence.
  7. Inspect extreme node rates.
  8. Verify state-price sums at every maturity.
  9. Test grid refinement.
  10. Benchmark simple instruments independently.
  11. Stress nonparallel yield-curve moves.
  12. Test negative-rate compatibility before model use.

29. Connections to the surrounding Bukit Timah Tutor knowledge estate

The discount-curve input is built in How Yield-Curve Algorithms Build the Term Structure.

For a different one-factor short-rate calibration framework, see Hull–White calibration algorithms.

Embedded optionality connects to Callable-Bond OAS algorithms, while market option inputs connect to Black-76 and Bachelier swaption algorithms.

For the forward-curve viewpoint, see Heath–Jarrow–Morton algorithms.

The full lane is indexed at Finance & Banking Algorithms | Applied Mathematics in Real Financial Systems.

30. What would falsify confidence?

Confidence should be withdrawn if the tree fails to reproduce its input discount factors; if volatility targets cannot be matched within reasonable tolerance; if root finding depends on unstable brackets; if grid refinement does not converge; if extreme nodes become numerically pathological; if negative-rate states are required but the unshifted lognormal model forbids them; or if one-factor hedge errors dominate the intended use.

31. Verification and update triggers

Preserve the input curve, volatility specification, tree dates, day counts, compounding conventions, node rates, state prices, root-finding logs, repricing residuals and grid-convergence results for each model version.

Recalibrate and review after material yield-curve moves, volatility-regime changes, new calibration instruments, convention changes, interpolation changes, entry into a negative-rate regime, or expansion of model use to products with stronger multi-factor exposure.

32. Primary and high-quality references

Educational boundary: BDT is a one-factor lattice model whose usefulness depends on the quality and compatibility of its curve, volatility and product assumptions. Calibration is not proof that the model captures every way real interest rates can move.

Discover more from Bukit Timah Tutor

Subscribe now to keep reading and get access to the full archive.

Continue reading