Choosing Pseudo-Random Number Generators for Derivative Pricing
Summary
The document asks whether pseudo-random number generator choice materially affects derivative prices and whether quantitative finance has a standard generator. The response says Mersenne Twister is widely used and notes its inclusion in C++11. It argues that generators with adequate statistical quality should give equivalent pricing results, with practical differences more likely to involve speed and suitability for parallel computation.
The answer recommends avoiding generators with poor statistical properties and names DieHard and DieHarder as test suites commonly used to assess quality. It also contrasts simulation for pricing with cryptographic use, where stronger unpredictability is needed, and mentions WELL as an alternative the respondent favors. Quasi-Monte Carlo is treated separately: its samples need suitable uniform coverage, and its analysis differs from ordinary randomized simulation. The exchange offers guidance rather than empirical price comparisons or a universal benchmark; generator choice still depends on the application and implementation requirements.
Key ideas
- A pseudo-random generator with adequate statistical quality should generally support reliable derivative pricing.
- Speed and parallelizability can distinguish otherwise suitable generators in practice.
- The response names DieHard and DieHarder as useful statistical test suites.
- Cryptographic unpredictability requirements differ from those of ordinary pricing simulations.
- Quasi-Monte Carlo relies on sample coverage and requires a different analysis from standard random simulation.
Tags
Full text
# Effects of random-generator-choice on derivative's price # Effects of random-generator-choice on derivative's price There is a plethora of pseudo-random-generators out there. Some of them are definetly better and some of them severily underperform. My standard tool is Mersenne Twister - when I need to generate some decent pseudo randoms. Still I never actually explicitly tested how the random-generator-choice affects the prices of derivatives. - Are there any papers on this topic out there ? - Does a "gold-standard" exist ? (a standard generator that is very widespread in quant circles) - What are your personal experiences with the effects of generator-choice? ## Answer by Quartz (score 3, accepted) https://quant.stackexchange.com/a/10707 Mersenne Twister is currently the most used PRNG in the quant world. It was even incorporated in C++11 so it can be considered standard nowadays. Any PRNG with reasonable statistical quality shall perform well (equivalently) for pricing, so that differences relate more to convenience (speed, parallelizability etc..). If the statistical quality is poor then you shall avoid a PRNG in general, not just for pricing (so I won't point to comparison papers). However quality needed for pricing is lower than e.g. for cryptography (in that respect you could use e.g. AES as a slower reference to be sure your PRNG does not hide nasty surprises; conversely you couldn't use MT for crypto). I tend to use WELL because it's statitically better than MT, yet still fast enough. As for statistical quality, one usually wants a PRNG to pass the DieHard and DieHarder test suites, that's usually more than enough. Quasi MC is a more complex topic altogether where all you need is uniform distribution of the samples, not randomness. The analysis is totally different and somewhat more involved.
Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.