Ornstein-Uhlenbeck Process
Table of Contents
Summary
The Ornstein-Uhlenbeck (OU) process models a quantity that is pulled
back toward a long-run level whenever it drifts away — the opposite
behaviour to the unbounded wandering of
Brownian motion. It is the
general mean-reverting building block every short-rate model in this
cluster specialises:
Vasicek,
Hull-White, and
CIR are all OU with some
variation on a constant mean-reversion target or the volatility term.
ores::analytics::quant::service::ornstein_uhlenbeck_process implements it directly, and
the exact per-tick discretisation it uses is the same one the Vasicek and
Hull-White processes reduce to.
Layperson's mental model
Think of a stretched elastic band instead of a free-floating cork: the
further the current value drifts from its resting length theta (θ), the
harder the band pulls it back. Push it away and let go — it springs back
toward theta (θ), with some random jitter added on top of the pull each
tick. How stiff the band is (how fast it snaps back) is kappa (κ); how
much random jitter is added on top is sigma (σ).
double ornstein_uhlenbeck_process::next() { const double z = normal_(rng_); const double decay = std::exp(-kappa_); const double var = (1.0 - decay * decay) / (2.0 * kappa_); // pulled toward theta_ by `decay`, then jittered by sigma_ * z price_ = theta_ + (price_ - theta_) * decay + sigma_ * std::sqrt(var) * z; return price_; }
Detail
The SDE
\(\theta\) is the long-run level \(X\) reverts toward; \(\kappa\) (also called the speed of mean reversion) controls how strongly and how fast it pulls back — a larger \(\kappa\) means a shorter half-life for any deviation from \(\theta\), and \(\kappa \le 0\) degenerates the process to a driftless random walk with no mean reversion at all (the \(\kappa \to 0\) limit of the variance term below).
The exact discretisation
Unlike GBM's log-price update, which is exact only after the Ito-lemma change of variables to \(\log S\), the OU SDE above admits a genuinely exact (not Euler-approximated) closed-form solution directly in \(X\), since the SDE is linear in \(X\):
\begin{equation} X_{t+1} = \theta + (X_t - \theta) e^{-\kappa} + \sigma \sqrt{\frac{1 - e^{-2\kappa}}{2\kappa}}\, Z, \quad Z \sim N(0, 1) \end{equation}
(with a unit tick, \(dt = 1\), matching the per-update convention the
GBM/
arithmetic processes use for
their increments). This is why ornstein_uhlenbeck_process never needs to fall back on
an approximate discretisation the way a nonlinear SDE would: the whole
transition — mean, variance, and all — is known in closed form for any
tick size, not just in the limit of small ticks.
How the specialisations build on this
- Vasicek: OU applied to a short rate \(r\) with a constant \(\theta\). Identical SDE, different application domain.
- Hull-White: OU's \(\theta\) replaced with a piecewise-constant, time-varying \(\theta(t)\), letting the model fit an observed initial yield curve exactly rather than reverting to one fixed level.
- CIR: keeps OU's drift shape \(\kappa(\theta-r)\) but replaces the constant volatility \(\sigma\) with a state-dependent \(\sigma\sqrt{r}\), which is what breaks the closed-form Gaussian transition above and forces the more involved non-central-chi-squared construction CIR actually uses.
See also
- Stochastic Processes — the hub, including the comparison table across all four mean-reverting processes.
- Wiener Process — the \(dW\) term OU is driven by.
- Markov Property — the "no memory" property this process inherits from its Wiener-process driver.
- Vasicek Process — OU applied to a short rate.
- Hull-White Process — OU with a time-varying reversion target.
- Cox-Ingersoll-Ross (CIR) Process — OU with a state-dependent volatility term.
- Volatility — uses this process's stationary variance \(\sigma^2/2\theta\) to argue that observed volatility alone cannot distinguish a stable, mean-reverting system from one whose restoring force (\(\theta\)) is vanishing toward instability.
Further reading
- Uhlenbeck, G. E., & Ornstein, L. S. (1930). "On the Theory of the Brownian Motion." Physical Review, 36(5), 823-841. The original paper, modelling the velocity of a Brownian particle under friction — the physical origin of the mean-reverting SDE this document describes, predating its finance application by decades.
- Doob, J. L. (1942). "The Brownian Movement and Stochastic Equations." Annals of Mathematics, 43(2), 351-369. Gave the rigorous mathematical treatment (including the exact transition density used above) that put Uhlenbeck and Ornstein's physical argument on solid footing.
- Wikipedia: Ornstein-Uhlenbeck process.