Technical

LIBOR Market Model Explained (2026)

Learn the LIBOR market model through forward measures, terminal-measure drift, caplet pricing, calibration, simulation and post-LIBOR limitations.

13 min read·

The market model after LIBOR

Alan Brace, Dariusz Gatarek and Marek Musiela's April 1997 paper, The Market Model of Interest Rate Dynamics, modelled discrete forward rates whose caplets followed the Black convention. Farshid Jamshidian's 1997 LIBOR and Swap Market Models and Measures gave a closely related no-arbitrage treatment of finite-tenor LIBOR and swap models.

The name survived the rate. On 30 September 2024, the last synthetic settings ceased and the FCA declared LIBOR ended. Modern implementations model term rates or compounded overnight rates linked to SOFR, SONIA, €STR and other risk-free rates. The classic LIBOR market model remains worth learning because its measure changes, volatility calibration and joint forward simulation still underpin that work.

LMM is useful when a payoff depends on many forward rates and their joint volatility. It is not a free smile model, and the single-curve textbook identity needs modification in a collateralised multi-curve market.


Tenor dates and forward measures

Fix dates 0=T0<T1<⋯<TN0=T_0<T_1<\cdots<T_N. Let δi\delta_i be the contractual day-count fraction for [Ti,Ti+1][T_i,T_{i+1}], not automatically the calendar difference Ti+1−TiT_{i+1}-T_i. In the classic single-curve model,

Li(t)=1δi(P(t,Ti)P(t,Ti+1)−1),t≤Ti.L_i(t)=\frac{1}{\delta_i} \left(\frac{P(t,T_i)}{P(t,T_{i+1})}-1\right), \qquad t\leq T_i.

The rate fixes at TiT_i and pays at Ti+1T_{i+1}. Under its own Ti+1T_{i+1}-forward measure Qi+1\mathbb Q^{i+1}, with numeraire P(t,Ti+1)P(t,T_{i+1}), standard lognormal LMM specifies

dLi(t)Li(t)=σi(t)⋅dWti+1.\frac{dL_i(t)}{L_i(t)} =\boldsymbol\sigma_i(t)\cdot d\mathbf W_t^{i+1}.

With deterministic vector volatility, Li(Ti)L_i(T_i) is lognormal and

vi2=∫0Ti∥σi(t)∥2dt.v_i^2=\int_0^{T_i}\|\boldsymbol\sigma_i(t)\|^2dt.

A caplet paying δi[Li(Ti)−K]+\delta_i[L_i(T_i)-K]^+ at Ti+1T_{i+1} has value

Ci(0)=δiP(0,Ti+1)[Li(0)N(d1)−KN(d2)],C_i(0)=\delta_iP(0,T_{i+1}) [L_i(0)N(d_1)-KN(d_2)], d1=log⁡[Li(0)/K]vi+12vi,d2=d1−vi.d_1=\frac{\log[L_i(0)/K]}{v_i}+\frac12v_i, \qquad d_2=d_1-v_i.

This exact Black formula is the model's cleanest feature. Caplet volatilities are often stripped from cap quotes rather than observed directly, so "direct calibration" still contains a bootstrapping problem.

For Li(0)=2.5%L_i(0)=2.5\%, K=2%K=2\%, Ti=2T_i=2, δi=0.5\delta_i=0.5, P(0,Ti+1)=0.94P(0,T_{i+1})=0.94 and flat 20% Black volatility, vi=0.282843v_i=0.282843. The caplet value is 0.002712 per unit notional, or 27.12 basis points of notional.


Terminal-measure drift

A multi-rate payoff needs all forwards under one measure. Under the terminal measure QN\mathbb Q^N, whose numeraire is P(t,TN)P(t,T_N),

dLi(t)Li(t)=μiN(t)dt+σi(t)⋅dWtN,\frac{dL_i(t)}{L_i(t)} =\mu_i^N(t)dt +\boldsymbol\sigma_i(t)\cdot d\mathbf W_t^N,

where

μiN(t)=−∑j=i+1N−1δjLj(t)1+δjLj(t)σi(t)⋅σj(t).\mu_i^N(t)= -\sum_{j=i+1}^{N-1} \frac{\delta_jL_j(t)} {1+\delta_jL_j(t)} \boldsymbol\sigma_i(t)\cdot\boldsymbol\sigma_j(t).

The final forward LN−1L_{N-1} has zero drift because its own forward measure is the terminal measure. Earlier forwards have a state-dependent drift involving later ones. The minus sign belongs to the terminal measure; spot and other forward measures produce different sums and signs.

If volatility is written as scalars σi\sigma_i and correlations ρij\rho_{ij}, replace the dot product by ρijσiσj\rho_{ij}\sigma_i\sigma_j. Do not include both a correlated Brownian vector and another correlation multiplier.

The finite-tenor model can be built consistently without arbitrage when the drift and numeraires are handled correctly. Calling it simply "HJM with piecewise-constant maturity volatility" is incomplete because an interpolation between tenor dates is needed before a discrete LMM becomes a full instantaneous-forward HJM model. The HJM framework provides the continuous-tenor comparison.

For a terminal-numeraire-normalised value u=V/P(t,TN)u=V/P(t,T_N), the high-dimensional backward equation has generator

ut+∑iμiNLiui+12∑i,jLiLj(σi⋅σj)uij=0.u_t+\sum_i\mu_i^NL_i u_i +\frac12\sum_{i,j} L_iL_j (\boldsymbol\sigma_i\cdot\boldsymbol\sigma_j)u_{ij}=0.

There is no −ru-ru term because the value has already been divided by the terminal numeraire. In practice, the dimension makes Monte Carlo more useful than this PDE.


Volatility, correlation and calibration

Each σi(t)\boldsymbol\sigma_i(t) has units of inverse square-root time because it is a proportional rate volatility. A low-rank factor form keeps the correlation matrix positive semidefinite and the simulation manageable. One common shape uses time to fixing x=Ti−tx=T_i-t:

g(x)=(a+bx)e−cx+d,σi(t)=ϕig(Ti−t)bi.g(x)=(a+bx)e^{-cx}+d, \qquad \boldsymbol\sigma_i(t)=\phi_i g(T_i-t)\mathbf b_i.

The loadings bi\mathbf b_i control cross-tenor correlation; ϕi\phi_i controls the caplet variance. Positivity and sensible long-end limits must be imposed rather than assumed. Piecewise-constant time buckets are less elegant but easier to audit.

Calibration has three distinct targets:

  1. Bootstrap the discount and projection curves using their own conventions.
  2. Match cap or caplet total variances ∫0Ti∥σi(t)∥2dt\int_0^{T_i}\|\boldsymbol\sigma_i(t)\|^2dt.
  3. Fit factor loadings and remaining shape parameters to selected swaption prices.

A forward swap rate is not exactly lognormal under its annuity measure in a standard forward-rate LMM. Rebonato-style approximations are useful calibration accelerators, not identities. Final prices should be checked with Monte Carlo or a controlled approximation on the instruments that matter.

Standard lognormal LMM gives each caplet a flat Black smile across strike. Displaced diffusion can create skew; local or stochastic volatility can create richer smiles. Rebonato, McKay and White's 2009 SABR/LIBOR market model is one construction, not a generic label for every smile-adjusted LMM.


A consistent Python simulation

The simulation below evolves every forward under the terminal measure with the negative drift derived above. It uses one random generator, embeds covariance in the factor loadings and freezes each rate after its fixing date.

import numpy as np def simulate_terminal_lmm(L0, accruals, fixings, factor_vols, dt, n_paths, seed=11): """Log-Euler LMM under the T_N-forward measure.""" rng = np.random.default_rng(seed) L = np.tile(np.asarray(L0, float), (n_paths, 1)) n_steps, n_rates, n_factors = factor_vols.shape for step in range(n_steps): t = step * dt sigma = factor_vols[step] z = rng.standard_normal((n_paths, n_factors)) increments = np.zeros_like(L) for i in np.flatnonzero(t < fixings): weights = (accruals[i + 1:] * L[:, i + 1:] / (1.0 + accruals[i + 1:] * L[:, i + 1:])) cov = sigma[i + 1:] @ sigma[i] drift = -(weights * cov).sum(axis=1) variance = sigma[i] @ sigma[i] increments[:, i] = ((drift - 0.5 * variance) * dt + (z @ sigma[i]) * np.sqrt(dt)) L *= np.exp(increments) return L

The time grid must contain every fixing date; otherwise a step can evolve a rate beyond its fixing. The code assumes positive initial forwards. Negative or near-zero forwards need a shifted-lognormal or normal model. A production implementation also stores path values at exercise and payment dates, discounts under the chosen numeraire and tests time-step bias. Log-Euler preserves positivity, not the exact joint transition, because the drift is stochastic.

The drift loop is quadratic in the number of forwards. Factor reduction, predictor-corrector drift and vectorisation can reduce cost, but each approximation should be benchmarked on prices and Greeks rather than runtime alone.


What changed after LIBOR

Classic single-curve LMM uses the same P(t,T)P(t,T) both to discount cash flows and to define forward LIBOR. Collateralised markets separate OIS discounting from projection curves. An IBOR forward built from a projection curve is not literally the ratio of two tradable OIS discount bonds, so multi-curve models require extra basis processes or a consistent collateralised construction.

Overnight risk-free rates create another timing issue. SONIA, SOFR and €STR coupons are commonly compounded in arrears from realised daily fixings. A forward-looking term rate and a future compounded-in-arrears rate are different underlyings. The 2021 ISDA Definitions document lookbacks, observation shifts, lockouts and compounding choices that a model payoff must reproduce.

So the post-LIBOR adjustment is not merely renaming LiL_i. Discounting, projection, basis, fixing timing and compounding conventions all matter. The market-model idea remains useful, but the state variables must match the contract.

For low-dimensional callable products, Hull-White may be quicker and easier to hedge. For descriptive curve fitting, Nelson-Siegel is simpler still. LMM earns its cost when the joint forward-rate distribution is genuinely part of the payoff.


References


Frequently Asked Questions

Is each forward rate driftless in LMM?

Only under its own payment-date forward measure. Under a common terminal measure, earlier forwards have the negative state-dependent drift shown above.

Why does Black's caplet formula hold exactly?

With deterministic volatility, the relevant forward rate is lognormal under its own forward measure. Discounting the payoff by the payment-date bond then gives Black's formula.

Does standard LMM fit the swaption smile?

No. Deterministic lognormal LMM is flat in strike for each caplet, and swaption Black volatilities are only approximately linked to its forward volatilities. Smile needs an extension.

Is LMM simply a discrete HJM model?

It is a no-arbitrage finite-tenor market model closely related to HJM. A continuous-tenor HJM embedding additionally requires an interpolation rule between tenor dates.

Can LMM produce negative rates?

Standard lognormal LMM cannot. Shifted-lognormal or normal dynamics are used when the market can be zero or negative.

Is LMM obsolete now that LIBOR has ended?

No, but its state variables must be updated. Market models are still used for forward term rates and compounded RFR-related quantities, with OIS discounting, basis and in-arrears conventions handled explicitly.

Skip the £25k programme - try the alternative

Master's programmes are slow and expensive. Quantt is a self-paced alternative. Start free with a real lesson and interview practice, then unlock 50+ courses and your personalised plan.

Free to start · No credit card required