Quant Memo
Advanced

Quasi-Monte Carlo And Sobol Sequences

Random sampling wastes effort re-covering ground it already covered. Sobol sequences replace randomness with a deterministic pattern that fills gaps on purpose, and option prices converge far faster as a result.

Prerequisites: Monte Carlo Option Pricing, Variance Reduction in Monte Carlo Pricing

Throw darts at a dartboard for an hour and you will find clusters where three darts landed almost on top of each other, and gaps where none landed at all. Every clustered dart is wasted information — it tells you nothing you didn't already know from its neighbour. Ordinary Monte Carlo simulation has exactly this problem: random points clump by chance, and the clumping is why the error shrinks so slowly, at a rate of 1/N1/\sqrt{N} for NN paths. Quadruple the paths, and you only halve the error.

Fill the gaps on purpose

A Sobol sequence is a way of choosing points that never wastes a throw. The first point goes roughly in the middle of the empty space, the second fills the largest remaining gap, and so on, forever — every new point is placed where the existing points have left the biggest hole. There is no randomness in this at all; the sequence is a fixed, precomputed list. The technical name for "spread evenly, no clumps, no gaps" is low discrepancy, and it is the entire idea: a low-discrepancy sequence is what a dartboard would look like if every throw were aimed at the emptiest spot.

Because a Sobol sequence covers space more efficiently, a sum over its points converges to an integral faster than a sum over random points does. The bound behind this, due to Koksma and Hlawka, says the error of a quasi-Monte Carlo (QMC) estimate is roughly

errorQMC    C(logN)dN,\text{error}_{\text{QMC}} \;\approx\; C\,\frac{(\log N)^{d}}{N},

where NN is the number of points, dd is the dimension of the problem (roughly, the number of independent random draws each path needs), and CC is a constant depending on how wiggly the payoff is. In plain English: for a fixed low dimension, QMC error shrinks close to 1/N1/N, not 1/N1/\sqrt{N} — for N=10,000N=10{,}000, that is the difference between an error of about 0.010.01 and one of about 0.00330.0033, roughly three times tighter for the same computing bill.

Worked example 1: estimating an integral with 4 points

Estimate 01x2dx\int_0^1 x^2\,dx, whose true value is 1/3=0.33331/3 = 0.3333.

Random points x=0.10,0.85,0.30,0.62x = 0.10, 0.85, 0.30, 0.62: squares are 0.0100,0.7225,0.0900,0.38440.0100, 0.7225, 0.0900, 0.3844. Mean =0.3017= 0.3017. Error =0.0316= 0.0316.

Evenly-spaced, low-discrepancy points x=0.125,0.375,0.625,0.875x = 0.125, 0.375, 0.625, 0.875 (what a 1-D Sobol-type sequence gives with 4 points): squares are 0.0156,0.1406,0.3906,0.76560.0156, 0.1406, 0.3906, 0.7656. Mean =0.3281= 0.3281. Error =0.0052= 0.0052.

Same number of function evaluations, six times less error, because the evenly-spaced points never left a gap the random points happened to miss.

Worked example 2: convergence for a digital option

Price a digital call that pays $1 if a stock ends above its strike, true probability 0.400.40. Simulating this is just estimating a probability, so the error scales the same way as any Monte Carlo average.

Paths NNRandom MC error (0.5/N\approx 0.5/\sqrt{N})Sobol QMC error ((logN)/N\approx (\log N)/N, d=1d=1)
1001000.0500.0500.0460.046
10,00010{,}0000.00500.00500.000920.00092
1,000,0001{,}000{,}0000.000500.000500.00001380.0000138

At small NN the two are close, but random error only ever divides by 10=3.16\sqrt{10}=3.16 each time you add a decade of paths, while the Sobol error divides by nearly 7070 once NN is large. That gap is the entire commercial case for QMC on a pricing desk: the same accuracy for a fraction of the runtime, which matters when a Monte Carlo book has to reprice thousands of times a day for risk.

random points clump gap here Sobol points
Both panels have the same number of points. The random panel has a visible clump and a visible gap; the Sobol panel spreads them out on purpose, so no region of the square is left unexplored.

These sampled stock paths are exactly what feeds a Monte Carlo option price — each path's terminal value is one sample point, the same way each dart in the earlier picture was one point in the unit square. Drag the volatility slider and watch how much a handful of ordinary random paths scatter; that scatter is the raw material a low-discrepancy sequence spreads out on purpose instead of leaving to chance.

Path explorer
12551time →
end (bold path) 92.67spread of ends 54.436 independent paths, same settings

What this means in practice

QMC is standard on desks that reprice large baskets of vanilla and path-dependent options intraday, because halving runtime for the same accuracy is real money in compute costs and lets risk be refreshed more often. It pairs naturally with a Brownian bridge construction, which pushes the "important" random draws into the first few dimensions where low discrepancy works best.

The (logN)d/N(\log N)^d/N bound degrades badly as the dimension dd grows — a path with 250 time steps is nominally a 250-dimensional integral, and Sobol's advantage can evaporate entirely. In practice it survives because payoffs rarely depend equally on all 250 dimensions; a few early draws (via a Brownian bridge) dominate, and the effective dimension is much lower than the nominal one. Also, because a Sobol sequence is deterministic, you cannot get a confidence interval from a single run the way you can with random Monte Carlo — you need several independent randomized copies (scrambled Sobol) and must average across those to estimate the error honestly.

Random sampling wastes effort re-covering space it already covered; a low-discrepancy sequence spends every point filling the largest remaining gap, which is why quasi-Monte Carlo error shrinks close to 1/N1/N instead of 1/N1/\sqrt{N}.

Related concepts

Practice in interviews

Further reading

  • Glasserman, Monte Carlo Methods in Financial Engineering (Ch. 5)
  • Niederreiter, Random Number Generation and Quasi-Monte Carlo Methods
ShareTwitterLinkedIn