Multilevel Quasi-Monte Carlo software

On this page I provide software for MLQMC computations using MATLAB. In the future, we will also develop a C/C++ version and possibly a Python version.

Each application code has two parts, a high-level part which calls "mlqmc_test" to perform the MLQMC tests, using the routine "mlqmc", and a low-level part which is called by both "mlqmc_test" and "mlqmc" to compute the MLQMC differences for one particular level of correction.

The application codes produce one or more output text files. The MATLAB routine "mlmc_plot" can then be used to generate the standard set of figures which I use in most of my papers.


MATLAB

Common routines used by all applications:
mcqmc06 -- financial options based on scalar geometric Brownian motion, similar to my MCQMC06 paper, using a Milstein discretisation
basket -- basket options based on 5 underlying assets, similar to my 2009 Winter Simulation Conference paper, using a Milstein discretisation

C/C++

Common routines used by all applications:

mcqmc06 -- financial options based on scalar geometric Brownian motion, similar to MCQMC06 paper, using a Milstein discretisation


Licensing and acknowledgements

This software is freely available to all under a GPL license -- anyone requiring a more permissive license for commercial purposes should contact me.

The software is based on the research reported in the papers listed here. In particular, for the MLQMC work see If you find it helpful in your research, this paper can be cited in any publications. I would also be interested to hear about it, particularly if it is used for novel applications.

The underlying research has been supported by