Quant Memo
Advanced

Antithetic Variates and Control Variates

Two tricks for squeezing a more accurate answer out of the same Monte Carlo simulation budget, by using the randomness you already generated more cleverly instead of running more paths.

Prerequisites: Pseudorandom Number Generation

A Monte Carlo option price gets more accurate as you simulate more paths — but only slowly. To cut your error in half, the plain-vanilla approach requires four times as many paths, because Monte Carlo error shrinks with the square root of the sample count. Running four times as many simulations to halve an error is expensive, and if you need one more halving, it costs sixteen times the original budget. Antithetic and control variates are two ways to get a more accurate answer from the same number of simulated paths, by using the randomness you already have more intelligently instead of brute-forcing more of it.

The analogy: cancelling out the noise

Picture measuring the average height of a crowd, but you can only sample two people at a time and one of the two always happens to be unusually tall or unusually short compared to average — you don't know which in advance, only that your sampling method has this quirk. A clever trick: whenever you sample someone above average, deliberately pair them with someone equally far below average on the same measurement, so their heights average out cleanly to the true mean for that pair. You still only measured two people, but by forcing the noise in one measurement to cancel the noise in its pair, your paired average lands closer to the truth than two random, unpaired people would have.

That's antithetic variates: instead of drawing two independent random paths, draw one path and its mirror image, and average the payoff from both. Whatever direction the randomness pushed the first path, the mirror path was pushed equally the other way, so some of the noise cancels before you even take the average.

Control variates is a different trick with the same goal. Suppose you're estimating something hard (say, the price of a complicated exotic option) but you happen to also know, exactly and in closed form, the price of something related and easier (say, a plain vanilla option under the same simulated paths). Every time your simulation over- or under-estimates the easy, known quantity, it's very likely over- or under-estimating the hard, unknown quantity by a similar amount, because they were computed from the same simulated randomness. So instead of reporting your raw simulated estimate of the hard quantity, you correct it by however much the simulation missed the easy quantity's known true answer.

Writing it down

Antithetic variates. If ZZ is a standard normal draw used to build one simulated path, its antithetic partner is Z-Z — the same draw, mirrored through zero. Compute the payoff Y1Y_1 using ZZ and the payoff Y2Y_2 using Z-Z, then average:

Y^=Y1+Y22.\hat{Y} = \frac{Y_1 + Y_2}{2}.

In words: pair every random draw with its exact opposite, and average the two resulting payoffs. This works because if the payoff function is roughly monotonic in ZZ (higher ZZ tends to push the payoff consistently up or consistently down), then Y1Y_1 and Y2Y_2 are negatively correlated — when one is too high, the other tends to be too low — and averaging two negatively correlated estimates reduces variance more than averaging two independent ones would.

Control variates. Let YY be your hard, unknown quantity (simulated), and XX a related quantity whose true expected value E[X]E[X] you already know exactly. The control-variate estimator is

Y^cv=Yβ(XE[X]).\hat{Y}_{cv} = Y - \beta\big(X - E[X]\big).

In words: take your raw simulated estimate YY, look at how far the simulation's version of the known quantity XX missed its known true value E[X]E[X], and subtract off that error, scaled by β\beta. The optimal β\beta (the one that minimizes the variance of Y^cv\hat{Y}_{cv}) is β=Cov(Y,X)/Var(X)\beta = \text{Cov}(Y,X)/\text{Var}(X) — the same formula as the slope in a simple linear regression of YY on XX, because that's exactly what this is: using XX's known miss to predict and remove part of YY's unknown miss.

Path explorer
13055time →
end (bold path) 100.38spread of ends 58.966 independent paths, same settings

Draw a batch of paths in the explorer above and imagine generating a second batch that's each path's mirror image around the starting drift — that mirrored batch is the antithetic set. Visually, wherever the original paths clump high, the mirrored paths clump low by the same amount, and averaging payoffs from matched pairs pulls the estimate toward the center faster than an unpaired batch of the same size would.

plain MC antithetic control variate error ≈ 0.10 error ≈ 0.03 error ≈ 0.02 same number of underlying random draws, smaller error from smarter use of them
Illustrative magnitudes matching the worked examples below: the same simulation budget produces a visibly smaller error once the randomness is paired (antithetic) or corrected against a known answer (control variate).

Worked example 1: antithetic variates on a coin-flip-like payoff

Simplify drastically: you're estimating E[max(Z,0)]E[\max(Z, 0)] for ZN(0,1)Z\sim N(0,1), whose true answer is 12π0.3989\frac{1}{\sqrt{2\pi}} \approx 0.3989. Simulate with just 4 draws: Z=1.2,0.5,0.8,1.5Z = 1.2, -0.5, 0.8, -1.5.

Plain Monte Carlo. Payoffs: max(1.2,0)=1.2\max(1.2,0)=1.2, max(0.5,0)=0\max(-0.5,0)=0, max(0.8,0)=0.8\max(0.8,0)=0.8, max(1.5,0)=0\max(-1.5,0)=0. Average: (1.2+0+0.8+0)/4=0.5(1.2+0+0.8+0)/4 = 0.5 — off from the true 0.3989 by about 0.10.

Antithetic, using only the first 2 draws and their mirrors. Draws: Z1=1.2Z_1=1.2 (partner 1.2-1.2), Z2=0.5Z_2=-0.5 (partner 0.50.5). Payoffs: max(1.2,0)=1.2\max(1.2,0)=1.2 and max(1.2,0)=0\max(-1.2,0)=0, average 0.60.6 for the first pair; max(0.5,0)=0\max(-0.5,0)=0 and max(0.5,0)=0.5\max(0.5,0)=0.5, average 0.250.25 for the second pair. Overall estimate: (0.6+0.25)/2=0.425(0.6+0.25)/2 = 0.425 — off from the true 0.3989 by only about 0.026, a noticeably closer estimate using the same two original random draws (four evaluated payoffs either way, but only two independent sources of randomness instead of four). The improvement isn't guaranteed on every tiny sample like this one, but averaged over many repeated experiments, the antithetic estimator's variance is provably lower whenever the payoff is monotonic in ZZ, which max(Z,0)\max(Z,0) is (never decreasing as ZZ increases).

Worked example 2: control variates for an Asian option

You want the price of an Asian call option (payoff based on the average price over the path, harder to get in closed form) using simulated paths. You also know, in exact closed form (Black-Scholes), the price of a plain European call under the same underlying model. Suppose across 1,000 simulated paths: the simulation's average European call payoff came out to $5.35, while its true Black-Scholes price is known exactly to be $5.20 — so this batch of paths happened to overshoot the known quantity by $0.15. Suppose the simulated Asian call payoff averaged $3.80, and the regression slope β\beta between the two payoffs (estimated from the same 1,000 paths) is 0.90.9.

Apply the correction:

Y^cv=3.800.9×(5.355.20)=3.800.9×0.15=3.800.135=3.665.\hat{Y}_{cv} = 3.80 - 0.9 \times (5.35 - 5.20) = 3.80 - 0.9\times0.15 = 3.80 - 0.135 = 3.665.

The corrected Asian option estimate is $3.665, adjusted down because this particular batch of paths happened to run "hot" (overpriced the known European option too), and the correction assumes the Asian option was likely overpriced by a similar, scaled amount, using the same random paths. Over repeated experiments, this corrected estimator has meaningfully lower variance than the raw $3.80 — how much lower depends on how strongly correlated the Asian and European payoffs are (a strong correlation like this, close to 1, gives a large variance reduction; a weak one gives almost none).

What this means in practice

  • Antithetic variates are nearly free. They roughly double your generated paths for a small constant amount of extra bookkeeping (negate the draws, reuse the same random numbers) — a near-default choice for path-dependent Monte Carlo pricing.
  • Control variates need a genuinely correlated, cheaply-known quantity. A European option as a control for an Asian or barrier option (same underlying model, related payoff) is the classic pairing; the technique gives little benefit if no such closely correlated "answer key" quantity is available.
  • Both are complements, not substitutes, for more paths. Variance reduction techniques lower the cost per unit of accuracy; they don't replace the square-root-of-n convergence law, they just make the constant in front of it smaller.
  • Combine them. Production Monte Carlo pricing engines routinely stack both techniques (and others, like importance sampling) on the same simulation, since their variance reductions are largely independent and multiply.

Antithetic variates pair each random draw with its mirror image so the noise partially cancels on averaging; control variates correct a hard, unknown estimate using the known error on an easier, related quantity computed from the same random paths. Both reduce the variance of a Monte Carlo estimate without simulating a single extra independent path.

A fast way to decide if antithetic variates will help: is the payoff a monotonic function of the underlying random draw? If yes (most simple option payoffs are), antithetic pairing helps. If the payoff isn't monotonic (some path-dependent, oscillating payoffs), the benefit can shrink toward zero or occasionally even backfire slightly.

The most common mistake with control variates is estimating β\beta and applying the correction using the same simulated data, then reporting the resulting variance reduction as if it were guaranteed out-of-sample — this overstates the improvement, because β\beta was tuned to that exact batch of noise. A related error with antithetic variates: assuming the technique always helps. If the payoff is not monotonic in the underlying randomness (for instance, a payoff shaped like a narrow spike that could be hit by either ZZ or Z-Z but rarely both), pairing draws with their mirrors can leave variance roughly unchanged, or in rare constructions slightly worse than plain simulation — always confirm empirically that variance actually dropped, don't assume it from the name of the technique.

Related concepts

Practice in interviews

Further reading

  • Glasserman, Monte Carlo Methods in Financial Engineering (ch. 4)
  • Boyle, Broadie & Glasserman, Monte Carlo Methods for Security Pricing (1997)
ShareTwitterLinkedIn