The Vasicek Model

Every price we've built so far in this module — bond options, caplets, swaptions — leaned on Black's model, which treats a forward price or rate as lognormal and prices one option at a time. That's fine for quoting a single instrument against the market's own volatility, but it can't answer a different, harder question: what does the entire yield curve look like tomorrow, next month, in ten years — consistently, all at once? To simulate a whole curve evolving through time, you need a model of the thing that (in a sense) drives it: the instantaneous short rate r(t), the interest rate earned over the next instant. Oldrich Vasicek's 1977 model was the first to make that idea tractable, and it's still the simplest short-rate model every practitioner learns first.

An interest rate on a leash

The Vasicek model writes the short rate as a stochastic differential equation:

dr = a(b - r)\,dt + \sigma\,dW.

Read it exactly like any other SDE: a drift term plus a Brownian shock. The drift a(b - r) is what makes this model distinctive — it's a restoring force, exactly like a rate on a leash pinned to a long-run level b:

This is called mean reversion, and it's a genuinely better story about interest rates than the driftless (or constantly drifting) random walk that Black–Scholes assumes for a stock price. Stock prices really can wander off to any level and stay there; interest rates, historically, keep drifting back toward some normal range — central banks actively fight to keep them there.

The chart plots the drift a(b-r) itself, as a function of the current rate r. It's a straight line crossing zero exactly at r = b: positive (pulling up) to the left of b, negative (pulling down) to the right. Drag a up and the line gets steeper — a stronger pull, faster reversion, for the same distance from b.

A closed-form bond price — for free

Because the drift and diffusion are both simple (affine) functions of r, Vasicek's model belongs to the family of affine term-structure models: the price of a zero-coupon bond comes out in exact closed form, with no simulation and no tree needed.

The time-t price of a bond paying $1 at T, given the current short rate r(t), is

P(t,T) = A(t,T)\,e^{-B(t,T)\,r(t)},

You don't need to re-derive this to use it — treat it the way you already treat the Black–Scholes formula: plug in a, b, \sigma, and today's short rate, and read off a whole curve of bond prices (one for every T) in one shot. That is Vasicek's real selling point over a tree: an entire yield curve, for any horizon, from four numbers.

Worked example. Take a = 0.1, b = 0.05, \sigma = 0.01, a current short rate r_0 = 0.03, and price a 5-year zero.

Step 1 — B(0,5).

B = \frac{1 - e^{-0.1\times 5}}{0.1} = \frac{1 - e^{-0.5}}{0.1} = \frac{1 - 0.6065}{0.1} = 3.935.

Step 2 — A(0,5). With a^2 b = 0.0005 and \tfrac12\sigma^2 = 0.00005:

A = \exp\!\left[\frac{(3.935 - 5)(0.00045)}{0.01} - \frac{(0.0001)(3.935)^2}{0.4}\right] = \exp[-0.0479 - 0.0039] = e^{-0.0518} \approx 0.9495.

Step 3 — assemble.

P(0,5) = 0.9495\times e^{-3.935\times 0.03} = 0.9495\times e^{-0.1181} \approx 0.9495\times 0.8886 \approx 0.844.

An 84.4-cents-on-the-dollar five-year zero — an implied continuously-compounded yield of about -\ln(0.844)/5 \approx 3.40\%, a touch above today's short rate, since the model expects r to drift up toward b = 5\% over the five years.

Because dr = a(b-r)dt + \sigma\,dW has constant \sigma and linear drift, it's an Ornstein–Uhlenbeck process: at any future date, r(T) is exactly normally distributed, with a mean that decays toward b and a variance that settles down to a finite \sigma^2/(2a) no matter how far out you look. That Gaussian shape is exactly what makes the bond-price formula come out in closed form — but a normal distribution has support on the whole real line. There is always some — usually tiny, but strictly positive — probability that r(T) < 0. For most of Vasicek's history this was filed under "obviously unrealistic, but the effect is negligible for reasonable parameters." Then the mid-2010s happened, and European and Japanese government yields genuinely went negative for years — a reminder that a modelling "flaw" is only a flaw relative to the world you happen to be calibrating to.

It's tempting to read b as "the interest rate the model predicts for the distant future." That's not quite right, and it matters for how you use the model. b is the level the short rate reverts to — but the model's own bond prices, computed today from today's r_0, will almost never exactly match the real, currently-observed market yield curve, because Vasicek fixes a, b, and \sigma as constants for all maturities at once — a single number b cannot simultaneously explain a curve that's humped, inverted, or kinked at different horizons in the market today. If you need a model whose bond prices exactly reproduce today's curve — essential for pricing new derivatives consistently with what the market already quotes — you need the next lesson's fix.