Skip to content

FRM Part II · FRM Exam Part II

The Art of Term Structure Models: Drift: formula sheet

Full chapter guide

Key formulas

General one-factor short-rate model
dr = (drift) dt + σ dw
dw is a normal shock with mean 0 and variance dt. Drift is the expected change per unit time under the pricing measure.
Model 1: constant volatility, zero drift
dr = σ dw
Rates are normal and can be negative. Expected future short rate equals today's rate. It does not fit the curve in general.
Constant drift model
dr = λ dt + σ dw
λ is the risk-neutral drift. A single constant cannot fit a whole curve.
Ho-Lee (time-dependent drift)
dr = λ(t) dt + σ dw
λ(t) is chosen so the model matches the market zero curve. This is arbitrage-free.
Vasicek (mean reversion)
dr = k(θ − r) dt + σ dw
k is the speed of reversion and θ the long-run level. An equilibrium model; drift is positive when r is below θ.
Zero-coupon bond price
P(T) = E[ e^(−∫r dt) ] under risk-neutral measure
Price is the risk-neutral expected discount factor, not the discount at the expected rate.
Convexity effect
E[e^(−x)] ≥ e^(−E[x])
Jensen's inequality. Volatility raises bond prices, so drift must be adjusted to hold the fitted curve.
Model 1 dynamics
dr = σ dw
Zero drift and constant volatility. σ is in decimals per √year (1% = 0.01).
Distribution of the short rate
r(t) ~ Normal(r₀, σ²t)
Expected future short rate equals today's rate.
Zero-coupon bond price
P(T) = exp(−r₀T + σ²T³/6)
Risk-neutral price of 1 paid at T, continuous compounding.
Spot rate
r̂(T) = r₀ − σ²T²/6
Equal to −ln P(T) ÷ T. The convexity term lowers the spot rate.
Instantaneous forward rate
f(T) = r₀ − σ²T²/2
Equal to −d ln P(T)/dT. Drops faster than the spot rate.
Convexity effect in the spot rate
σ²T²/6
Grows with the square of maturity and of volatility.
Model 2 rate process
dr = λdt + σdw
λ is the constant risk-neutral drift per year; σ is annual volatility in rate units; dw is a normal shock.
Expected short rate
E[r(t)] = r0 + λt
Rates drift linearly. The rate distribution is normal with standard deviation σ√t.
Spot rate (continuous compounding)
Ẑ(T) = r0 + λT/2 − σ²T²/6
Drift term is linear in T, convexity term is quadratic. Use this to describe curve shape.
Zero-coupon bond price
Z(T) = exp(−r0T − λT²/2 + σ²T³/6)
Ẑ(T) = −ln Z(T) ÷ T gives the spot rate formula above.
Risk-neutral drift
λ = real-world drift + risk premium component
Pricing uses the risk-neutral drift. Real-world drift is for forecasting.
Spot rate with zero drift (Model 1)
Ẑ(T) = r0 − σ²T²/6
Setting λ = 0 gives Model 1, a downward-bending curve.
Ho-Lee short-rate process
dr = λ(t)dt + σdw
λ(t) is the time-dependent drift. σ is constant. There is no mean reversion.
Binomial tree step
r(up) = r + λ(t)dt + σ√dt; r(down) = r + λ(t)dt − σ√dt
Each branch has risk-neutral probability 0.5. The tree recombines.
Node spacing
Gap between adjacent nodes = 2σ√dt
Drift shifts all nodes together and does not change the gap.
Zero-coupon bond price by backward induction
P(node) = 0.5 × [P(up) + P(down)] ÷ (1 + r × dt)
Use the rate at the node where you are discounting. Start from the par value at maturity.
Continuous-time drift fitted to the forward curve
λ(t) = ∂f(0,t)/∂t + σ²t
The first term is the slope of the instantaneous forward curve. The second is a convexity term.
Vasicek process (for comparison)
dr = k(θ − r)dt + σdw
Mean reversion at speed k toward θ. Does not fit the curve exactly.
Vasicek dynamics
dr = k(θ − r)dt + σdw
k is the speed of reversion, θ the long-run mean, σ the constant normal (basis-point) volatility, dw a normal shock.
Expected future short rate
E[r(T)] = θ + (r₀ − θ)e^(−kT)
The gap between r₀ and θ shrinks by the factor e^(−kT). As T gets large, E[r(T)] approaches θ.
Variance of future short rate
Var[r(T)] = σ²(1 − e^(−2kT)) ÷ (2k)
Rises with T but levels off. Long-run standard deviation is σ ÷ √(2k). Compare with Ho-Lee, where variance is σ²T and keeps growing.
Half-life of a shock
Half-life = ln(2) ÷ k
Time for the gap between the rate and θ to halve in expectation.
Bond price
P(T) = A(T) e^(−B(T) r), with B(T) = (1 − e^(−kT)) ÷ k
B(T) is the sensitivity of ln P to the short rate. A(T) depends on k, θ and σ and is usually given.
Yield volatility by maturity
Volatility of T-year yield = σ × B(T) ÷ T
This is below σ for any k > 0 and falls as T rises. As k → 0, B(T) ÷ T → 1 and the volatility goes to σ, as in Ho-Lee.
Bond price volatility
Volatility of dP ÷ P = σ × B(T)
Use B(T) as a duration-like measure for the short-rate factor.
Vasicek (normal, mean-reverting)
dr = k(θ − r)dt + σ dw
Basis-point volatility is constant at σ. Rates can go negative.
CIR model
dr = k(θ − r)dt + σ√r dw
Enter r as a decimal (4% = 0.04). Then σ√r is the annual rate volatility in decimal form. For example σ = 0.10 and r = 0.04 gives 0.10 × 0.2 = 0.02 = 2% a year = 200 bps. Do not use √4.
Lognormal model with time-dependent drift (lognormal analogue of Ho-Lee)
dr = a(t)·r dt + σ·r dw
Basis-point volatility = σ × r. For this specific form the rate is lognormal and stays positive. σ is percentage volatility. Ho-Lee itself is a normal model with constant volatility.
Black-Karasinski
d(ln r) = k(t)(ln θ(t) − ln r)dt + σ(t)dw
Lognormal with mean reversion in the log of the rate. Rate stays positive. Constant k, θ and σ give a simplified special case.
Feller condition (CIR)
2kθ ≥ σ²
If satisfied, the CIR rate cannot reach zero.
Rate volatility over horizon dt
Volatility over dt = (annual volatility function) × √dt
dt is in years. Scale by √dt when converting an annual figure to a shorter or longer horizon.

Quick revision

  • Every model here is dr = (drift) dt + (volatility) dw. The drift is the expected change in the rate.
  • Model 1 has zero drift and constant volatility: dr = σ dw. The expected future short rate equals today's rate.
  • Model 2 adds a constant drift: dr = λσ dt + σ dw. The drift can be read as a risk premium.
  • With constant drift μ, the spot rate is about r0 + μT/2 − σ²T²/6. The last term is the convexity effect.
  • Convexity lowers spot rates, and the effect grows with the square of maturity and with volatility squared.
  • Ho-Lee: dr = λ(t) dt + σ dw. Drift is time-dependent, volatility is constant, and there is no mean reversion.
  • Ho-Lee drift is chosen to fit market bond prices, so it matches today's curve exactly.
  • Vasicek: dr = k(θ − r) dt + σ dw. The rate is pulled toward θ at speed k.
  • Vasicek expected rate: E[r(t)] = θ + (r0 − θ)e^(−kt). Example: r0 = 4%, θ = 6%, k = 0.5, t = 2 gives 6% − 2% × e^(−1) ≈ 5.26%.
  • Half-life of the gap to the long-run rate is ln 2 ÷ k. If k = 0.25, it is about 2.77 years.
  • Normal models, including Ho-Lee and Vasicek, allow negative rates.
  • CIR: dr = k(θ − r) dt + σ√r dw. Volatility falls as the rate falls, which keeps rates from going negative. A lognormal model has volatility proportional to r and also keeps rates positive.

Common mistakes

  • Treating the risk-neutral drift as a forecast of future rates. Fix: Remember it is the drift under the pricing measure, chosen for no-arbitrage, and it includes risk premium and convexity effects.
  • Saying equilibrium models fit today's curve exactly. Fix: Equilibrium models generate the curve from their parameters. Arbitrage-free models take the curve as input and fit it.
  • Using σ²T²/2 for the spot rate Fix: Remember that spot is the average of forwards. Averaging r₀ − σ²t²/2 over 0 to T gives r₀ − σ²T²/6.
  • Putting σ in percent into the formula Fix: Convert to decimals first: 1% = 0.01, 100 bp = 0.01.
  • Treating λ as the real-world expected drift in pricing questions Fix: Say it out loud: pricing uses risk-neutral drift, which includes the risk premium. Real-world drift is a different number.
  • Using σ in basis points without converting Fix: Convert to decimals first: 100 bp = 0.01. Then σ² = 0.0001.
  • Adding a mean-reversion term to Ho-Lee. Fix: In Ho-Lee, the drift depends only on time, never on the current rate. Mean reversion appears only in Vasicek.
  • Applying the drift only to the up branch. Fix: The drift λ(t)dt is added to both branches. Only the σ√dt shock has opposite signs.
  • Treating θ as the current short rate or as the expected rate at every horizon. Fix: θ is only the long-run level. The expected rate moves from r₀ toward θ by the factor e^(−kT), and reaches θ only as T → ∞.
  • Using e^(−kT) in the variance formula instead of e^(−2kT). Fix: Variance has (1 − e^(−2kT)) ÷ (2k). The variance is a squared quantity, so the exponent doubles.

Exam tips

  • Expect classification questions: equilibrium or arbitrage-free, and which parameter does what. Learn the model names with their drift forms.
  • Always scale volatility by √time and drift by time. Many wrong options use the wrong scaling.
  • Read whether the question asks for the real-world or risk-neutral view. Pricing uses risk-neutral drift.
  • In conceptual options, look for words like 'forecast' attached to drift. That is often the trap.
  • Link drift to convexity: if an option says volatility raises bond prices through convexity, it is usually correct.
  • Questions usually give σ in basis points. Convert it to decimals before squaring, or use the bp shortcut.
  • Expect a conceptual question: why spot rates fall with maturity when drift is zero. The answer is convexity, not expectations of lower rates.
  • Remember the ratio: the forward-rate effect is three times the spot-rate effect (σ²T²/2 versus σ²T²/6).