FRM Part II · FRM Exam Part II
The Art of Term Structure Models: Drift: formula sheet
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).