CONTENTS

Solution: Covariance Structure of Brownian Motion

Proof

Assume 0st0 \le s \le t. Decompose WtW_t as:

Wt=Ws+(WtWs)W_t = W_s + (W_t - W_s)

Since E[Ws]=0\mathbb{E}[W_s] = 0 and E[Wt]=0\mathbb{E}[W_t] = 0 (by (BM1) + (BM3)):

Cov(Ws,Wt)=E[WsWt]=E[Ws(Ws+(WtWs))]=E[Ws2]+E[Ws(WtWs)]\operatorname{Cov}(W_s, W_t) = \mathbb{E}[W_s W_t] = \mathbb{E}[W_s(W_s + (W_t - W_s))] = \mathbb{E}[W_s^2] + \mathbb{E}[W_s(W_t - W_s)]

The first term is Var(Ws)=s\operatorname{Var}(W_s) = s by (BM3). For the second term, (BM2) says WsW_s (which is Fs\mathcal{F}_s-measurable) is independent of the increment WtWsW_t - W_s, so:

E[Ws(WtWs)]=E[Ws]E[WtWs]=00=0\mathbb{E}[W_s(W_t - W_s)] = \mathbb{E}[W_s] \cdot \mathbb{E}[W_t - W_s] = 0 \cdot 0 = 0

Hence Cov(Ws,Wt)=s=min(s,t)\operatorname{Cov}(W_s, W_t) = s = \min(s, t). By symmetry, the identity holds for all s,t0s, t \ge 0. \square

Part 1 — Simulation

# Python import numpy as np rng = np.random.default_rng(42) N = 100_000 dt = 1e-3 n_steps = 1000 # t ∈ [0, 1] with Δt = 1e-3 s_idx, t_idx = 300, 700 # times 0.3 and 0.7 increments = rng.normal(0, np.sqrt(dt), size=(N, n_steps)) W = np.cumsum(increments, axis=1) W_s = W[:, s_idx - 1] W_t = W[:, t_idx - 1] cov_hat = np.cov(W_s, W_t, ddof=0)[0, 1] print(f"Sample Cov(W_0.3, W_0.7) = {cov_hat:.4f}") print(f"Theoretical min(0.3, 0.7) = 0.3") # Sample Cov(W_0.3, W_0.7) = 0.3005 # Theoretical min(0.3, 0.7) = 0.3

The sample covariance matches the theoretical value to three decimal places — Monte Carlo error at N=105N = 10^5 is on the order of 1/N3×1031/\sqrt{N} \approx 3 \times 10^{-3}, consistent with the observed gap of 5×1045 \times 10^{-4}.

Part 2 — Correlation

Using Var(Ws)=s\operatorname{Var}(W_s) = s, Var(Wt)=t\operatorname{Var}(W_t) = t, and Cov(Ws,Wt)=s\operatorname{Cov}(W_s, W_t) = s for sts \le t:

Corr(Ws,Wt)=Cov(Ws,Wt)Var(Ws)Var(Wt)=sst=st\operatorname{Corr}(W_s, W_t) = \frac{\operatorname{Cov}(W_s, W_t)}{\sqrt{\operatorname{Var}(W_s)\operatorname{Var}(W_t)}} = \frac{s}{\sqrt{st}} = \sqrt{\frac{s}{t}}
The correlation depends only on the ratio s/t(0,1]s/t \in (0, 1], not on the individual values. So (W1,W2)(W_1, W_2) and (W100,W200)(W_{100}, W_{200}) have the same correlation 1/20.707\sqrt{1/2} \approx 0.707.

Part 3 — Long-range dependence

If ss and tt grow proportionally, say t=λst = \lambda s for a fixed λ>1\lambda > 1, then:

Corr(Ws,Wλs)=sλs=1λ\operatorname{Corr}(W_s, W_{\lambda s}) = \sqrt{\frac{s}{\lambda s}} = \frac{1}{\sqrt{\lambda}}
This does not depend on ss. So even as the absolute gap ts=(λ1)st - s = (\lambda - 1)s grows without bound, the correlation stays fixed at 1/λ1/\sqrt{\lambda}. Compare this with a stationary AR(1) or OU process, where correlation decays exponentially with the gap; Brownian motion is non-stationary and its correlation is scale-invariant.
Financially: if you sample a stock's Brownian-driven price at two times proportionally spaced (say, every doubling of horizon), the correlation between levels is constant. This is what makes volatility forecasts stable across different holding-period horizons but makes price-level forecasts unstable — the level of WtW_t is persistent, even though the increments are independent.

Takeaways

  • Cov(Ws,Wt)=min(s,t)\operatorname{Cov}(W_s, W_t) = \min(s, t) is the single identity that characterises Brownian motion among Gaussian processes, once you fix mean zero.
  • Correlation depends only on the ratio s/ts/t. This is a restatement of Brownian motion's self-similarity — the covariance structure is scale-invariant.
  • Long-range dependence in levels, independence in increments. These are not contradictory: the level WtW_t is the cumulative sum of many independent past increments, so it remembers them; the next increment Wt+hWtW_{t+h} - W_t does not.
  • Simulation check is cheap and worth doing once. When an identity falls out of the definition, running a 10-second Monte Carlo verification builds intuition that algebra alone cannot.
Solution — Covariance Structure of Brownian Motion | q4quant.studio