Skip to content

FRM Part II · FRM Exam Part II

The Vasicek and Gauss+ Models: formula sheet

Full chapter guide

Key formulas

Vasicek short-rate dynamics
dr = k(θ − r)dt + σdW
k = speed of reversion, θ = long-run rate, σ = constant volatility. The drift is k(θ − r), not kθ.
Expected change over a short interval
E[dr] = k(θ − r)dt
Positive when r < θ, negative when r > θ.
Expected future short rate
E[r(t)] = θ + (r0 − θ)e^(−kt)
Gap to θ decays at rate k. As t grows, the expected rate tends to θ.
Half-life of mean reversion
Half-life = ln(2) ÷ k ≈ 0.693 ÷ k
Time for the expected gap to θ to halve. k is per year, so the result is in years.
Variance of short rate over time t
Var[r(t)] = σ² (1 − e^(−2kt)) ÷ (2k)
Tends to σ² ÷ (2k) as t grows, so long-run standard deviation is σ ÷ √(2k).
Special case
k = 0 gives dr = σdW
No mean reversion: normal model with zero drift.
Short-rate dynamics
dr = a(b − r)dt + σdW
a = speed of reversion, b = long-run rate, σ = absolute (normal) volatility. In pricing, b is the risk-neutral level.
Bond price
P(τ) = A(τ) × exp(−B(τ) × r)
Price of a zero-coupon bond paying 1 at maturity τ, given the current short rate r.
B function
B(τ) = (1 − e^(−aτ)) ÷ a
Rate sensitivity. It rises with τ and tends to 1/a.
A function
ln A(τ) = (B(τ) − τ) × (b − σ² ÷ (2a²)) − σ² × B(τ)² ÷ (4a)
Risk-neutral form. The exact algebra varies by text, so check how the question defines A.
Spot rate
R(τ) = −ln P(τ) ÷ τ = (B(τ) × r − ln A(τ)) ÷ τ
Continuously compounded spot rate.
Long-maturity spot rate
R(∞) = b − σ² ÷ (2a²)
Risk-neutral b. Lower than b because of convexity.
Expected short rate
E[r(t)] = b + (r₀ − b) × e^(−at)
Under the dynamics as specified. The gap to b decays at rate a.
Vasicek short-rate process
dr = k(θ − r)dt + σ dw
k is the speed of mean reversion, θ the long-run rate, σ the constant normal volatility. Hull-White writes the same thing as dr = a(b − r)dt + σ dz.
Zero-coupon bond price
P(τ) = A(τ) × e^(−B(τ) r), with B(τ) = (1 − e^(−kτ)) ÷ k
B is the rate sensitivity of the bond. It rises with τ but flattens out near 1/k because of mean reversion.
Bond-price volatility at option expiry
σ_P = σ × B(S − T) × √[(1 − e^(−2kT)) ÷ (2k)]
T is option expiry, S is bond maturity. Use B for the bond's remaining life S − T, not for S.
Call on a zero-coupon bond
C = P(0,S) N(h) − K P(0,T) N(h − σ_P)
K is the strike on bond price at T. P(0,S) and P(0,T) are today's discount factors.
Put on a zero-coupon bond
Put = K P(0,T) N(σ_P − h) − P(0,S) N(−h)
Check with put-call parity: C − Put = P(0,S) − K P(0,T).
Parameter h
h = ln[P(0,S) ÷ (P(0,T) K)] ÷ σ_P + σ_P ÷ 2
The log term compares the forward bond price with the strike.
Model comparison
Vasicek: constant drift parameters. Ho-Lee: time-dependent drift, no mean reversion. Hull-White: time-dependent drift plus mean reversion.
Only the time-dependent drift models fit today's curve exactly.
Short rate as sum of factors (Gaussian core)
r(t) = θ(t) + x₁(t) + x₂(t) + … + xₙ(t)
This is the Gaussian multifactor core, not the full Gauss+ model. θ(t) is a deterministic term. Each xᵢ is a Gaussian factor. The number of factors n is a specification choice. Whether the moves look like level, slope or curvature depends on loadings and correlations. Gauss+ adds a non-Gaussian component beyond this sum: volatility that depends on the level of the short rate, giving a skew effect. Check your reading for its exact form.
Factor dynamics
dxᵢ = −kᵢ xᵢ dt + σᵢ dWᵢ
kᵢ is the mean-reversion speed and σᵢ the volatility of factor i. The factors can be correlated through their Brownian motions.
Expected factor value
E[xᵢ(t)] = xᵢ(0) × e^(−kᵢt)
A higher k means the factor decays faster. A low k means a persistent, level-like factor.
Factor variance
Var[xᵢ(t)] = σᵢ² × (1 − e^(−2kᵢt)) ÷ (2kᵢ)
As t grows, variance tends to σᵢ² ÷ (2kᵢ). As k tends to 0, it tends to σᵢ²t.
Half-life of a factor
Half-life = ln(2) ÷ k
The time for the expected deviation to halve. Useful to classify a factor as slow or fast.
Vasicek (one factor) for comparison
dr = k(θ − r)dt + σ dW
One shock, one speed, one long-run mean. Gauss+ generalises this to several factors.
Total volatility from two correlated factors
σ_total = √(σ₁² + σ₂² + 2ρσ₁σ₂)
Applies when a rate is the sum of two factor shocks with equal weights. ρ is the correlation between the factors. With ρ = 0 it reduces to √(σ₁² + σ₂²).
Mean-reverting Gaussian factor (generic form)
dx = −k·x·dt + σ·dW
k is the speed of mean reversion and σ is the volatility. Higher k makes shocks to that factor decay faster. The long-run (stationary) standard deviation of the factor is σ/√(2k), which falls as k rises. This is a generic form; check the exact specification in your reading.
Calibration objective
minimise Σ (model price − market price)² over the volatility parameters
The curve fit is exact by construction of the drift or shift term, so it is not part of this search. The objective applies to the volatility fit: parameters are chosen to match cap, floor or swaption prices or implied volatilities as closely as possible. This is a least-squares fit and usually leaves some residual error.
Multi-factor hedge conditions
Σ nᵢ × sensitivity of instrument i to factor j = − portfolio sensitivity to factor j, for every factor j
You need at least as many hedge instruments as factors. Solve all the equations together.
Relative value signal
Rich/cheap = market price − model price
A positive value means the instrument looks rich versus the model. It is only a signal if the model is well calibrated.

Quick revision

  • Vasicek: dr = k(θ − r)dt + σdw, a one-factor mean-reverting short rate.
  • k is the speed of mean reversion, θ is the long-run level, σ is the volatility of the short rate.
  • If r is above θ the expected change is negative. If r is below θ it is positive.
  • Expected rate: E[r_t] = θ + (r₀ − θ)e^(−kt).
  • Long-run variance of the short rate is σ² ÷ (2k).
  • Half-life of a deviation from θ is ln 2 ÷ k.
  • Short rates are normally distributed, so negative rates are possible.
  • Zero-coupon price: P = A × e^(−B × r), where B = (1 − e^(−kτ)) ÷ k.
  • Higher k means the short rate has less effect on long-maturity bond prices.
  • Vasicek gives closed-form prices for zero-coupon bond options.
  • The basic Vasicek model cannot fit any observed term structure exactly.
  • Gauss+ is a multifactor model, so it can capture changes in curve shape, not only parallel-like moves.

Common mistakes

  • Using kθ as the drift instead of k(θ − r). Fix: Always compute the gap θ − r first, then multiply by k.
  • Reading θ as the expected rate after one step. Fix: θ is the level the rate tends to over the long run. Each step covers only a fraction of the gap.
  • Using B(τ) = τ Fix: Use B(τ) = (1 − e^(−aτ)) ÷ a. It is always less than τ when a > 0.
  • Forgetting that the long yield is below b Fix: In the risk-neutral form, the long yield is b − σ² ÷ (2a²). The convexity term pulls it down.
  • Using σ as the bond-price volatility in the option formula. Fix: Always build σ_P = σ × B(S − T) × √[(1 − e^(−2kT)) ÷ (2k)] first.
  • Using B(S) instead of B(S − T) in σ_P. Fix: The option cares about the bond's remaining life after expiry, which is S − T.
  • Saying Gauss+ and Vasicek differ because Gauss+ is not Gaussian. Fix: Gauss+ shares the Gaussian core with Vasicek. The main differences are multiple factors versus one, plus the non-Gaussian component that Gauss+ adds beyond the Gaussian factors.
  • Assuming the fastest-reverting factor is the level factor. Fix: A fast factor fades quickly, so it cannot shift long rates. The slowest factor is the best candidate for level.
  • Saying Gauss+ calibration fits the curve and volatilities equally well. Fix: Remember that the curve fit is normally designed to be exact, through the model's drift or shift terms as set out in your reading. Volatilities are fitted by minimising errors, and some error remains.
  • Hedging a multifactor model with a single DV01 hedge. Fix: Hedge each factor separately. A DV01 hedge can leave slope or curvature risk if the factors are not all offset.

Exam tips

  • Questions are often conceptual: direction of drift, effect of raising k, or what the model implies about negative rates. Settle these before computing.
  • Check units. If σ is annual and the step is monthly, scale by √(1/12).
  • If an option says volatility falls as rates approach zero, that is CIR, not Vasicek.
  • Remember Vasicek is the mean-reverting extension of the normal model with constant drift and volatility. Link it to Ho-Lee, where drift is time-dependent but there is no reversion.
  • Use the half-life ln(2) ÷ k as a fast sense check: k = 0.7 gives about 1 year.
  • Know the shape logic cold: short rate below the long-run level means an upward curve, above means downward.
  • Memorise B(τ) = (1 − e^(−aτ)) ÷ a and the long-yield limit b − σ² ÷ (2a²). Most numeric questions use them.
  • If A(τ) is given, the question is a quick substitution. Do not rederive it.