How Random are Random Numbers in a Monte Carlo Simulation problem
May 08, 2009
Every now and then this question pops up in our training sessions or some tutorial with a client. How random is a sequence of random numbers? Are these truly random numbers that we are using in a Monte Carlo simulation algorithm to estimate, for example, the price of some exotic financial derivative?
The question is at once superfluous and fundamental. It is superfluous because whatever sequence of random numbers that gets generated by any computer program, Excel spreadsheet for example or a VBA code using say, linear congruential generator, is as good as it gets and a quant (a financial or a math modeler) will run with it without giving it much thought. It is fundamental because the notion, and thereby any mathematical model predicated on this notion, of randomness is meaning only if the random numbers forming a sequence are truly, 100% random. Any bias, even if it is infinitesimally small, will render a random series as non-random.
In practice, a sequence of truly random numbers cannot be produced by human beings. No human being or a computer can devise an algorithm that can produce true, i.e. 100%, random numbers. All mathematical random number generators produce pseudorandom numbers. Random numbers generated by computer programs are, therefore, pseudo random numbers. Why the term pseudo? This is because, even though the process that generates the random numbers appears to be random, in fact it is not. Any mathematical process an algorithm, if you will or a piece of computer code that generates a series of random numbers is a totally deterministic, causal process even though the output of numbers exhibit statistical randomness.
An important feature of this process the one that generates the random numbers is that it can be repeated again and again. Write a math algorithm, then use a computer code and you have a generator that can produce random numbers at the click of a button. Of course, each time the random numbers will be different (because they are random) but the process that generates these random numbers is the same. This makes it a useful tool for Monte Carlo simulation.
Only God or some supernatural power that controls nature can produce truly random numbers. And any natural process that will generate a sequence of random numbers, provided you can capture such a process, cannot be repeated again. If you live near the woods or in the mountains and wake up every morning to the sounds of birds chirping then you are witness to a random process. The sound produced from the chirping of the birds and its frequency is truly random. You could try to capture that sound and the frequency electronically one morning and using digital signals and some math algorithm produce a series of random numbers but the next morning the sound coming from the chirping of the birds would have changed. In fact, even though you may feel that its the same birds making the same noise at same interval every morning to give you a wake up call, a closer inspection would show that that is not the case. Each morning the birds sing differently and have a different tune.
You may as well wonder whether electronic generated noise is random or not. In 1947, researchers at RAND Corporation in the U.S. had a need for a very large series of random numbers which were normal deviates (drawn from a Gaussian distribution) to solve equations using the now familiar Monte Carlo simulation techniques. They used an electronic roulette wheel to generate random numbers. Even though they subjected the random series to many tests and re-randomization they could not remove all the biases. The results were presented in a historic book titled A Million Random Digits with 100,000 Normal Deviates in 1955.
Nature, on the other hand, is filled with examples of true randomness. Radioactive decay, which has an exponential distribution, for example, is a random (stochastic) process. It is now understood that Surface Topography is a random process. If you are sailing in a fine weather and suddenly the wind picks up which in turn drives up the waves of the sea then the wind or wave induced forces on the sail of your boat and flapping of the sail in the air would be a random process.
However, there is really now way how we can capture these unique and truly random processes in a math algorithm. Therefore, for the moment we run with computer generated code for pseudo random numbers.
Any comments and queries can
be sent through our
More on Quantitative Finance >>
back to top