Technical

Brownian Bridge: Conditioned Paths and Barrier Pricing

Learn the Brownian bridge distribution, its exact simulation and the log-price barrier-crossing formula used to correct Monte Carlo monitoring bias.

11 min read·

What Is a Brownian Bridge?

A Brownian bridge is the conditional law of a Brownian path after both endpoints have been fixed. If a Brownian motion with unit variance rate starts at aa at time zero and is conditioned to equal bb at time TT, the bridge can be realised using a standard Brownian motion WW as

Xt=a+tT(b−a)+Wt−tTWT,0≤t≤T.X_t=a+\frac{t}{T}(b-a)+W_t-\frac{t}{T}W_T, \qquad 0\leq t\leq T.

This formula is more precise than writing Wt∣WT=bW_t\mid W_T=b, because the event {WT=b}\{W_T=b\} has probability zero. The bridge is a version of the corresponding regular conditional distribution. The Gaussian-conditioning calculation is set out cleanly in these IISc Brownian-motion notes.

In finance, its sharpest use is between two simulated observations. Under geometric Brownian motion, the log-price between those observations is a Brownian bridge. That distinction matters: applying the bridge formula directly to price levels produces the wrong barrier probability.

The bridge also appears in goodness-of-fit tests and in Monte Carlo dimension reduction. It sits naturally after Brownian motion and geometric Brownian motion, while Feynman-Kac explains why the resulting path expectation and pricing PDE describe the same value.


Distribution and Covariance

The process XX is Gaussian, so its mean and covariance determine every finite-dimensional distribution:

E[Xt]=a+tT(b−a),\mathbb E[X_t]=a+\frac{t}{T}(b-a), Cov⁡(Xs,Xt)=min⁡(s,t)−stT.\operatorname{Cov}(X_s,X_t)=\min(s,t)-\frac{st}{T}.

In particular,

Xt∼N ⁣(a+tT(b−a),t(T−t)T).X_t\sim N\!\left(a+\frac{t}{T}(b-a),\frac{t(T-t)}{T}\right).

The variance is zero at both endpoints and largest at t=T/2t=T/2, where it equals T/4T/4. For s≤ts\leq t, the covariance simplifies to s(T−t)/Ts(T-t)/T.

Subtracting (t/T)WT(t/T)W_T changes only a finite-variation function of time once the realised value of WTW_T is fixed. The bridge therefore has quadratic variation

[X]t=t,0≤t<T,[X]_t=t,\qquad 0\leq t<T,

and total quadratic variation TT on the full interval. Its pinned endpoint does not make the path smooth.

The same law solves the time-inhomogeneous SDE

dXt=b−XtT−t dt+dW~t,X0=a,t<T.dX_t=\frac{b-X_t}{T-t}\,dt+d\widetilde W_t,\qquad X_0=a,\quad t<T.

The singular drift forces Xt→bX_t\to b almost surely as t↑Tt\uparrow T. This SDE is useful conceptually, but stepping through its singularity with Euler-Maruyama is less attractive than sampling exact conditional normals.


Exact Simulation

There are two exact finite-grid methods. The first simulates a Brownian path and applies the linear adjustment above. The second fills points recursively: conditional on Xs=xsX_s=x_s and Xu=xuX_u=x_u, for s<t<us<t<u,

Xt∣Xs,Xu∼N ⁣(xs+t−su−s(xu−xs),(t−s)(u−t)u−s).X_t\mid X_s,X_u\sim N\!\left( x_s+\frac{t-s}{u-s}(x_u-x_s), \frac{(t-s)(u-t)}{u-s} \right).

Recursive midpoint sampling is often called Brownian-bridge construction. It is useful with Sobol points because the first Gaussian coordinates determine coarse path features rather than the earliest tiny increments.

import numpy as np def brownian_bridge(a, b, horizon, steps, paths, seed=42): """Exact bridge values on an equally spaced grid.""" rng = np.random.default_rng(seed) dt = horizon / steps time = np.linspace(0.0, horizon, steps + 1) increments = np.sqrt(dt) * rng.standard_normal((paths, steps)) w = np.column_stack((np.zeros(paths), np.cumsum(increments, axis=1))) bridge = a + (b - a) * time / horizon + w - time * w[:, [-1]] / horizon return time, bridge

At each grid time, the code has the stated mean and variance. It does not approximate the bridge distribution at those times. It does, of course, leave the path between grid points unobserved, which is exactly where the barrier calculation enters.


Spectral Construction

A standard bridge BB from zero to zero on [0,1][0,1] also has the Karhunen-Loeve expansion

Bt=2∑n=1∞Znnπsin⁡(nπt),Zn∼iidN(0,1).B_t=\sqrt{2}\sum_{n=1}^{\infty} \frac{Z_n}{n\pi}\sin(n\pi t), \qquad Z_n\overset{\text{iid}}{\sim}N(0,1).

The sine functions vanish at both endpoints. Their variances 1/(n2π2)1/(n^2\pi^2) are the eigenvalues of the bridge covariance operator, whose kernel is K(s,t)=min⁡(s,t)−stK(s,t)=\min(s,t)-st. This is not merely a Fourier fit: the random series has exactly the finite-dimensional law of the bridge.

As a check, summing the component variances at time tt recovers

2∑n=1∞sin⁡2(nπt)n2π2=t(1−t).2\sum_{n=1}^{\infty}\frac{\sin^2(n\pi t)}{n^2\pi^2} =t(1-t).

That is the standard bridge variance on [0,1][0,1]. The equality also shows why independent coefficients and the precise 1/(nπ)1/(n\pi) scaling are required.

Truncation after NN terms gives a smooth approximation,

Bt(N)=2∑n=1NZnnπsin⁡(nπt).B_t^{(N)}=\sqrt{2}\sum_{n=1}^{N} \frac{Z_n}{n\pi}\sin(n\pi t).

It captures large-scale path shape efficiently, but it removes the arbitrarily high frequencies responsible for non-zero quadratic variation. A truncated spectral path should therefore not be used as though it were an exact continuously monitored bridge. For pricing a barrier, the omitted high-frequency terms are precisely the ones that can create a crossing between plotted points.

The bridge's pull towards its endpoint can look like mean reversion, but it is not an Ornstein-Uhlenbeck process. The bridge drift (b−Xt)/(T−t)(b-X_t)/(T-t) depends explicitly on the remaining time and becomes singular at TT; OU mean reversion has a finite, usually time-homogeneous speed and no pinned terminal value.


Barrier Crossing in Log-Price

For a bridge with diffusion coefficient σ\sigma, endpoints x0,x1<hx_0,x_1<h and interval length Δt\Delta t, the reflection principle gives

P ⁣(max⁡0≤s≤ΔtXs≥h | X0=x0,XΔt=x1)=exp⁡ ⁣[−2(h−x0)(h−x1)σ2Δt].\mathbb P\!\left(\max_{0\leq s\leq\Delta t}X_s\geq h \,\middle|\,X_0=x_0,X_{\Delta t}=x_1\right) =\exp\!\left[ -\frac{2(h-x_0)(h-x_1)}{\sigma^2\Delta t} \right].

If either endpoint is at or above hh, the crossing probability is one. The exponent is dimensionless: each log-distance is dimensionless, while σ2Δt\sigma^2\Delta t is log-return variance.

Under Black-Scholes dynamics,

dlog⁡St=(r−q−12σ2)dt+σ dWt.d\log S_t=\left(r-q-\frac12\sigma^2\right)dt+\sigma\,dW_t.

Conditional on two log-prices, the constant drift drops out. For an upper price barrier HH, put xi=log⁡Stix_i=\log S_{t_i} and h=log⁡Hh=\log H:

pi=exp⁡ ⁣[−2log⁡(H/Sti)log⁡(H/Sti+1)σ2(ti+1−ti)].p_i=\exp\!\left[ -\frac{2\log(H/S_{t_i})\log(H/S_{t_{i+1}})} {\sigma^2(t_{i+1}-t_i)} \right].

Suppose monthly endpoints are S0=100S_0=100 and S1/12=102S_{1/12}=102, the upper barrier is 105105, and annual volatility is 20%20\%. Then

p=exp⁡ ⁣[−2log⁡(1.05)log⁡(105/102)0.202/12]≈0.4280.p=\exp\!\left[ -\frac{2\log(1.05)\log(105/102)} {0.20^2/12} \right]\approx 0.4280.

So a path that looks safely below the barrier at both month-ends still has a 42.80% conditional chance of having touched it. The figure follows from the stated inputs alone; it is not a general miss rate.

Beaglehole, Dybvig and Zhou's 1997 paper, Going to Extremes, applies this conditional maximum distribution to exotic-option simulation. It should not be confused with the Broadie, Glasserman and Kou continuity correction, which approximates discrete monitoring by shifting a continuous barrier.


Monte Carlo Implementation

For a continuously monitored knock-out under constant-volatility GBM:

  1. Simulate exact log-price endpoints on a time grid.
  2. Return zero immediately if an endpoint breaches the barrier.
  3. Compute pip_i for each surviving interval.
  4. Either sample a Bernoulli crossing with probability pip_i, or multiply the payoff by the conditional survival probability ∏i(1−pi)\prod_i(1-p_i).

The second method integrates out the bridge-crossing uniforms and is usually less noisy. Under the exact GBM model, this removes monitoring bias for a single constant barrier conditional on the simulated endpoints. It does not make a coarse simulation exact for a local-volatility or stochastic-volatility model. There, freezing coefficients within each interval is still an approximation.

def upper_crossing_probability(s0, s1, barrier, sigma, dt): if s0 >= barrier or s1 >= barrier: return 1.0 a = np.log(barrier / s0) b = np.log(barrier / s1) return float(np.exp(-2.0 * a * b / (sigma * sigma * dt))) def conditional_survival(prices, barrier, sigma, dt): probabilities = [ upper_crossing_probability(x, y, barrier, sigma, dt) for x, y in zip(prices[:-1], prices[1:]) ] return np.prod(1.0 - np.asarray(probabilities))

Curved barriers, two-sided barriers, jumps and state-dependent volatility need different calculations. A single-barrier Brownian formula should not be stretched beyond the process it describes.


Statistical and Numerical Uses

Under a continuous null distribution FF, the empirical process obeys

n(Fn(x)−F(x))⇒B(F(x)),\sqrt n\bigl(F_n(x)-F(x)\bigr) \Rightarrow B(F(x)),

where BB is a standard bridge on [0,1][0,1]. The Kolmogorov-Smirnov statistic therefore converges to sup⁡0≤u≤1∣B(u)∣\sup_{0\leq u\leq1}|B(u)|. This is a distributional limit, not a claim that a finite-sample empirical CDF literally is a Brownian bridge.

Bridge ordering can also reduce the effective dimension of quasi-Monte Carlo. It does not guarantee lower variance for every payoff. The gain depends on whether the early Sobol coordinates now control the path features to which the payoff is most sensitive.

Using a bridge to fill missing market observations is more doubtful. It supplies a model-based conditional distribution, not reconstructed data, and ordinary Brownian motion ignores volatility clustering, jumps, microstructure noise and intraday seasonality. Simulated bridge points should never be presented as observations.


Frequently Asked Questions

What is the mean of a Brownian bridge?

For endpoints aa and bb over [0,T][0,T], the mean is the straight line a+t(b−a)/Ta+t(b-a)/T. Its variance is t(T−t)/Tt(T-t)/T for unit diffusion.

Is a Brownian bridge a martingale?

Not in its own natural filtration. Since E[Xt∣Xs]=Xs+(t−s)(b−Xs)/(T−s)\mathbb E[X_t\mid X_s]=X_s+(t-s)(b-X_s)/(T-s), the known endpoint creates a drift towards bb.

Why are log-prices used for a GBM barrier?

The logarithm of GBM is arithmetic Brownian motion with constant diffusion σ\sigma. Conditional on its endpoints it is exactly a scaled Brownian bridge; the price level itself is the exponential of that bridge and is not Gaussian.

Does bridge correction remove all barrier-option bias?

It removes missed-crossing bias under the assumed within-step bridge law. Time discretisation of stochastic volatility, local volatility, rates or other state variables can still bias the price.

How is the bridge connected to Girsanov's theorem?

They solve different conditional questions. A bridge conditions a path on an endpoint under one measure; Girsanov's theorem changes the probability measure and hence the drift law. Conditioning a constant-drift Brownian motion on both endpoints makes that constant drift cancel, but no measure change is required.

Where can I read a rigorous treatment?

The linked IISc notes derive the conditional law. Karatzas and Shreve's Brownian Motion and Stochastic Calculus gives the measure-theoretic treatment, while Glasserman's Monte Carlo Methods in Financial Engineering develops bridge sampling for simulation.

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