16.2 Quasi Monte Carlo (QMC) techniques for option pricing


16.2.1 Introduction to Quasi Monte Carlo techniques

QMC methods can be considered as an alternative to Monte Carlo simulation. Instead of (pseudo) random numbers, Quasi Monte Carlo algorithms use the elements of low discrepancy sequences to simulate underlying values.

The discrepancy of a set of points $ P \subset [0,1]^s $ measures how evenly these points are distributed in the unit cube. The general measure of discrepancy is given by:

$\displaystyle D_n({\cal B};P):=\sup_{B\in{\cal B}}\left\vert\frac{A(B;P)}{n}-\lambda_s(B)\right\vert$ (16.11)

where $ A(B;P)$ is the number of points in $ P $ belonging to $ B$, $ \lambda_s(B) $ is the Lebesgue measure of the set $ B$, $ \cal B $ is a family of Lebesgue measurable subsets of $ [0,1]^s $, and $ n$ is the number of elements in $ P $.

The discrepancy of a set is the largest difference between the number of points in a subset and the measure of the subset. If we define $ \cal B $ to be the family $ \cal J $ of subintervals $ \prod_{i=1}^s[0,u_i) $, then we get a special measure, the star-discrepancy:

$\displaystyle D_n^*(P):=D_n({\cal J};P)$ (16.12)


16.2.2 Error bounds

For the star-discrepancy measure and reasonable assumption on the nature of the function that has to be integrated an upper bound on the error is given by the following theorem:

THEOREM 16.1 (Koksma-Hlawka)   If the function $ f$ is of finite variation $ V(f) $ in the sense of Hardy and Krause, then the following equation holds for all sets of points $ \{x_1,\ldots,x_n\}\subset I^s=[0,1]^s $

$\displaystyle \left\vert\frac{1}{n}\sum_{i=1}^nf(x_i)-\int_{I^s}f(u)du\right\vert\le V(f)D_n^*(x_1,\ldots,x_n)$ (16.13)

A proof is given in Niederreiter (1992).

This means that the error is bounded from above by the product of the variation $ V(f) $, which in our case is model and payoff dependent and the star-discrepancy of the sequence. The bound cannot be used for an automatic error estimation since the variation and the star-discrepancy cannot be computed easily. It has been shown though that sequences exist with a star-discrepancy of the order $ {\mathcal{O}}(n^{-1}(\ln
n)^{s}) $. All sequences with this asymptotic upper bound are called low-discrepancy sequences Niederreiter (1992). One particular low-discrepancy sequence is the Halton sequence.


16.2.3 Construction of the Halton sequence

We start with the construction of the one-dimensional Halton sequence within the interval $ [0,1]$. An element of this sequence is calculated by using the following equation:

$\displaystyle x_i = \sum_{k=0}^{\infty } n_{k,i} p^{-k-1}$ (16.14)

with $ i>0 $, $ p=2$ and $ n_{k,i} $ determined by the following equation:

$\displaystyle i = \sum_{k=0}^{\infty } n_{k,i} p^k; \quad 0\le n_{k,i}<p ; \; n_{k,i} \in \mathbb{N}$ (16.15)

Note that with the above equation $ n_{k,i} $ is a function of $ i$ and takes values only in $ \{0;1\}$. To illustrate the algorithm we calculate the first three points.
$ i=1$: $ n_{0,1} = 1$, $ n_{k,1} = 0$ for every $ k>0$
$ i=2$: $ n_{1,2} = 1$, $ n_{k,2} = 0$ for every $ k \neq 1$
$ i=3$: $ n_{0,3} = n_{1,3} = 1$, $ n_{k,3} = 0$ for every $ k>1$
Therefore we get the sequence $ 1/2,1/4,3/4,1/8,5/8,... $. The extension of this construction scheme to higher dimensions is straightforward. For every dimension $ j=1, \ldots ,d$ we define $ x_i^j$ by

$\displaystyle x_i^j = \sum_{k=0}^{\infty } n_{k,i}(j) p_j^{-k-1}$ (16.16)

with $ p_j $ is the $ j$th smallest prime number and $ n_{k,i}(j) $ is calculated as follows:

$\displaystyle i = \sum_{k=0}^{\infty } n_{k,i}(j) p_j^k ; \quad 0\le n_{k,i}(j)<p_j ; \; n_{k,i}(j) \in \mathbb{N}\; \forall j$ (16.17)

By using $ p_1=2 $, $ p_2=3 $ we get the following two-dimensional Halton sequence: $ (1/2;1/3),(1/4;2/3),....$ In contrast to grid discretization schemes like $ i/n \quad i=1,...,n $ low-discrepancy sequences fill the integration space in an incremental way avoiding the exponential growth of grid points of conventional schemes.

XploRe provides quantlets to generate pseudo random numbers and low discrepancy sequences. For the generation of the pseudo random numbers we use


erg
= 31963 randomnumbers (seqnum,d,n)
generates n pseudo random vectors of dimension d

where seqnum is the number of the random generator according to Table 16.1, d is the dimension of the random vector and n the number of vectors generated.


Table: Random generator that can be used in XploRe
0 Park and Miller with Bays-Durham shuffle
1 L'Ecuyer with Bays-Durham shuffle
2 Knuth
3 generator from G. Marsaglia et al. Marsaglia (1993)
4 random number generator of your system
5 generator from ACM TOMS 17:98-111
6 multiply with carry gen. (Marsaglia) Marsaglia (1993)


The generation of low discrepancy sequences is provided by


erg
= 31982 lowdiscrepancy (seqnum,d,n)
generates the first n low discrepancy sequence vectors of dimension d

where seqnum is the number of the low discrepancy sequence according to Table 16.2.


Table: Low-discrepancy sequences available in XploRe , (Niederreiter; 1992) .
0 Halton sequence
1 Sobol sequence
2 Faure sequence
3 Niederreiter sequence



16.2.4 Experimental results

Figure 16.2 shows that two dimensional Halton points are much more equally spaced than pseudo random points. This leads to a smaller error at least for ``smooth'' functions.

Figure: 1000 two-dimensional pseudo random points vs. 1000 Halton points 32149 XFGSOPRandomNumbers.xpl , 32152 XFGSOPLowDiscrepancy.xpl
\includegraphics[width=0.7\defpicwidth]{Xplore1000ran1.ps} \includegraphics[width=0.7\defpicwidth]{Xplore1000HaltonDim12.ps}

The positive effect of using more evenly spread points for the simulation task is shown in Figure 16.3.

Figure 16.3: Absolute error of a random sequence and the Halton sequence for a put option
\includegraphics[width=1.3\defpicwidth]{XploreQMCvsMC.ps}

The points of a low-discrepancy sequence are designed in order to fill the space evenly without any restrictions on the independence of sequence points where as the pseudo random points are designed to show no statistically significant deviation from the independence assumption. Because of the construction of the low discrepancy sequences one cannot calculate an empirical standard deviation of the estimator like for Monte Carlo methods and derive an error approximation for the estimation. One possible way out of this dilemma is the randomization of the low-discrepancy sequences using pseudo random numbers i.e. to shift the original quasi random numbers with pseudo random numbers Tuffin (1996). If $ x_1,\ldots,x_n $ are scalar elements of a low-discrepancy sequence $ X$ then we can define a new low discrepancy sequence

$\displaystyle W(\epsilon)=\{y_1,\ldots,y_n\} \quad \textrm{ with } \quad y_i=\l...
... & x_i+\epsilon<=1 \\ (x_i+\epsilon)-1 & \textrm{otherwise} \end{array} \right.$ (16.18)

for a uniformly distributed value $ \epsilon$. Then we can calculate an empirical standard deviation of the price estimates for different sequences $ W(\epsilon ) $ for independent values $ \epsilon$ which can be used as a measure for the error. Experiments with payoff functions for European options show that this randomization technique reduces the convergence rate proportionally.

The advantage of the Quasi Monte Carlo simulation compared to the Monte Carlo simulation vanishes if the dimension increases. Especially the components with a high index number of the first elements in low-discrepancy sequences are not evenly distributed Niederreiter (1992). Figure 16.4 shows that the $ 49$th and $ 50$th component of the first 1000 Halton points are not evenly distributed. But the result for the first 10000 points of the sequence shows that the points become more evenly spread if the number of points increases.

Figure: The first 1000 and 10000 Halton points of dimension 49 and 50 32160 XFGSOPLowDiscrepancy.xpl
\includegraphics[width=0.7\defpicwidth]{Xplore1000HaltonDim4950.ps} \includegraphics[width=0.7\defpicwidth]{Xplore10000HaltonDim4950.ps}

However by using the Brownian Bridge path construction method we can limit the effect of the high dimensional components on a simulated underlying path and the corresponding path variable for the most common path dependent options, Morokoff (1996). This method start with an empty path with known start value and calculates at each step the underlying value for a time point with maximum time distance to all other time points with known underlying value until the whole path is computed. Experimental results show that we can still get a faster convergence of the QMC simulation for options up to 50 time points if we apply this path construction method.