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
- M.B. Giles and B.J. Waterhouse.
'Multilevel quasi-Monte Carlo path simulation'. pp.165-181 in
Advanced Financial Modelling,
in Radon Series on Computational and Applied Mathematics,
de Gruyter, 2009.
(PDF)
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
- EPSRC, through a Springboard Fellowship and project funding
- Oxford-Man Institute of Quantitative Finance