Quadratic Covariation

Here is a game you can play with any function of time. Chop the interval [0, t] into tiny steps, take the increment over each step, square it, and add all the squares up. Then shrink the steps and ask: what does the total do?

For every smooth function you have ever met — polynomials, sines, exponentials — the total collapses to zero. Over a step of length \Delta t a differentiable f moves by \Delta f \approx f'\,\Delta t, so its squared increment is of order (\Delta t)^2: cut [0,t] into n pieces and you are summing n terms of size \sim 1/n^2 — a total of order 1/n, which dies. Squaring punishes small increments brutally, and smooth increments are very small.

Brownian motion breaks the game. Its increment over \Delta t has size \sim \sqrt{\Delta t} — the square-root scaling you met when you first built W — so the squared increment has size \sim \Delta t, and n terms of size t/n sum to something that refuses to die:

\sum_i \big(\Delta W_i\big)^2 \;\longrightarrow\; t \qquad \text{as the mesh } \|\Pi\| \to 0.

Not zero, not infinity: exactly t, for (almost) every single path. This limit is the quadratic variation [W]_t, and it is the sharpest roughness detector in analysis: it reads 0 on anything smooth and reads the elapsed time on Brownian noise. It is also the single reason stochastic calculus is not ordinary calculus — every second-order term that classical calculus throws away (\tfrac12 f''\,(dX)^2 in a Taylor expansion) survives when (dX)^2 accumulates at rate dt. The extra term in Itô's lemma is quadratic variation making itself felt.

Worked example: why [W]_t = t, honestly

The claim deserves a proof sketch, not just scaling folklore. Fix a partition 0 = t_0 < t_1 < \dots < t_n = t with mesh \|\Pi\| = \max_i \Delta t_i, and study the random sum

S_\Pi = \sum_{i} \big(\Delta W_i\big)^2, \qquad \Delta W_i = W_{t_{i+1}} - W_{t_i}.

Step 1 — the mean is exactly t, for every partition. Each increment is Gaussian, \Delta W_i \sim N(0, \Delta t_i), so \mathbb{E}\big[(\Delta W_i)^2\big] = \Delta t_i. Summing:

\mathbb{E}[S_\Pi] = \sum_i \Delta t_i = t.

No limit needed yet — on average the squared wiggles always add up to the elapsed time. The question is whether the randomness around that average survives the limit.

Step 2 — the variance dies with the mesh. For a Gaussian Z \sim N(0, \sigma^2) the fourth moment is \mathbb{E}[Z^4] = 3\sigma^4, so \operatorname{Var}(Z^2) = 3\sigma^4 - \sigma^4 = 2\sigma^4. Increments over disjoint intervals are independent, so variances add:

\operatorname{Var}(S_\Pi) = \sum_i 2\,(\Delta t_i)^2 \;\le\; 2\,\|\Pi\| \sum_i \Delta t_i = 2\,\|\Pi\|\,t \;\longrightarrow\; 0.

Step 3 — conclude. A random quantity whose mean is pinned at t and whose variance tends to zero converges to t in L^2. (Upgrading to almost-sure convergence along refining partitions takes a Borel–Cantelli argument — that is the honest fine print — but the L^2 statement already carries all the intuition.) So

[W]_t = t.

Contrast the smooth case one more time, now quantitatively: if f is continuously differentiable with |f'| \le M, then \sum_i (\Delta f_i)^2 \le M^2 \sum_i (\Delta t_i)^2 \le M^2\,\|\Pi\|\,t \to 0. Every finite-variation path — every trend, every drift, everything an ordinary integral can build — has quadratic variation zero. Only genuine noise registers.

From one process to two

The quadratic variation [X]_t measures how much a single process wiggles. Its two-process cousin, the quadratic covariation [X, Y]_t, measures how much two processes wiggle together. For a partition 0 = t_0 < t_1 < \dots < t_n = t of [0, t] it is the limit of cross-products of increments as the mesh shrinks:

[X, Y]_t = \lim_{\|\Pi\|\to 0} \sum_{i} \big(X_{t_{i+1}} - X_{t_i}\big)\big(Y_{t_{i+1}} - Y_{t_i}\big) = \lim_{\|\Pi\|\to 0} \sum_i \Delta X_i\,\Delta Y_i.

It is built exactly like a covariance, but pathwise and in time. Two immediate structural facts, straight from the definition: it is symmetric (\Delta X_i \Delta Y_i = \Delta Y_i \Delta X_i, so [X,Y] = [Y,X]) and bilinear (the sum is linear in each factor, so [aX + bZ,\, Y] = a[X,Y] + b[Z,Y]). Setting Y = X recovers the quadratic variation [X, X]_t = [X]_t.

The sign carries meaning, just as it does for covariance: if X and Y tend to jump the same way over the same tiny intervals, the products \Delta X_i\,\Delta Y_i are mostly positive and [X,Y]_t climbs; if they jump opposite ways it falls; and if their wiggles ignore each other the products cancel and the covariation flatlines at zero.

Worked example: [X]_t for a general Itô process

Take the general Itô process

dX_t = \mu_t\,dt + \sigma_t\,dW_t.

Its quadratic variation accumulates as (dX_t)^2, so expand the square:

(dX_t)^2 = \mu_t^2\,(dt)^2 + 2\,\mu_t\sigma_t\,dt\,dW_t + \sigma_t^2\,(dW_t)^2.

Why the first two terms vanish — this is worth seeing once with orders of magnitude, not just as a rule. Over n equal steps of size \Delta t = t/n:

Only the diffusion term registers:

\boxed{\,d[X]_t = \sigma_t^2\,dt, \qquad [X]_t = \int_0^t \sigma_s^2\,ds.\,}

The drift \mu_t contributes nothing — you can double it, reverse it, make it enormous, and [X]_t does not move. Quadratic variation is completely blind to the trend and sees only the noise. A concrete payoff: for geometric Brownian motion, d(\log S_t) = \big(\mu - \tfrac{\sigma^2}{2}\big)dt + \sigma\,dW_t, so

[\log S]_t = \sigma^2\,t.

The quadratic variation of the log-price is the squared volatility times time — which is precisely why summing squared log-returns from market data estimates \sigma^2. Hold that thought for the vignettes below.

The covariation of two Itô processes, line by line

Let two Itô processes be driven by the same Brownian motion W:

dX_t = a^X\,dt + b^X\,dW_t, \qquad dY_t = a^Y\,dt + b^Y\,dW_t.

We want d[X, Y]_t, which by the definition is the leading part of the cross-product of increments dX_t\,dY_t. Evaluate that product with the box algebra (dW_t)^2 = dt, dt\,dW_t = 0, (dt)^2 = 0 — each rule now justified by the order-of-magnitude count above.

Step 1 — expand the product term by term:

dX_t\,dY_t = \big(a^X\,dt + b^X\,dW_t\big)\big(a^Y\,dt + b^Y\,dW_t\big), = a^X a^Y\,(dt)^2 + a^X b^Y\,dt\,dW_t + b^X a^Y\,dW_t\,dt + b^X b^Y\,(dW_t)^2.

Step 2 — kill the small terms. Three of the four products are negligible by the box algebra: (dt)^2 = 0 and both mixed dt\,dW_t = 0. Only the last survives, with (dW_t)^2 = dt:

dX_t\,dY_t = b^X b^Y\,(dW_t)^2 = b^X b^Y\,dt.

Step 3 — read off the covariation (its increment is this leading term):

\boxed{\,d[X, Y]_t = b^X b^Y\,dt, \qquad [X, Y]_t = \int_0^t b^X_s\,b^Y_s\,ds.\,}

Only the diffusion coefficients enter — the drifts a^X, a^Y contribute nothing, because finite-variation (drift) parts are too smooth to accumulate covariation. Setting X = Y = W (so b^X = b^Y = 1) gives the headline special case [W, W]_t = t.

Polarisation: covariation from variations alone

There is a slick way to define [X, Y] using only single-process quadratic variations, the polarisation identity. It is the same algebra as pq = \tfrac14[(p+q)^2 - (p-q)^2], or equivalently:

Step 1 — expand the quadratic variation of the sum, using bilinearity:

[X + Y,\, X + Y] = [X, X] + 2[X, Y] + [Y, Y].

Step 2 — solve for the cross term:

[X, Y] = \tfrac{1}{2}\Big([X + Y] - [X] - [Y]\Big).

So covariation is fully determined by the variations of X, Y and their sum — no new machinery required. Run it on two correlated processes to see it earn its keep: take dX = \sigma_X\,dW^1 and dY = \sigma_Y\,dW^2 with dW^1 dW^2 = \rho\,dt. Then [X] = \sigma_X^2\,t, [Y] = \sigma_Y^2\,t, and d(X+Y) = \sigma_X dW^1 + \sigma_Y dW^2 gives [X+Y] = (\sigma_X^2 + 2\rho\,\sigma_X\sigma_Y + \sigma_Y^2)\,t. Polarisation hands back

[X, Y]_t = \tfrac12\big(\sigma_X^2 + 2\rho\,\sigma_X\sigma_Y + \sigma_Y^2 - \sigma_X^2 - \sigma_Y^2\big)\,t = \rho\,\sigma_X\sigma_Y\,t, \qquad d[X,Y]_t = \rho\,\sigma_X\sigma_Y\,dt.

— the exact stochastic analogue of \operatorname{Cov}(P,Q) = \rho\,\sigma_P\sigma_Q, delivered per unit time.

Independent Brownian motions: [W^1, W^2]_t = 0

Now let W^1, W^2 be independent Brownian motions. Their covariation is the limit of \sum_i \Delta W^1_i\,\Delta W^2_i.

Step 1 — each summand has mean zero. Over the step [t_i, t_{i+1}] the increments \Delta W^1_i, \Delta W^2_i are independent and each mean-zero, so

\mathbb{E}\big[\Delta W^1_i\,\Delta W^2_i\big] = \mathbb{E}[\Delta W^1_i]\,\mathbb{E}[\Delta W^2_i] = 0\cdot 0 = 0.

Step 2 — the sum has mean zero and vanishing variance. The expected sum is 0, and a short computation shows its variance is \sum_i (t_{i+1}-t_i)^2 \le \|\Pi\|\,t \to 0 as the mesh shrinks. A mean-zero quantity whose variance goes to zero converges (in L^2) to 0:

[W^1, W^2]_t = 0.

In box-algebra shorthand this is the rule dW^1_t\,dW^2_t = 0 for independent drivers — the multidimensional twin of (dW_t)^2 = dt. Notice the pattern of the whole argument — it is the same mean-plus-vanishing-variance sketch that proved [W]_t = t, just with a different mean.

For Itô processes X, Y the quadratic covariation [X, Y]_t = \lim \sum_i \Delta X_i\,\Delta Y_i satisfies:

The polarisation identity above is worth seeing once with every bracket expanded. Starting from [X+Y] and using bilinearity and symmetry:

[X+Y] = [X+Y,\,X+Y] = [X,X] + [X,Y] + [Y,X] + [Y,Y] = [X] + 2[X,Y] + [Y],

and isolating the middle term gives [X,Y] = \tfrac12([X+Y] - [X] - [Y]), exactly as claimed. This is the stochastic echo of the variance identity \operatorname{Cov}(P, Q) = \tfrac12(\operatorname{Var}(P+Q) - \operatorname{Var}(P) - \operatorname{Var}(Q)).

Between the two extremes — perfectly coupled (same W) and independent ([W^1,W^2]=0) — sit correlated Brownian motions with correlation \rho \in [-1, 1]. Their box rule interpolates:

dW^1_t\,dW^2_t = \rho\,dt, \qquad\text{so}\qquad [W^1, W^2]_t = \rho\,t.

This is the seed of the multidimensional Itô lemma: when a function depends on several correlated drivers, every pair contributes a cross-correction f_{x_i x_j}\,d[X^i, X^j], and the matrix of these \rho_{ij} values is what couples a basket of assets together in multi-asset pricing.

The multiplication table: the working summary

Everything on this page compresses into one small table — the Itô multiplication table, the practical engine that working quants and every stochastic-calculus computation run on. To find d[X,Y] for any pair of Itô processes: write out dX\,dY, multiply through, and evaluate every product of differentials with:

\begin{array}{c|ccc} \times & dt & dW^1 & dW^2 \\ \hline dt & 0 & 0 & 0 \\ dW^1 & 0 & dt & \rho\,dt \\ dW^2 & 0 & \rho\,dt & dt \end{array}

In words: dt annihilates everything ((dt)^2 = 0, dt\,dW = 0); a driver squared gives time ((dW)^2 = dt); two different drivers give their correlation times time (dW^1 dW^2 = \rho\,dt, with \rho = 0 when independent). Behind each entry is an honest limit theorem — the mean-plus-vanishing-variance arguments above — but once proved, you never re-derive them: you look them up in the table.

Mini-example, table-driven. Two stocks: dS_1 = \mu_1 S_1\,dt + \sigma_1 S_1\,dW^1 and dS_2 = \mu_2 S_2\,dt + \sigma_2 S_2\,dW^2, with dW^1 dW^2 = \rho\,dt. Multiply, keep only the surviving cell:

d[S_1, S_2]_t = \sigma_1\sigma_2\,S_1 S_2\,dW^1 dW^2 = \rho\,\sigma_1\sigma_2\,S_1 S_2\,dt.

Every drift term hit a zero cell; the single dW^1 dW^2 cross term carried the whole answer. That one-line computation is exactly what feeds the cross term of the two-asset Itô lemma, the pricing of spread and basket options, and the covariance matrix of a portfolio's instantaneous returns.

Three traps, in increasing order of expensiveness:

(dW)^2 = dt appears in every derivation on a trading floor and in no rigorous textbook — because as written it is nonsense (dW is not a number you can square). What it abbreviates is this page: the sum of squared increments converges to t, so wherever a squared differential would appear inside an integral, it may be replaced by dt. One line of shorthand, one limit theorem of content. It is arguably the most consequential equation in quantitative finance, and it is technically never true — only its integrated version is.

And it is not just notation: this page's object is literally a traded product. A variance swap pays its holder the realized variance of a stock — \tfrac{252}{n}\sum_i (\Delta \log S_i)^2, annualised squared daily log-returns — in exchange for a fixed "strike" agreed up front. Realized-volatility desks spend their days computing discretely sampled quadratic variation from tick data, hedging it with strips of options, and arguing about exactly the estimation subtleties in the Watch out! box above. The VIX index is a close cousin: it quotes the market's price for the future quadratic variation of the S&P 500 over the next 30 days. When you computed [\log S]_t = \sigma^2 t above, you priced the textbook version of that payoff.

Coupled versus independent, seen

Below are two pairs of Brownian paths, and the whole page in one picture. The top pair is coupled: both processes are driven by the same W, so over every tiny interval their increments are identical and each cross-product is a square, \Delta X_i\,\Delta Y_i = (\Delta W_i)^2 > 0 — a sum of relentlessly positive terms that accumulates to exactly [X,Y]_t = t. The other pair is independent: increment signs agree and disagree at random, the products cancel in the long run, and the covariation flatlines ([W^1,W^2]_t = 0).

Refresh for a fresh \omega and watch the geometry: the coupled pair moves in perfect lockstep, every jag mirrored, while the independent paths wander with no memory of each other — sometimes drifting the same way for a stretch (exactly why a finite-sample covariation estimate is noisy), but never systematically. Correlated drivers with 0 < \rho < 1 would sit between these extremes.