Common Random Numbers for Comparing Designs
A variance-reduction trick for comparing two simulated strategies fairly, by driving both simulations with the exact same random draws so differences in outcome come only from the design, not from luck.
Prerequisites: Monte Carlo Simulation (Coding)
Suppose you want to compare two execution algorithms in a market simulator — algorithm A versus algorithm B — to see which achieves lower slippage on average. If each is run on its own independently generated random price paths, the comparison is muddied by two sources of variation at once: genuine differences between the algorithms, and pure luck in which random paths each one happened to be tested against. A might look better simply because it was tested on a friendlier batch of simulated paths, not because it's actually the better algorithm.
Common random numbers removes that second source by forcing both simulations to use the exact same underlying random draws — the same sequence of simulated price moves, the same random order arrivals — feeding one identical stream into both algorithm A's and algorithm B's runs. Any difference in the resulting outcomes must then come from how each algorithm reacted to that shared randomness, not from one getting an easier draw than the other.
Mechanically this is just careful bookkeeping: reset the random number generator to the same seed (or reuse the same pre-generated array of random numbers) before each algorithm's run, so both see draw 1, draw 2, draw 3, and so on identically. Done correctly, this technique shrinks the variance of the estimated difference between the two designs — often substantially — compared to running each with independent randomness, meaning fewer simulation runs are needed to conclude one design is genuinely better.
Common random numbers compares two simulated designs fairly by feeding both the identical stream of random draws, so any difference in simulated outcome reflects the designs themselves rather than one getting luckier randomness — sharply reducing the variance of the estimated difference between them.
Further reading
- Law, Kelton, Simulation Modeling and Analysis, ch. 11