By Espen Gaarder Haug

Monte Carlo simulation is extremely powerful for valuation and risk management of complex financial instruments! One of the drawbacks have been the "extremely slowness" of standard Monte Carlo simulation. Using quasi-random numbers solve this problem to a large degree!

To get an intuition of how much more efficient it is to use quasi-random numbers you can download a small Excel spreadsheet I have built. The Excel model use standard pseudo-random Monte Carlo and quasi-random Monte Carlo to value a European call or put option. I have also included the closed form Nobel price winning formula of Black-Scholes-Merton. This formula gives an exact solution, and in this way you can easily compare the standard Monte Carlo method with the quasi-random Monte Carlo simulations.

Click here to download The Excel Quasi-Random Monte Carlo Option Calculator (requires Excel version 97 or later).

Online Java Applet Quasi-Random Monte Carlo Black Scholes Option Calculator (requires Browser that supports Java 2).

Online Java Applet Quasi-Random Tripple-Asset Option Calculator (requires Browser that supports Java 2).

The table below shows European spread option values calculated using a very accurate 100 time step 3-Dimensional binomial lattice model as well as quasi-random and pseudo-random Monte Carlo using 5000 simulations.

    Years to maturity =0.1 Years to maturity =0.5
  Correlations: -0.5 0 0.5 -0.5 0 0.5
Vol asset 1 Vol asset 2 100 step 3-Dimensional Rubinstein lattice binomial
20% 20% 4.7554 3.8008 2.5551 10.7566 8.7080 6.0286
25% 20% 5.4297 4.3732 3.0098 12.2031 9.9377 7.0097
20% 25% 5.4079 4.3469 2.9743 12.1521 9.8811 6.9323
    Quasi-Monte Carlo 5000 simulations
20% 20% 4.7575 3.7997 2.5567 10.7613 8.7054 6.0307
25% 20% 5.4306 4.3752 3.0113 12.1985 9.9400 7.0112
20% 25% 5.4141 4.3481 2.9799 12.1622 9.8827 6.9445
    Pseudo-Monte Carlo 5000 simulatios
20% 20% 4.5799 3.7829 2.4900 10.4823 8.7098 6.0611
25% 20% 5.3198 4.3987 3.0840 12.1201 9.7988 7.0244
20% 25% 5.3182 4.2089 2.9130 11.6983 9.8404 7.1166
Asset 1=122, Asset 2= 120, Strike=3, Rate=10%, Carry 0(option on futures)

The quasi-random Monte Carlo is very close to the results of the lattice model. Standard pseudo-random Monte Carlo is on the other hand often far off, and would need many more simulations to get the necessary accuracy for any practical purposes. For 2 assets following a geometric Brownian motion it would in most practical cases be better to use a lattice model than quasi-random Monte Carlo. However for more complex processes and or more assets Monte Carlo simulation is often the "only" possibility. The Quasi-Monte Carlo simulation could easily be combined with several well-known variance reduction techniques. This would increase the accuracy even more, or alternatively reduce the computer time for the same accuracy. Spread options are frequently traded in the OTC markets and at the New York Mercantile Exchange, NYMEX (the spread options at NYMEX are American style).

The code in the Excel calculator is done in Visual Basic for Applications (VBA). For professional use it should naturally be done in a fast computer language like C++. Moving from VBA to C++ will speed up the simulations dramatically.

 400 Pseudo-Random Numbers

 400 Quasi-Random Numbers

The next figure shows approximations of the standard normal distribution, using 1000 pseudo-random numbers and 1000 quasi-random numbers. (The kurtosis numbers are the Fischer type, should be 0 for the normal distribution). For the quasi-random normal distribution the Fisher kurtosis is close to 0, as it should be. However for the pseudo-random numbers the kurtosos is -0.355. The reason for this is basically because the pseudo-random numbers are to "unstable/random" to give a good approximation with only 1000 "simulations".


For more information on Monte Carlo (MC) and quasi-Monte Carlo (QMC) simulation visit the MCQMC page!



copyright Espen Haug 1998- 2004 all rights reserved