Finance15 min read·

Vasicek Model: Interest Rate Modelling Explained 2026

A practical guide to the Vasicek model - the mathematics of this classic interest rate model, parameter interpretation, bond pricing, Python simulation, and comparison with other short-rate models.

What Is the Vasicek Model?

The Vasicek model is a mathematical model for the evolution of interest rates, first published by Oldrich Vasicek in 1977. It was one of the earliest frameworks to describe interest rate dynamics using stochastic calculus, and it remains one of the most widely taught and referenced short-rate models in quantitative finance.

The core idea is simple: interest rates don't wander aimlessly. They tend to drift back toward a long-run average level. When rates are unusually high, economic forces push them down. When they're unusually low, they tend to rise. The Vasicek model captures this behaviour through a mean-reverting stochastic process - the short rate is pulled toward a long-term equilibrium, but random shocks continuously push it around that level.

Before Vasicek's paper, pricing interest rate derivatives lacked a rigorous mathematical foundation. His model changed that by providing a consistent no-arbitrage framework where bond prices, yield curves, and interest rate derivatives could all be derived from a single stochastic process for the short rate. The model produces closed-form solutions for zero-coupon bond prices, which made it immediately practical for bond trading and risk management.

In 2026, the Vasicek model is rarely used as a standalone production model for pricing complex derivatives. Its assumptions are too restrictive for that. But it's essential for three reasons: it introduces the fundamental concepts behind all short-rate models, it provides analytical formulas that serve as benchmarks, and its mean-reversion framework underpins the more sophisticated models that trading desks actually use. If you're studying fixed income quantitative finance, the Vasicek model is where you start.


The Vasicek Model Equation

The Vasicek model defines the instantaneous short rate r(t) through a single stochastic differential equation:

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

This is an Ornstein-Uhlenbeck process applied to interest rates. Each component has a clear economic interpretation:

  • dr - the infinitesimal change in the short rate over time
  • a - the speed of mean reversion (how fast rates are pulled back to the long-run mean)
  • b - the long-run mean level of the short rate (the equilibrium interest rate)
  • r - the current short rate
  • sigma - the instantaneous volatility of the short rate
  • dW - the increment of a standard Brownian motion, representing the random shocks

The deterministic part, a(b - r) dt, is the mean-reverting drift. When the current rate r is above the long-run mean b, the term (b - r) is negative, so the drift pushes rates downward. When r is below b, the drift pushes rates upward. The parameter a controls how aggressively this pull operates - larger a means rates snap back faster.

The stochastic part, sigma dW, adds continuous random noise. The volatility sigma is constant and doesn't depend on the level of the rate - this is one of the model's key simplifications and the source of both its analytical tractability and its most discussed limitation.

The combination of mean reversion and constant volatility means the short rate follows a normal distribution at any future time. Given a current rate r(0), the distribution of r(t) is:

r(t) ~ Normal(b + (r(0) - b) * exp(-a * t), (sigma^2 / (2a)) * (1 - exp(-2a * t)))

The mean converges to b as t grows, and the variance converges to sigma^2 / (2a). This stationary distribution fully characterises the long-run behaviour of the model.


Understanding the Parameters

Each parameter in the Vasicek model controls a specific aspect of how interest rates evolve. Getting the right intuition for these parameters is essential for both calibration and interpreting model output.

ParameterNameTypical RangeWhat It Controls
aSpeed of mean reversion0.01 - 1.0How quickly rates revert to the long-run mean
bLong-run mean rate0.02 - 0.08The equilibrium level rates are pulled toward
sigmaVolatility0.005 - 0.03The magnitude of random fluctuations
r(0)Initial short rateMarket observableThe starting value of the short rate

Speed of mean reversion (a). This determines the half-life of a rate deviation. If rates are 2% above the long-run mean, a higher value of a means they'll be pulled back faster. The half-life of a shock is ln(2) / a. With a = 0.5, a deviation has a half-life of about 1.4 years. With a = 0.1, the half-life stretches to nearly 7 years. Central bank policy regimes, structural economic factors, and investor expectations all contribute to observed mean reversion speeds. In practice, a tends to be low for major developed economies, reflecting the persistence of interest rate cycles.

Long-run mean rate (b). This is the gravity centre for the short rate. Over long horizons, the model predicts rates will spend most of their time near this level. Setting b is inherently a view on the long-run equilibrium of monetary policy. In a low-rate environment, b might be 2-3%. In a higher-rate regime, it could be 5-6%. The choice of b has a large impact on the shape of the long end of the yield curve.

Volatility (sigma). This is the standard deviation of the rate's continuous random fluctuations. Unlike the Cox-Ingersoll-Ross model, the Vasicek model uses additive noise - sigma doesn't depend on the current level of r. This means the model produces the same magnitude of random fluctuations whether rates are at 1% or at 10%. The annualised volatility of the short rate in the stationary distribution is sigma / sqrt(2a).

Initial short rate (r(0)). This is simply the current short rate observed in the market. It's not a parameter you calibrate - it's a market input. The relationship between r(0) and b determines whether the model-implied yield curve slopes upward (r(0) < b), downward (r(0) > b), or is flat (r(0) = b) at the short end.


Bond Pricing Under the Vasicek Model

One of the Vasicek model's greatest strengths is that it produces closed-form solutions for zero-coupon bond prices. You don't need simulation or numerical methods - you can write down exact formulas.

The price at time t of a zero-coupon bond maturing at time T, paying 1 at maturity, is:

P(t, T) = exp(A(t, T) - B(t, T) * r(t))

where:

B(t, T) = (1 - exp(-a * (T - t))) / a

A(t, T) = (B(t, T) - (T - t)) * (b - sigma^2 / (2 * a^2)) - sigma^2 * B(t, T)^2 / (4 * a)

These formulas give you bond prices as a function of the current short rate r(t) and the time to maturity (T - t). The bond price is an exponential-affine function of the short rate - this affine structure is what makes everything tractable.

From bond prices, you can derive the continuously compounded yield:

y(t, T) = -ln(P(t, T)) / (T - t)

This gives you the entire yield curve for any set of parameters. The Vasicek model can produce three main yield curve shapes:

Upward sloping (normal). When r(0) is below b, the model expects rates to rise toward the long-run mean, so long-term yields are higher than short-term yields. This is the most common shape.

Downward sloping (inverted). When r(0) is well above b, rates are expected to fall. Long-term yields end up below short-term yields. The bond market is pricing in rate cuts.

Humped. Under certain parameter combinations, the yield curve rises initially then falls at very long maturities. The convexity effect - the mathematical benefit of rate volatility on bond prices - can cause long-term yields to decline, creating a hump.

The ability to generate these realistic shapes from a simple three-parameter model is one reason the Vasicek framework has been so influential. However, the model cannot exactly fit an arbitrary initial yield curve observed in the market. The Hull-White extension addresses this limitation by making the long-run mean time-dependent.


Simulating the Vasicek Model in Python

Monte Carlo simulation is a practical way to generate interest rate paths under the Vasicek model. The exact discretisation for the Ornstein-Uhlenbeck process means we can simulate without discretisation bias.

import numpy as np import matplotlib.pyplot as plt def vasicek_simulate( r0: float, a: float, b: float, sigma: float, T: float, n_steps: int = 252, n_paths: int = 1_000, seed: int = 42, ) -> dict: """ Simulate interest rate paths under the Vasicek model using the exact discretisation of the OU process. """ rng = np.random.default_rng(seed) dt = T / n_steps times = np.linspace(0, T, n_steps + 1) rates = np.zeros((n_paths, n_steps + 1)) rates[:, 0] = r0 # Exact discretisation parameters exp_a_dt = np.exp(-a * dt) mean_factor = 1 - exp_a_dt std_step = sigma * np.sqrt((1 - np.exp(-2 * a * dt)) / (2 * a)) for i in range(n_steps): Z = rng.standard_normal(n_paths) rates[:, i + 1] = ( rates[:, i] * exp_a_dt + b * mean_factor + std_step * Z ) return {"times": times, "rates": rates} def vasicek_bond_price( r: float, a: float, b: float, sigma: float, tau: float ) -> float: """Zero-coupon bond price under the Vasicek model.""" B = (1 - np.exp(-a * tau)) / a A = (B - tau) * (b - sigma**2 / (2 * a**2)) - ( sigma**2 * B**2 / (4 * a) ) return np.exp(A - B * r) # --- Parameters --- r0 = 0.03 # current short rate: 3% a = 0.5 # speed of mean reversion b = 0.05 # long-run mean rate: 5% sigma = 0.01 # volatility T = 10.0 # simulate 10 years n_steps = 2520 # daily steps over 10 years n_paths = 500 # --- Simulate paths --- result = vasicek_simulate(r0, a, b, sigma, T, n_steps, n_paths) # --- Plot sample paths --- fig, axes = plt.subplots(1, 2, figsize=(14, 5)) # Left panel: rate paths for i in range(50): axes[0].plot( result["times"], result["rates"][i] * 100, alpha=0.3, lw=0.7 ) axes[0].axhline(b * 100, color="red", ls="--", lw=1.5, label=f"Long-run mean = {b*100:.1f}%") axes[0].set_xlabel("Time (years)") axes[0].set_ylabel("Short rate (%)") axes[0].set_title("Vasicek Model: Simulated Rate Paths") axes[0].legend() # Right panel: yield curve maturities = np.arange(0.25, 30.25, 0.25) yields = [] for tau in maturities: P = vasicek_bond_price(r0, a, b, sigma, tau) y = -np.log(P) / tau yields.append(y * 100) axes[1].plot(maturities, yields, color="navy", lw=2) axes[1].set_xlabel("Maturity (years)") axes[1].set_ylabel("Yield (%)") axes[1].set_title("Vasicek Model: Implied Yield Curve") axes[1].axhline(b * 100, color="red", ls="--", lw=1.5, label=f"Long-run mean = {b*100:.1f}%") axes[1].legend() plt.tight_layout() plt.show() # --- Print bond prices for selected maturities --- print("Zero-coupon bond prices (Vasicek model)") print(f"Parameters: r0={r0}, a={a}, b={b}, sigma={sigma}") print("-" * 42) for tau in [1, 2, 5, 10, 30]: P = vasicek_bond_price(r0, a, b, sigma, tau) y = -np.log(P) / tau * 100 print(f" Maturity {tau:2d}y: Price = {P:.6f}, Yield = {y:.3f}%")

A few things to note about this implementation:

Exact discretisation. Unlike a naive Euler scheme, this code uses the exact solution of the Ornstein-Uhlenbeck process. Each step draws from the conditional Gaussian distribution of r(t + dt) given r(t), so there's no discretisation error regardless of step size. This is a luxury specific to the Vasicek model - most short-rate models require approximate discretisation.

Negative rates. If you run the simulation with the parameters above, some paths will dip below zero. This isn't a bug - it's a fundamental property of the model. The normal distribution of future rates always assigns positive probability to negative values. Whether this is a flaw depends on your perspective - more on that in the strengths and weaknesses section.

Yield curve computation. The bond pricing function is entirely analytical. The code computes yields across a range of maturities to produce the model-implied yield curve. With r(0) = 3% and b = 5%, the curve slopes upward - rates are below their long-run equilibrium, so the market expects them to rise.


Calibrating the Vasicek Model

Calibrating the Vasicek model means estimating the three parameters (a, b, sigma) from observed data. There are two main approaches, depending on whether you're working with historical rate data or current market prices.

Maximum Likelihood Estimation

If you have a time series of short-rate observations, maximum likelihood estimation (MLE) is the natural approach. The Vasicek model has a Gaussian transition density in closed form, so the likelihood function can be written down exactly.

Given discrete observations r(t_0), r(t_1), ..., r(t_n) at equally spaced intervals dt, each r(t_{i+1}) conditional on r(t_i) is normally distributed:

r(t_{i+1}) | r(t_i) ~ Normal(r(t_i) * exp(-a * dt) + b * (1 - exp(-a * dt)), sigma^2 * (1 - exp(-2 * a * dt)) / (2 * a))

The log-likelihood is the sum of the log-densities of these conditional distributions. Maximising it numerically gives you parameter estimates that are consistent and asymptotically efficient.

In practice, MLE works well when you have a long history of rate observations (several decades). With short samples, the mean-reversion parameter a is notoriously hard to estimate because mean reversion operates slowly. Confidence intervals for a can be very wide with only a few years of data.

Yield Curve Fitting

If you want the model to match today's market, you can calibrate by fitting model-implied bond prices or yields to observed market prices. The procedure minimises:

Objective = Sum over maturities of (y_model(tau_i) - y_market(tau_i))^2

This approach finds the parameters that make the Vasicek yield curve match the market curve as closely as possible. Because the Vasicek model has only three free parameters (a, b, sigma), it generally can't match the entire observed yield curve exactly. The fit is approximate, capturing the broad shape but not every kink and twist.

The Hull-White model resolves this by replacing the constant b with a time-dependent function theta(t) that's chosen to exactly reproduce the initial term structure. This is one of the main reasons practitioners moved beyond the basic Vasicek specification for production work, while the core mean-reversion dynamics remain the same.


Strengths and Weaknesses

The Vasicek model occupies a specific position in the trade-off between simplicity and realism. Understanding where it excels and where it falls short is important for applying it appropriately.

Strengths

Analytical tractability. This is the model's defining advantage. Closed-form formulas exist for bond prices, yields, and many derivative prices. You can write down the entire yield curve on a sheet of paper. This makes the Vasicek model invaluable for teaching, for building intuition, and as a benchmark for testing numerical methods.

Mean reversion. The model captures the empirically observed tendency for interest rates to revert toward a long-run average. This is economically sensible - central banks adjust policy rates in response to economic conditions, and structural factors anchor rates over long horizons. Mean reversion is absent from simpler models like geometric Brownian motion.

Gaussian distribution. The normal distribution of future rates makes many calculations straightforward. Expectations, variances, and covariances all have closed-form expressions. Risk measures are easy to compute. The entire term structure can be analysed analytically.

Simplicity. Three parameters. One stochastic differential equation. A model you can explain in five minutes and implement in twenty lines of code. This simplicity makes it an ideal starting point for anyone learning fixed income quantitative finance.

Weaknesses

Negative interest rates. Because future rates are normally distributed, the model always assigns positive probability to negative rates. Before 2010, this was considered a significant theoretical flaw - interest rates were assumed to have a zero lower bound. Then central banks in Europe, Japan, and elsewhere pushed policy rates below zero, and what was once a weakness became arguably more realistic than models that enforce positivity. In 2026, the question of whether negative rates are a bug or a feature depends entirely on the application and the rate regime you're modelling.

Constant volatility. The volatility parameter sigma doesn't depend on the level of rates. In reality, rate volatility tends to be higher when rates themselves are higher - a phenomenon called proportional volatility. The CIR model addresses this by using sigma * sqrt(r) instead of a constant sigma.

Cannot fit an arbitrary term structure. The basic Vasicek model has three parameters, which means the model-implied yield curve can't match every observed market yield. Hull-White solves this by introducing a time-dependent drift, but at the cost of added complexity.

Homoskedastic shocks. Related to constant volatility - the model assumes the same-sized random shocks at all rate levels. This can lead to unrealistic dynamics when rates are near zero (the model can easily push them negative by a large amount) or very high (it underestimates fluctuations).


Vasicek vs Other Short-Rate Models

The Vasicek model was the starting point, and several important models were developed to address its limitations. Here's how the main short-rate models compare.

FeatureVasicekCIRHull-WhiteHo-Lee
Published1977198519901986
Rate dynamicsMean reverting, constant volMean reverting, level-dependent volMean reverting, time-dependent paramsNo mean reversion, time-dependent drift
Rate distributionNormalNon-central chi-squaredNormalNormal
Negative rates possibleYesNo (rates stay non-negative)YesYes
Fits initial term structureNoNoYes (by construction)Yes (by construction)
Closed-form bond pricesYesYesYesYes
Number of parameters33Time-dependent function + 2Time-dependent function + 1

Vasicek vs CIR. The Cox-Ingersoll-Ross (CIR) model, published in 1985, modifies the Vasicek equation by replacing the constant volatility sigma with sigma * sqrt(r). This makes the volatility proportional to the square root of the rate level, which has two consequences. First, volatility is smaller when rates are low and larger when rates are high - matching the empirical pattern. Second, under the Feller condition (2 * a * b > sigma^2), the rate process can never reach zero, preventing negative rates entirely. The trade-off is that the CIR model's mathematics is slightly more complex, using non-central chi-squared distributions instead of Gaussians. For applications where negative rates are unacceptable - some insurance models, for example - CIR is preferred. Where negative rates are plausible, the Vasicek model's simpler analytics can be an advantage.

Vasicek vs Hull-White. The Hull-White model (1990) extends Vasicek by making the long-run mean a time-dependent function theta(t). The SDE becomes dr = a(theta(t) - r) dt + sigma dW. The function theta(t) is chosen so that the model exactly reproduces the market's current yield curve - something the basic Vasicek model can't do. This makes Hull-White the industry standard single-factor short-rate model. It retains the analytical tractability of Vasicek (closed-form bond prices, Gaussian rates) while matching the market term structure. The price you pay is that theta(t) must be recalibrated whenever the yield curve changes, and the model's parameters are less intuitive than Vasicek's constants.

Vasicek vs Ho-Lee. The Ho-Lee model (1986) is even simpler than Vasicek in some respects - it's a Brownian motion with a time-dependent drift: dr = theta(t) dt + sigma dW. There's no mean reversion at all. The model fits the initial term structure exactly, and it has closed-form solutions for bond prices. But the absence of mean reversion means rate volatility grows without bound over long horizons. Interest rates can drift arbitrarily far from reasonable values. Ho-Lee is useful for short-dated problems but unrealistic for long-term modelling. The Vasicek model's mean reversion, despite its other limitations, produces much more sensible long-horizon behaviour.

Which Model Should You Use?

For learning and building intuition about interest rate modelling, start with Vasicek. For production pricing where the model must match the current market curve, Hull-White is the standard single-factor choice. For applications where negative rates are problematic and proportional volatility matters, CIR offers a good alternative. For multi-factor models that capture the full complexity of real yield curves, practitioners in 2026 typically use models like the two-factor Hull-White or the Libor Market Model (now adapted for risk-free rates post-LIBOR transition).

The key insight is that all of these models share the same conceptual foundation that Vasicek introduced: model the short rate as a stochastic process, then derive everything else - bond prices, yields, derivative values - from that process under no-arbitrage conditions. Understanding Vasicek properly makes every subsequent model easier to learn.


Applications in 2026

The Vasicek model and its descendants remain widely relevant across several areas of finance.

Risk management. Many Value-at-Risk and expected shortfall frameworks for fixed income portfolios use short-rate models to generate interest rate scenarios. The Vasicek model's Gaussian analytics make it a common choice for quick risk calculations, particularly when the emphasis is on speed and transparency rather than perfect calibration.

Asset-liability management. Insurance companies and pension funds model their long-term interest rate exposure using mean-reverting models. The Vasicek framework provides a natural starting point for projecting rates decades into the future, where mean reversion is the dominant dynamic.

Teaching and research. The Vasicek model is a fixture in quantitative finance curricula worldwide. It introduces students to the connection between stochastic processes, no-arbitrage pricing, and the term structure of interest rates. Most academic papers on interest rate modelling still reference the Vasicek model as a baseline.

Derivative pricing foundations. The Black-Scholes model for equity options assumes a constant interest rate. When you need to account for stochastic rates - for long-dated equity options, convertible bonds, or hybrid derivatives - coupling an equity model with a Vasicek-type rate model is a standard approach. The Heston model for stochastic volatility, for instance, is sometimes combined with Hull-White rates to price long-dated equity options where interest rate risk matters.


Frequently Asked Questions

What is the Vasicek model used for?

The Vasicek model is used for modelling the dynamics of short-term interest rates, pricing zero-coupon bonds, constructing yield curves, and valuing interest rate derivatives. It provides a mathematically tractable framework where bond prices have closed-form solutions, making it useful for analytical work, risk management, and as a foundation for more complex models. In practice, the basic Vasicek specification is most commonly used in academic settings, for building intuition, and for quick approximate calculations. Production desks typically use extensions like Hull-White that inherit Vasicek's mean-reversion structure while also fitting the current market term structure exactly.

Why does the Vasicek model allow negative interest rates?

The Vasicek model allows negative rates because the short rate follows a normal distribution, and the normal distribution has support on the entire real line. No matter how small sigma is or how high b is, there's always some probability that rates will be negative. This is a direct consequence of the additive noise structure - the random shocks sigma * dW don't scale with the level of rates. The CIR model avoids this by using multiplicative noise (sigma * sqrt(r) * dW), which shrinks to zero as rates approach zero. Whether negative rates are problematic depends on context. Before 2010, most practitioners considered this a flaw. After central banks in Europe and Japan implemented negative policy rates, the Vasicek model's ability to produce negative rates became arguably more realistic for certain economies.

How is the Vasicek model different from the CIR model?

The key difference is in the volatility structure. The Vasicek model has constant volatility: dr = a(b - r) dt + sigma dW. The CIR model has level-dependent volatility: dr = a(b - r) dt + sigma * sqrt(r) dW. This square-root term in the CIR model means volatility decreases as rates approach zero, preventing rates from going negative (under the Feller condition). It also means rate volatility is higher when rates are higher, matching an empirical pattern called proportional volatility. The trade-off is mathematical complexity - the CIR model uses non-central chi-squared distributions rather than Gaussians. Both models are mean-reverting with three parameters, and both have closed-form bond pricing formulas.

Can the Vasicek model fit the current yield curve exactly?

No, the basic Vasicek model cannot exactly reproduce an arbitrary market yield curve. It has only three free parameters (a, b, sigma), which determines a specific yield curve shape - there aren't enough degrees of freedom to match every observed market yield. The model can produce upward-sloping, downward-sloping, and humped curves, but the exact levels and shapes are constrained by three numbers. The Hull-White extension solves this problem by replacing the constant long-run mean b with a time-dependent function theta(t) calibrated to the initial term structure. This guarantees the model prices all currently traded bonds correctly while preserving Vasicek's mean-reversion dynamics.

What are the main assumptions of the Vasicek model?

The Vasicek model rests on several key assumptions. First, the short rate follows an Ornstein-Uhlenbeck process with constant parameters - mean-reversion speed, long-run mean, and volatility don't change over time. Second, the volatility of rate changes is constant regardless of the rate level (homoskedasticity). Third, the model is a single-factor model - all yields across the entire term structure are driven by a single source of randomness. This means all bond yields are perfectly correlated, which is clearly an oversimplification of reality (in practice, the short end and long end of the curve can move independently). Fourth, the model operates in continuous time with no transaction costs, taxes, or market frictions. These assumptions are restrictive, but they're what allow the model to produce its powerful closed-form results.

Want to go deeper on Vasicek Model: Interest Rate Modelling Explained 2026?

This article covers the essentials, but there's a lot more to learn. Inside Quantt, you'll find hands-on coding exercises, interactive quizzes, and structured lessons that take you from fundamentals to production-ready skills — across 50+ courses in technology, finance, and mathematics.

Free to get started · No credit card required