Quant Memo
Advanced

Variance Swaps

The clean instrument for trading realized variance, its payoff, the log-contract derivation that shows realized variance replicates via a static strip of options weighted 1/K², and the model-free fair strike that underlies the VIX.

Prerequisites: Implied Volatility, Put-Call Parity

A delta-hedged option is a bet on realized variance, but a messy one, the P&L is weighted by a random, path-dependent dollar gamma. A variance swap is the clean version: a forward contract on realized variance itself, with constant dollar exposure to variance regardless of path. Its beauty is that it can be replicated statically by a fixed portfolio of options weighted 1/K21/K^2, a model-free result that is also the mathematical backbone of the VIX.

The payoff

A variance swap pays, at expiry, the difference between realized variance and a fixed strike, scaled by a variance notional:

Payoff=Nvar(σR2Kvar2),σR2=252ni=1nln2 ⁣(SiSi1).\text{Payoff} = N_{\text{var}}\big(\sigma_R^2 - K_{\text{var}}^2\big), \qquad \sigma_R^2 = \frac{252}{n}\sum_{i=1}^{n}\ln^2\!\Big(\frac{S_i}{S_{i-1}}\Big).

The strike KvarK_{\text{var}} is quoted in vol points (so Kvar2K_{\text{var}}^2 is the fair variance). Because the payoff is linear in variance, its exposure, the "variance vega", is constant, unlike an option whose gamma drifts with spot. It is the purest vehicle for a view on realized vs implied volatility.

The log-contract derivation

The key identity connects realized variance to a tradeable payoff. Under the risk-neutral diffusion dS/S=rdt+σtdWdS/S = r\,dt + \sigma_t\,dW, apply Itô to lnS\ln S:

dlnSt=(r12σt2)dt+σtdWt.d\ln S_t = \Big(r - \tfrac12\sigma_t^2\Big)dt + \sigma_t\,dW_t.

Subtract this from dS/S=rdt+σtdWtdS/S = r\,dt + \sigma_t\,dW_t, the two σdW\sigma\,dW terms cancel exactly:

dStStdlnSt=12σt2dt.\frac{dS_t}{S_t} - d\ln S_t = \tfrac12\sigma_t^2\,dt.

Integrate over [0,T][0,T] and multiply by 2:

0Tσt2dt=2[0TdStStlnSTS0].\int_0^T \sigma_t^2\,dt = 2\left[\int_0^T \frac{dS_t}{S_t} - \ln\frac{S_T}{S_0}\right].

The left side is the (continuous) realized variance. The right side is a recipe: dS/S\int dS/S is the P&L of a continuously rebalanced position holding 1/St1/S_t shares (a self-financing, zero-cost dynamic strategy whose risk-neutral expectation is rTrT), and ln(ST/S0)-\ln(S_T/S_0) is a static payoff, the log contract. So

EQ ⁣[0Tσt2dt]=2(rTEQ ⁣[lnSTS0]).\mathbb{E}^{\mathbb{Q}}\!\left[\int_0^T\sigma_t^2\,dt\right] = 2\left(rT - \mathbb{E}^{\mathbb{Q}}\!\left[\ln\frac{S_T}{S_0}\right]\right).

Realized variance is model-free once you can price the log contract, no volatility model needed, only the ability to value lnST\ln S_T.

Static replication: the strip of options

The log payoff is not directly traded, but the Carr-Madan spanning formula rebuilds any smooth payoff f(ST)f(S_T) from a cash amount, a forward, and a continuum of options:

f(ST)=f(S)+f(S)(STS)+0S ⁣ ⁣f(K)(KST)+dK+S ⁣ ⁣f(K)(STK)+dK.f(S_T) = f(S_*) + f'(S_*)(S_T - S_*) + \int_0^{S_*}\!\!f''(K)\,(K - S_T)^+\,dK + \int_{S_*}^{\infty}\!\!f''(K)\,(S_T - K)^+\,dK.

For the log contract f(S)=ln(S/S0)f(S) = -\ln(S/S_0) we have f(K)=1/K2f''(K) = 1/K^2. Choosing S=F0S_* = F_0 (the forward), the linear term vanishes in expectation, and the fair variance strike becomes

Kvar2=2T[rT(S0F0erT1)+erT ⁣0F0 ⁣P(K)K2dK+erT ⁣F0 ⁣C(K)K2dK].\boxed{\,K_{\text{var}}^2 = \frac{2}{T}\left[rT - \Big(\frac{S_0}{F_0}e^{rT}-1\Big) + e^{rT}\!\int_0^{F_0}\!\frac{P(K)}{K^2}\,dK + e^{rT}\!\int_{F_0}^{\infty}\!\frac{C(K)}{K^2}\,dK\right].\,}

The essential content: fair variance is a 1/K21/K^2-weighted integral of OTM put and call prices. The 1/K21/K^2 weight is the signature, it says a variance swap is long a strip of every strike, with far-OTM options (the wings) heavily weighted. This is a static hedge: buy the strip once, hold to expiry, and (with continuous rebalancing of the 1/S1/S stock leg) you have replicated realized variance without any model of volatility.

Volatility swap vs variance swap, the convexity

A volatility swap pays σR\sigma_R (vol, not variance). Since \sqrt{\cdot} is concave, Jensen gives E[σR]E[σR2]=Kvar\mathbb{E}[\sigma_R] \le \sqrt{\mathbb{E}[\sigma_R^2]} = K_{\text{var}}, so the fair vol strike is below the square root of the fair variance strike. The gap, the convexity adjustment, grows with vol-of-vol, so a variance swap is implicitly long vol-of-vol relative to a vol swap. This is why variance swaps, not vol swaps, admit clean static replication: variance is the "linear" quantity in options.

Worked example

Suppose the fair-variance calculation on an index yields Kvar=20K_{\text{var}} = 20 (so Kvar2=400K_{\text{var}}^2 = 400 variance points), on a variance notional of $10,000 per variance point. If the index then realizes σR=25%\sigma_R = 25\%, the payoff is

Nvar(σR2Kvar2)=10,000(252202)=10,000(625400)=$2,250,000.N_{\text{var}}(\sigma_R^2 - K_{\text{var}}^2) = 10{,}000\,(25^2 - 20^2) = 10{,}000\,(625 - 400) = \$2{,}250{,}000.

Note the payoff's convexity in vol: going from 20 to 25 vol earns $2.25m, but 20 to 15 loses only 10{,}000(225-400) = -\1.75$m. Long variance is long convexity, you win more from a vol spike than you lose from an equal vol drop, which is exactly why sellers demand a premium and fair variance strikes trade above expected realized.

What breaks in practice

  • The wings are not traded to infinity. The replication needs a continuum of strikes out to 00 and \infty; real markets have finite strikes, so the strip is truncated. Truncation underestimates fair variance and, in a crash, caps how much the swap can pay, the replication breaks exactly when variance explodes. Post-2008, capped variance swaps (cap at 2.5×2.5\times strike) became standard.
  • Discrete monitoring and jumps. The log-contract identity assumes continuous paths; a jump adds a term 2[ln(Si/Si1)ΔSi/Si1]-2\sum[\ln(S_i/S_{i-1}) - \Delta S_i/S_{i-1}] so realized variance and the replication diverge, a big down-gap makes the actual realized variance exceed the option strip's hedge.
  • Dividends and discreteness. Discrete dividends and daily (vs continuous) sampling introduce corrections the clean formula omits.

In interviews

The derivation is the prize: show dS/SdlnS=12σ2dtdS/S - d\ln S = \tfrac12\sigma^2 dt, integrate to get realized variance =2[dS/Sln(ST/S0)]= 2[\int dS/S - \ln(S_T/S_0)], and conclude that variance replicates via the log contract, which spans into a 1/K21/K^2-weighted strip of options. Emphasize it is model-free (no vol model, just option prices) and static. Know the payoff Nvar(σR2Kvar2)N_{\text{var}}(\sigma_R^2 - K_{\text{var}}^2), that variance swaps are long convexity (fair strike above expected realized, and a vol swap is worth less by a convexity adjustment), and the practical failure, wing truncation and jumps break the hedge in a crash. This machinery is the VIX.

Related concepts

Practice in interviews

Further reading

  • Demeterfi, Derman, Kamal & Zou (1999), More Than You Ever Wanted to Know About Volatility Swaps
  • Carr & Madan, Towards a Theory of Volatility Trading
  • Gatheral, The Volatility Surface (Ch. 11)
ShareTwitterLinkedIn