Transform your PDFs into Flipbooks and boost your revenue!
Leverage SEO-optimized Flipbooks, powerful backlinks, and multimedia content to professionally showcase your products and significantly increase your reach.
Institute of Applied Mathematics (IAM)<br />
METU<br />
Term Project<br />
<strong>MONTE</strong> <strong>CARLO</strong><br />
<strong>METHODS</strong> <strong>FOR</strong> <strong>OPTION</strong><br />
<strong>PRICING</strong><br />
Sibel KAPLAN<br />
1509009<br />
Submitted to: Coskun KÜÇÜKÖZMEN<br />
June 2008<br />
1
CONTENTS<br />
1 Introduction<br />
2 Background<br />
2.1 Monte Carlo Integration …………………………………………………………...5<br />
2.2 Generating Pseudorandom variates ………………………………………………..6<br />
2.2.1 Inverse Transform Method ……………………………………………………..6<br />
2.2.2 Acceptance-rejection method …………………………………………………..7<br />
2.2.3 Ad hoc method …………………………………………………………………7<br />
3 Variance Reduction Techniques<br />
3.1 Antithetic sampling ………………………………………………………………..9<br />
3.2 Common Random Numbers ……………………………………………………….9<br />
3.3 Control variates …………………………………………………………………..10<br />
3.4 Variance reduction by conditioning ……………………………………………...10<br />
3.5 Stratified sampling ……………………………………………………………….11<br />
3.6 Importance sampling ……………………………………………………………..11<br />
4 Quasi Monte Carlo Methods<br />
4.1 The Halton sequence ……………………………………………………………..12<br />
4.2. The Sobol sequence ……………………………………………………………...12<br />
5 Numerical Results<br />
5.1 European Call Option …………………………………………………………….17<br />
5.2 As-you-like-it (Chooser) Option …………………………………………………18<br />
5.3 Call On The Maximum (Rainbow option) ……………………………………….19<br />
5.4 Down-And-Out Put Option (Barrier options) ……………………………………21<br />
6 Interpretations of Findings and Conclusions<br />
References<br />
2
ABSTRACT<br />
Monte Carlo simulation has proved to be a valuable tool for estimating security prices for<br />
which closed form solution does not exist. This project evaluates variance reduction<br />
techniques and the Quasi-Monte Carlo methods that have attractive properties for the<br />
numerical valuation of derivatives and examines the use of Monte Carlo simulation with low<br />
discrepancy sequences for valuing derivatives versus the traditional Monte Carlo method<br />
using pseudo-random sequences. The relative performance of the methods is evaluated based<br />
on European call options and some types of exotic options.<br />
1 INTRODUCTION<br />
Simulation is the imitation of a real world process of system. In finance, a basic model for the<br />
evolution of stock prices, interest rates, exchange rates, and other factors would be necessary<br />
to determine a fair price of a derivative security. Simulations make assumptions about the<br />
behavior of the system being modeled. This model requires inputs, called the parameters of<br />
the model and outputs, a result that might measure the performance of a system. We usually<br />
construct the model in such a way that inputs are easily changed over a given set of values.<br />
This way allows for a more complete picture of the possible outcomes.<br />
Simulation is used because it transfers work to the computer. We use a simulation to provide a<br />
numerical answer to a question, assign a price to a given asset and also to verify the results<br />
obtained from an analytic solution.<br />
A Monte Carlo method is a technique that involves using random numbers and probability to<br />
solve problems. The term Monte Carlo was coined by S. Ulam and Nicholas Metropolis in<br />
reference to games of chance, a popular attraction in Monte Carlo, Monaco. It is accepted that<br />
the basis of Monte Carlo Methods arisen with Buffon’s needle problem. In 1777 G.Comte de<br />
Buffon made an experiment by drawing parallel strips with d distance on a floor. He put<br />
needle with L length on this floor at random. He then calculate analytically the probability of<br />
needle’s intersection with strips as p=2L/pd. p is the probability of intersection. He repeated<br />
N time this experiment and count how many times the needle intersected with strips. n is the<br />
number of intersections. He found that the proportion n/N is close to the analytic result p. The<br />
proportion n/N converges to p as N gets greater. G.Comte de Buffon’s experiment contributes<br />
much to the probability theory in the 20 th century.<br />
The Monte Carlo method is just one of many methods for analyzing uncertainty propagation,<br />
where the goal is to determine how random variation, lack of knowledge, or error affects the<br />
sensitivity, performance, or reliability of the system that is being modeled. Monte Carlo<br />
3
simulation is categorized as a sampling method because the inputs are randomly generated<br />
from probability distributions to simulate the process of sampling from an actual population.<br />
The Monte Carlo method was first introduced to the finance literature by Boyle (1977). Even<br />
it can be applied to a wide range of complex problems, there are problems for which the<br />
standard Monte Carlo approach is computationally burdensome. Therefore, various<br />
techniques like variance reductions and quasi-Monte Carlo methods have been proposed to<br />
speed up the convergence. Quasi-Monte Carlo methods use the low discrepancy sequences<br />
that are dispersed throughout the domain of integration. Niederreiter (1992) provides a<br />
comprehensive overview of low discrepancy sequences and their properties and shows that<br />
low discrepancy sequences outperform standard Monte Carlo for high dimensions. However<br />
Tan and Boyle (1997) indicate “…standard Monte Carlo is more efficient for higher<br />
dimensional problems unless one uses a very large number of points.” Boyle, Broadie and<br />
Glasserman (1996), Caflisch and Morokoff (1996), Ninomiva and Tezuka(1996) and Paskov<br />
and Traub (1995) have used low discrepancy sequences in finance applications. The<br />
consensus is that for most finance applications the superiority of the low discrepancy methods<br />
over standard Monte Carlo methods persists for a much higher range of dimensions than is the<br />
case for more general integrals.<br />
The layout of the remainder of the paper is as follows. In the next section, I briefly review the<br />
standard Monte Carlo approach. I discuss the variance reduction techniques in Section 3 and<br />
low discrepancy sequences in Section 4. These variance reduction techniques and low<br />
discrepancy sequences can be used to tackle problems in computational finance and I review<br />
some results in Section 5. The MATLAB software is used for drawing figures in Section 4<br />
and 5 and numerical calculations in Section 5. Then I conclude the research and results.<br />
4
2 BACKGROUND<br />
2.1 Monte Carlo Integration<br />
Computing the definite integral of a function is deterministic. It involves no randomness.<br />
However, it is made a stochastic problem by interpreting the integral as an expected value.<br />
Consider an integral on the unit interval [0,1]:<br />
I =<br />
1<br />
∫<br />
0<br />
g(<br />
x)<br />
dx<br />
This integral may be thought as the expected value E[g(U)], where U is a uniform random<br />
variable on the interval (0,1), i.e., U~(0,1). The expected value is estimated by a sample mean<br />
that is a random variable. A sequence {Ui} of independent random samples from the uniform<br />
distribution is generated and then the sample mean is calculated:<br />
I<br />
m<br />
1<br />
=<br />
m<br />
m<br />
∑<br />
i=<br />
1<br />
g ( U<br />
i<br />
)<br />
The strong law of large numbers implies that, with probability 1, lim = I .<br />
5<br />
I m<br />
m→∞<br />
Random sampling, which is where Monte Carlo comes from, is not really possible with a<br />
computer. However, a sequence of pseudo-random numbers can be generated using<br />
generators.<br />
Monte Carlo is the only viable option to compute a multidimensional integral. For example, if<br />
an integral is like<br />
∫<br />
I = φ ( x)<br />
dx<br />
A<br />
n<br />
where A ⊂ R , we may estimate I by randomly sampling a sequence of points<br />
x i<br />
∈ A,<br />
i = 1,...,<br />
m,<br />
and building the estimator<br />
where (A)<br />
m vol(<br />
A)<br />
I m = φ ( xi<br />
)<br />
m<br />
∑<br />
i=<br />
1<br />
vol denotes the volume of the region A . The ratio ( 1/<br />
m) φ ( x ) estimates the<br />
average value of the function and the integral is get by multiplying this ratio with volume of<br />
the integration region that is usually taken as unit hypercube. Therefore, Monte Carlo is viable<br />
solution to price exotic options that have multidimensional integral in pricing.<br />
The price of a European style option is the expected value, under the risk-neutral measure, of<br />
the discounted payoff of the option:<br />
m<br />
∑<br />
i=<br />
1<br />
i
f = e<br />
−rT<br />
E[<br />
fT<br />
],<br />
where f T is the payoff at the maturity date T and r is constant risk-free rate. If we assume<br />
geometric Brownian motion, f T is calculated by generating a standard normal random<br />
variable ε ~ N ( 0,<br />
1)<br />
:<br />
f<br />
T<br />
= max{ 0,<br />
S(<br />
0)<br />
e<br />
2<br />
( r−σ<br />
2<br />
) T + σ Tε<br />
6<br />
− K}.<br />
Depending on the nature of the option at hand, the full sample paths or the terminal asset price<br />
can be generated.<br />
While there is no need to resort to Monte Carlo simulation to price a vanilla European style<br />
option, we use it to compare with Black-Scholes formula.<br />
2.2 Generating Pseudorandom variates<br />
The generation of pseudorandom numbers are variates from the uniform distribution on the<br />
interval (0,1). Then, suitable transformations are applied in order to obtain samples from the<br />
desired distribution. I explain the inverse transform method, the acceptance-rejection<br />
approach and ad hoc strategies for transformation.<br />
The standard way to generate pseudorandom numbers is linear congruential generators<br />
(LCGs). A LCG generates a sequence of non-negative integer numbers Z i , given an integer<br />
number i−1<br />
Z :<br />
Zi i<br />
= ( aZ − 1 + c)<br />
mod m,<br />
where a is the multiplier, c is the shift and m is the modulus. To generate a uniform variate on<br />
the unit interval the number ( / m)<br />
.<br />
Z i<br />
Actually, there is nothing random in the sequence generated by a LCG. LCG must start from<br />
an initial number Z 0 that is called the seed of the sequence. I use MATLAB for numerical<br />
part that sets the seed to a precise value.<br />
2.2.1 Inverse Transform Method<br />
The distribution function F( x)<br />
= P{<br />
X ≤ x}<br />
is given to generate random variates. If F is<br />
invertible, the following inverse transform method can be used:<br />
1. Generate a random number U~U(0,1).<br />
−1<br />
2. Return X = F ( U ) .<br />
−1<br />
P { X ≤ x}<br />
= P{<br />
F ( U ) ≤ x}<br />
= P{<br />
U ≤ F ( x)}<br />
= F ( x)
where F is monotonic and U is uniformly distributed.<br />
2.2.2 Acceptance-rejection method<br />
If it is difficult to invert a probability density f(x), the inverse transform method is<br />
unattractive. At that point assume a function t(x) such that<br />
t( x)<br />
≥ f ( x)<br />
∀ x ∈ I<br />
The function t(x) is not a probability density function, however the related function r(x)=t(x)/c<br />
is,<br />
∫<br />
c = t(<br />
x)<br />
dx<br />
I<br />
If the distribution r(x) is can be simulated, the following method is used to generate a random<br />
variate X according to probability density f:<br />
1. Generate Y~r<br />
2. Generate U~U(0,1), independent of Y<br />
3. If U ≤ f ( Y ) / t(<br />
Y ) , return X=Y; otherwise reject and repeat the procedure.<br />
2.2.3 Ad hoc method<br />
The Box-Muller approach can be used for generation of normal variates. Let X,Y~N(0,1) be<br />
two independent variables and ( R , θ)<br />
be polar coordinates of the point of Cartesian<br />
coordinates (X,Y) in the plane.<br />
2 2<br />
d = R = X +<br />
The joint density of X and Y is<br />
and<br />
f ( x,<br />
y)<br />
=<br />
1 1 −d<br />
2<br />
f ( d , θ ) = e .<br />
2 2π<br />
Y<br />
1<br />
e<br />
2π<br />
2<br />
2<br />
−x<br />
2<br />
1<br />
tan Y −<br />
θ =<br />
1<br />
e<br />
2π<br />
2<br />
−y<br />
2<br />
7<br />
X<br />
1<br />
= e<br />
2π<br />
2 2<br />
−(<br />
x + y )<br />
2<br />
Then, the Box-Muller algorithm may be conducted as follows:<br />
1<br />
= e<br />
2π<br />
1. Generate two independent uniform variates U U ~ U(<br />
0,<br />
1)<br />
.<br />
2<br />
2. Set R = −2logU1<br />
and θ = 2πU 2 .<br />
3. Set X = Rcosθ<br />
, Y = Rsin<br />
θ .<br />
1,<br />
2<br />
To avoid trigonometric function, Box-Muller approach is integrated with the rejection<br />
approach:<br />
1. U<br />
U ~ U(<br />
0,<br />
1)<br />
1,<br />
2<br />
−d<br />
2
2. V = U −1,<br />
V = U −1,<br />
S = V + V<br />
1<br />
2 1<br />
2<br />
2 2<br />
3. if S>1 return to step 1,<br />
− 2InS<br />
S<br />
2<br />
1<br />
− 2InS<br />
S<br />
o.w X = V1<br />
, Y = V2<br />
I use inverse transformation of normal distribution and Box-Muller algorithm in numeric part.<br />
The crude Monte Carlo, as explained, is to randomly sample from uniform distribution within<br />
(0,1) interval and the average the values of ( i)<br />
U g to obtain ) (<br />
m 1<br />
I m = g U i and lim I m = I .<br />
m<br />
m→∞<br />
This average is an unbiased estimator of the integral and the variance of the estimator is<br />
var(<br />
I m<br />
8<br />
2<br />
2<br />
var( g(<br />
U1))<br />
) = . To improve the accuracy of estimation the number of simulation must<br />
m<br />
be increased. However, it is infeasible. One way to overcome this issue is to use variance<br />
reduction techniques. Another one is to adopt a quasi-Monte Carlo approach.<br />
∑<br />
i=<br />
1
3 VARIANCE REDUCTION TECHNIQUES<br />
To improve the accuracy of estimation, the following variance reduction techniques work on<br />
the numerator of<br />
directly.<br />
var(<br />
I m<br />
3.1 Antithetic sampling<br />
var( g(<br />
U1))<br />
) = and reduce the variance of the samples X i = g(<br />
U i)<br />
m<br />
The simplest method is antithetic sampling. Consider the sequence of paired replications<br />
(X1 (i) , X2 (i) ), i=1,…,n:<br />
X1 (1) X1 (2) … X1 (n)<br />
X2 (1) X2 (2) … X2 (n)<br />
i ( i)<br />
( i)<br />
These samples are horizontally independent. The pair-averaged samples X = ( X + X ) / 2<br />
are independent. However, vertical independence is not required since for fixed i, X1 (i) and<br />
X2 (i) may be dependent.<br />
( i)<br />
i)<br />
( i)<br />
( i)<br />
( i)<br />
Var(<br />
X ) Var(<br />
X1<br />
) + Var(<br />
X 2 ) + 2Cov(<br />
X1<br />
, X 2 ) Var(<br />
X )<br />
Var[<br />
X ( n)]<br />
= =<br />
= ( 1+<br />
ρ(<br />
X 1,<br />
X 2))<br />
n<br />
4n<br />
2n<br />
In order to reduce the variance of the sample mean, negatively correlated replications within<br />
each pair can be taken. Hence, to induce a negative correlation, a random number sequence<br />
{Uk} is used in the first replication in each pair, and then {1-Uk} in the second one.<br />
3.2 Common Random Numbers<br />
Suppose that we use Monte Carlo simulation to estimate a value depending on a parameter a<br />
and try to estimate something like h( α ) = Ew[<br />
f ( α;<br />
w)]<br />
by evaluating the sensitivity of this<br />
value on the parameter a, dh(a)/da. The simplest idea is to simulate to estimate the value of<br />
the finite difference,<br />
of the difference<br />
h( α + δα)<br />
− h(<br />
α )<br />
δα<br />
f ( α + δα;<br />
w)<br />
− f ( α;<br />
w)<br />
δα<br />
for a small value of increment da. Actually, samples<br />
is generated and its expected value is estimated.<br />
Due to random noise and variation in the parameter, the expected value of the difference<br />
between two random variables Z = X1<br />
− X 2 is estimated where the expected values of these<br />
two random variables are not equal. By Monte Carlo a sequence of independent samples<br />
9<br />
1<br />
2
Z j X1,<br />
j X 2,<br />
j −<br />
= is simulated. To improve the estimation, the variance of the samples should<br />
be reduced:<br />
Var( X j − X 2 j ) = Var(<br />
X1<br />
j ) + Var(<br />
X 2 j ) − 2Cov(<br />
X1<br />
j , X 2<br />
1 j<br />
To reduced the variance of the samples, positive correlated samples must be induced. The<br />
common random numbers technique is very similar to antithetic sampling and the same<br />
monotonicity assumption is required.<br />
3.3 Control variates<br />
Let θ = E(X<br />
) be estimated and there is another random variable Y, with a known expected<br />
value ?, which is correlated to X. The variable Y is called the control variate.<br />
X c<br />
= X + c(<br />
Y − v)<br />
where c is a parameter we must chose.<br />
E(<br />
X ) =θ<br />
c<br />
2<br />
Var(<br />
X ) = Var(<br />
X)<br />
+ c Var(<br />
Y)<br />
+ 2cCov(<br />
X,<br />
Y)<br />
c<br />
The variance of the estimator can be reduced by a suitable choice of c,<br />
c<br />
*<br />
Cov(<br />
X , Y )<br />
= −<br />
Var(<br />
Y )<br />
*<br />
Var(<br />
X c )<br />
= 1 − ρ<br />
Var(<br />
X )<br />
2<br />
xy<br />
where ?xy is the correlation between X and Y. The sign of c depends on the sign of this<br />
correlation.<br />
The control variates technique is used when the analytical formula is not known for X.<br />
3.4 Variance reduction by conditioning<br />
When the expected value of a random variable X is be computed, it is useful to condition with<br />
respect to another random variable Y by conditioning as following:<br />
E [ X ] = E[<br />
E[<br />
X / Y ]]<br />
Variances may be computed by conditioning, too:<br />
Var ( X ) = E[<br />
Var(<br />
X / Y )] + Var(<br />
E[<br />
X / Y ])<br />
This formula implies two consequences:<br />
1_Var(<br />
X ) ≥ E[<br />
Var(<br />
X / Y )]<br />
2 _Var(<br />
X ) ≥ Var(<br />
E[<br />
X / Y ])<br />
Using the first inequality to reduce the variance of an estimator is variance reduction by<br />
stratification explained following. The second one is variance reduction by conditioning.<br />
10<br />
)
3.5 Stratified sampling<br />
Let estimate E[X] that X is dependent on the value of another random variable Y. Let Y to<br />
take a finite set of values yj with known probability. P Y = y j}<br />
= Pj<br />
conditioning, it is seen that<br />
= ∑<br />
=<br />
m<br />
j 1<br />
E[<br />
X]<br />
E[<br />
X / Y = y ] .<br />
j Pj<br />
11<br />
{ , j=1,…,m. Using<br />
Therefore, it is stratified sampling to simulate to estimate the values E[X | Y=yj], for j=1,…,m<br />
and use the formula above to put results together. This approach differs from variance<br />
reduction by conditioning by sampling X with selecting a value for Y. In variance reduction<br />
by conditioning, Y is sampled.<br />
3.6 Importance sampling<br />
Importance sampling approach is useful when simulating rare events of sampling from the<br />
tails of a distribution. Consider the following estimation:<br />
θ = E [ h(<br />
X )] = h(<br />
x)<br />
f ( x)<br />
dx<br />
∫<br />
where X is a random vector with joint density f(x). Let f(x)=0 whenever g(x)=0,<br />
h(<br />
x)<br />
f ( x)<br />
⎡h(<br />
x)<br />
f ( x)<br />
⎤<br />
*<br />
θ = ∫ g(<br />
x)<br />
dx = Eg<br />
= Eg<br />
( h ( x))<br />
g(<br />
x)<br />
⎢<br />
g(<br />
x)<br />
⎥<br />
⎣ ⎦<br />
g must be chosen with care, otherwise, the method may backfire. Using the well-known<br />
properties of the variance, it is obtained;<br />
var [ h(<br />
x)]<br />
=<br />
f<br />
Δ var =<br />
2<br />
h ( x)<br />
f ( x)<br />
dx −θ<br />
*<br />
2 f ( x)<br />
2<br />
varg<br />
[ h ( x)]<br />
= ∫h<br />
( x)<br />
f ( x)<br />
dx −θ<br />
g(<br />
x)<br />
∫<br />
∫<br />
2 ⎡ f ( x)<br />
⎤<br />
h ( x)<br />
⎢1<br />
− f ( x)<br />
dx<br />
g(<br />
x)<br />
⎥<br />
⎣ ⎦<br />
From the last expression, the following selection must be done to reduce variance:<br />
g(x)>f(x) when the term h 2 (x)f(x) is large<br />
g(x)
4 QUASI-<strong>MONTE</strong> <strong>CARLO</strong> <strong>METHODS</strong><br />
The variance reduction techniques rely that random sampling is really random. However, the<br />
random numbers generated by a LCG are not random at all. Therefore alternative<br />
deterministic sequences of numbers that are obtained by the experience in Monte Carlo<br />
simulation work well in generating samples. This ides may be made more precise by defining<br />
the discrepancy of a sequence numbers. Low-discrepancy sequences are used to compute a<br />
multidimensional integral on the unit hypercube. An alternative name for a low-discrepancy<br />
sequence is quasi-random sequence where the name quasi-Monte Carlo comes from.<br />
4.1 The Halton sequence<br />
Halton (1960) generates low-discrepancy sequences based on the following algorithm:<br />
• Representing an integer number n in a base b, where b is a prime number:<br />
n=(…d4d3d2d1d0)b.<br />
• Reflecting the digits and adding a radix point to obtain a number within the unit<br />
interval:<br />
h=(0. d0d1d2d3d4…)b.<br />
the n th number in the Halton sequence with base b is formulated as:<br />
h(<br />
n,<br />
b)<br />
=<br />
m<br />
∑<br />
k = 0<br />
dkb<br />
−(<br />
k+<br />
1)<br />
For example, the number 13 with base 2 is;<br />
• 13=1(8)+1(4)+0(2)+1(1)=1101<br />
• Reverse the order of the digits; 1101 becomes 1011 and determine the number that this<br />
is the binary decimal expansion for; 1011=1(1/2)+0(1/4)+1(1/8)+1(1/16)=11/16.<br />
The one-dimensional sequence with base 2 is called Van der Corput. Halton sequences are<br />
obtained in multiple dimensions, making sure different prime numbers are used for each base<br />
which is associated to each dimension.<br />
12
Fig. 1. Pseudorandom sample ((0,1)x(0,1)) in two<br />
dimensions n=100<br />
13<br />
Fig. 2. Covering the bidimensional unit square with<br />
Halton sequences base=2,3<br />
Figure 1 is drawn by pseudorandom sample in two dimensions with 100 times simulation and<br />
figure 2 is drawn by Halton sequences in two dimensions with bases 2 and 3 for 100 integers.<br />
It could be argued from these figures that the covering of the Halton sequence is more even.<br />
The result is more precise with more simulation as shown in figure 3 and 4.<br />
Fig.3. Pseudorandom sample ((0,1)x(0,1)) in two<br />
dimensions n=10000<br />
Fig.4. Covering the bidimensional unit square with<br />
Halton sequences base=2,3 n=10000
Fig.5. Covering the bidimensional unit square with<br />
Halton sequences base=2,7<br />
14<br />
Fig.6. Covering the bidimensional unit square with<br />
Halton sequences base=2,4(non-prime)<br />
Fig.7. Covering the bidimensional unit square with Halton sequences base=14,15(non-prime)<br />
The figures 5, 6 and 7 compare the prime bases with non-prime and larger bases. It results that<br />
larger holes and gaps in non-prime bases figures. Poor coverage of the unit square is obtained<br />
when large bases are used in Halton sequences.
4.2. The Sobol sequence<br />
Sobol (1967) uses only base 2. In order to generate multidimensional sequences, the Van der<br />
Corput sequence with base 2 is permuted by a mechanism linked to polynomials in a binary<br />
arithmetic. Also Faure(1982) and Niederreiter (1987) generates sequences to overcome<br />
problems of large prime numbers base. I will explain and use Sobol sequence in numerical<br />
part.<br />
Unlike the Halton sequence, the multidimensional Sobol sequence eliminates the problems<br />
caused by large prime numbers by using the same base m=2. So, there is some computational<br />
time advantage due the shorter cycle length. This project uses the faster algorithm of Antonov<br />
and Saleev (1979).<br />
The construction of a multidimensional Sobol sequence follows a three-step procedure.<br />
Because the steps are identical for each dimension, the procedure for one dimension is<br />
illustrated.<br />
Step1:<br />
Generate a set of odd integers mi, for i 1,2, ,log [ N]<br />
0 2 i<br />
< m < ,<br />
i<br />
= L , that satisfy the condition:<br />
where N is the number number of price paths, and [ log 2 N ] is the smallest integer larger than<br />
log N . [ ]<br />
2<br />
2<br />
15<br />
2<br />
log N is the maximum number of digits in the expansion of N in base 2. To<br />
generate the Sobol sequence, a primitive polynomial is needed for each dimension. Let the<br />
polynomial be<br />
P = x + ax + L + a x+<br />
a ∈ {0,1} .<br />
q q−1<br />
1 q−1<br />
1,<br />
Our interest in the primitive polynomial is only in its coefficients. For each polynomial a set<br />
of q initial odd integers mi is also required. Then, we generate the set of mi for all i > q using<br />
the coefficients of the primitive polynomial and the recursive relationship:<br />
Step2:<br />
m = 2am ⊕2 am ⊕L⊕2 a m ⊕2 m ⊕m<br />
2 q−1 q<br />
i 1 i−1 2 i−2 q−1 i− q+ 1 i−q i−q Convert the odd integer mi into a binary fraction in the base 2 number system to gain the<br />
direction number vi.<br />
mi<br />
vi= , i = 1,2 L ,log<br />
i [ 2 N]<br />
in base 2.<br />
2<br />
i<br />
.
Step3:<br />
Use the Antonov and Saleev recursive algorithm to calculate the n th Sobol number ∅ ( n)<br />
:<br />
∅ ( n) =∅( n−1) ⊕ vc () ,<br />
where ∅ (0) = 0,<br />
vc () is the c th direction number, and c is the rightmost zero-bit in the base 2<br />
expansion of n − 1.<br />
Fig.8. Bidimensional Sobol sequence n=100<br />
Fig.10. Bidimensional Sobol sequence n=10000.<br />
16<br />
Fig.9. Bidimensional Sobol sequence n=1000<br />
Figures 8, 9 and 10 show that Sobol sequences are good at covering the unit square. Sobol<br />
sequences cover more than Halton sequences.
5 NUMERICAL RESULTS<br />
The stock price has Geometric Brownian Motion path:<br />
dS = μ S dt + σS<br />
dZ<br />
t<br />
t<br />
The simplest discretization approach, Euler scheme,<br />
St + δt<br />
= ( 1+<br />
μδt)<br />
St<br />
+ σS<br />
t<br />
t<br />
t<br />
δtε<br />
With the properties of standard Wiener process<br />
St + δt<br />
= St<br />
exp(( μ −σ<br />
2<br />
/ 2)<br />
δt<br />
+ σ<br />
17<br />
δtε<br />
where ε ~ N(<br />
0,<br />
1)<br />
The following figure shows sample paths of stock price generated by crude Monte Carlo.<br />
Fig.11. Sample paths generated by crude Monte Carlo<br />
5.1 European Call Option<br />
The price of a European style option is the expected value, under the risk-neutral measure, of<br />
the discounted payoff of the option:<br />
f = e<br />
−rT<br />
E[<br />
fT<br />
],<br />
where f T is the payoff at the maturity date T and r is constant risk-free rate. If we assume<br />
geometric Brownian motion, f T is calculated by generating a standard normal random<br />
variable ε ~ N ( 0,<br />
1)<br />
:<br />
f<br />
T<br />
= max{ 0,<br />
S(<br />
0)<br />
e<br />
2<br />
( r−σ<br />
2<br />
) T + σ Tε<br />
− K}.
Depending on the nature of the option at hand, the full sample paths or the terminal asset price<br />
can be generated.<br />
The following table shows the call option price calculated by different approach and the<br />
results are compared with Black-Scholes option pricing. Halton sequences with huge<br />
simulations and control variates technique give the closest result to B-S. Halton sequences<br />
with non-prime base give indeed poor result.<br />
S0=50 K=60 r=0.05 T=1 sigma=0.2<br />
B-S 1.6237<br />
Crude MC, n=1000 1.2562<br />
Crude MC, n=1000000 1.6292<br />
Halton&Box-Muller, n=1000, base=2 and 7 1.6271<br />
Halton&Box-Muller, n=1000, base=2 and 4 2.3594 (poor result with non-prime<br />
18<br />
number)<br />
Halton inverse n=1000 base=2 1.5747<br />
Halton inverse n=1000000 base=2 1.6227<br />
Sobol n=100 1.4407<br />
Sobol n=1000 1.6697<br />
Crude MC + antithetic n=1000 1.7076<br />
Crude MC + antithetic n=1,000,000 1.6228<br />
Crude MC + control variates pilot=1000, n=1000 1.6228<br />
Table 1. Numerical results for a vanilla European call option<br />
5.2 As-you-like-it (Chooser) Option<br />
Also known as “as you like it” options, chooser options allow the owner to choose whether<br />
the option is a put or a call at a specific date. The underlying options in chooser options are<br />
usually both European and have the same strike price. More complex chooser options do not<br />
have the same strike price or time to maturity. These options will be more expensive than the<br />
individual underlying put or call options, because the owner has the right to choose. Chooser<br />
options are most useful in hedging against a future event that might not occur. They are used<br />
often around major events such as elections and when large market movements are expected.<br />
The date at which the option holder must choose between the put and the call is often a few<br />
days after the major event takes place. For example, a new act of parliament is expected to<br />
positively affect a particular company. However, if the act is not passed, the company might
e affected negatively. Buying a chooser option allows a stockholder in the company to hedge<br />
against a possible loss.<br />
In numerical calculation, the option that is European-style and has maturity T2 is priced. At<br />
time T1
at maturity T. There are also call options on min(S1(T), S2(T)) and put options on the<br />
maximum and minimum of two of more asset prices. I assume the two assets have constant<br />
volatilities s i, and a constant correlation ?.<br />
1 2<br />
*<br />
log S1<br />
( T ) = log S1(<br />
0)<br />
+ ( r + σ1<br />
) T + σ1B1<br />
( T )<br />
2<br />
1 2<br />
*<br />
log S2<br />
( T ) = log S 2 ( 0)<br />
+ ( r + ρσ1σ<br />
2 − σ 2 ) T + σ 2B2<br />
( T )<br />
2<br />
The value of a call option on the maximum of two risky asset prices with no dividends and<br />
volatilities s 1 and s 2 and correlation ? is found as follow after some calculations:<br />
σ1<br />
− ρσ 2<br />
σ 2 − ρσ1<br />
−<br />
S1(<br />
0)<br />
M ( d11,<br />
d1,<br />
) + S2<br />
( 0)<br />
M ( d21,<br />
−d<br />
2,<br />
) + e KM(<br />
−d12,<br />
−d<br />
22,<br />
ρ)<br />
− e<br />
σ<br />
σ<br />
where M denotes the bivariate normal distribution function,<br />
σ = σ<br />
+ ,<br />
d<br />
d<br />
d<br />
1<br />
2<br />
2<br />
1 − 2ρσ1σ 2 σ 2<br />
S<br />
σ T<br />
S<br />
σ T<br />
2<br />
1(<br />
0)<br />
1<br />
log( ) +<br />
2(<br />
0)<br />
2<br />
= , d 2 = d1<br />
− σ T ,<br />
11<br />
21<br />
S1(<br />
0)<br />
1 2<br />
log( ) + ( r + σ ) T 1<br />
=<br />
K 2<br />
, d12 = d11<br />
− σ1<br />
T<br />
σ T<br />
1<br />
S 2(<br />
0)<br />
1 2<br />
log( ) + ( r + σ ) T 2<br />
=<br />
K 2<br />
, d 22 = d21<br />
− σ 2 T .<br />
σ T<br />
2<br />
20<br />
rT −rT<br />
The following table shows the price of call on the max calculated by different approach. The<br />
Halton sequence gives the closest result to theoretical formula given in part 5.3. It can be said<br />
that the Halton and Sobol sequences give similar results.<br />
S1=100, S2=120, K=100, T=1, r=0.05, sigma1=0.1, sigma2=0.2 ?=-0.5 (paths=365)<br />
Theoretical 17.3473<br />
Crude MC n=1000 26.5903<br />
Halton n=1000 25.0943<br />
Sobol n=1000 25.1160<br />
Antithetic+crude n=1000 26.3454<br />
Table 3. Numerical results for maximum on two call option<br />
K
Maximum on Five Assets Call Options:<br />
The payoff of a call option on the maximum of five assets with maturity T is<br />
( L )<br />
Max⎡Max S , S , , S − K,0⎤<br />
⎣ 1 2 5 ⎦<br />
Parameters are S1=100, S2=100, S3=100, S4=100, S5=100, K=100, T=1, r1=5%, r2=5%, r3=5%,<br />
r4=5%, r5=5%, q1=2%, q2=2%, q3=2%, q4=2%, q5=2%, s 1=0.1, s2=0.2, s3=0.2, s4=0.2,<br />
s 5=0.2, ?12=0.5 and the correlation matrix is<br />
⎡ 1<br />
⎢<br />
0.5<br />
⎢<br />
⎢0.4 0.5<br />
1<br />
0.4<br />
0.4<br />
0.4<br />
1<br />
0.3<br />
0.3<br />
0.3<br />
0.2⎤<br />
0.2<br />
⎥<br />
⎥<br />
0.2⎥<br />
⎢<br />
⎢<br />
0.3 0.3 0.3 1 0.2<br />
⎥<br />
⎥<br />
⎢⎣0.2 0.2 0.2 0.2 1 ⎥⎦<br />
Time intervals=12 n=50000<br />
Crude MC 22.14372<br />
Halton 22.06235<br />
Sobol 22.15743<br />
Antithetic+crude MC 22.58089<br />
Antithetic+Halton 22.14969<br />
Antithetic+Sobol 22.16016<br />
Table 4. Numerical results for maximum on five call option<br />
Closed-form formula is not feasible for this maximum on five call option. To gain the<br />
approximations of the prices, I use 60 dimensional random numbers to simulate. The result<br />
shows that, regardless of the speed, simulation is a feasible method to calculate the prices.<br />
5.4 Down-And-Out Put Option (one of barrier options)<br />
The payoff of a barrier option depends on whether the underlying asset’s price reaches a<br />
barrier level during a certain period of time. There are many types of barrier options. Barrier<br />
options are first classified into knock-in and knock-out options. The contract is canceled if the<br />
barrier value, B, is crossed at any time during the whole life in knock-out options. However,<br />
knock-in options are activated only if the barrier is crossed. The barrier B may be above or<br />
below the initial asset price S0. If B > S0 it is an up option. If B < S0, it is a down option. This<br />
21
gives us four types of barrier options: up-and-in, up-and-out, down-and-in, down-and-out.<br />
Furthermore, each of these options can be either a call or a put.<br />
A down-and-out put option, Pdo, is a put option that becomes useless if the asset price falls<br />
below the barrier B; in this case B < S0 and B < K. By holding Pdo, the risk for the option<br />
writer is reduced. Therefore, a down-and-out put option is cheaper than a vanilla one. For the<br />
option holder, the potential payoff is reduced. However, a cheaper insurance is got.<br />
A down-and-in put option is activated only if the barrier level B < S0 is crossed. Holding both<br />
a down-and-out and a down-and-in put option is equivalent to holding a vanilla put option.<br />
The following relation is hold;<br />
P= price of the vanilla put<br />
P=Pdi + Pdo<br />
Pdi= price of down-and-in put option<br />
Pdo=price of down-and-out put option.<br />
The main concern for pricing barrier option is the monitoring frequency. Lower monitoring<br />
frequency makes crossing the barrier less likely and this may affect the price. The barrier<br />
might be monitored continuously in principle. However, periodic monitoring is applied in<br />
practice, especially at the close of trading at each day or month. Willmott (2000) shows<br />
analytical pricing formulas for certain barrier options by assuming that barrier monitoring is<br />
continuous:<br />
−rT<br />
P = Ke ( N(<br />
d4<br />
) − N ( d2<br />
) − a(<br />
N(<br />
d7<br />
) − N(<br />
d5<br />
))) − S0<br />
( N(<br />
d3<br />
) − N(<br />
d1)<br />
− b(<br />
N(<br />
ds<br />
) − N(<br />
d6<br />
)))<br />
where<br />
2<br />
−1+<br />
2r<br />
/ σ<br />
⎛ B ⎞<br />
a = ⎜<br />
S ⎟<br />
⎝ 0 ⎠<br />
2<br />
log( S0<br />
/ K)<br />
+ ( r + σ / 2)<br />
T<br />
d1<br />
=<br />
σ T<br />
2<br />
log( S0<br />
/ B)<br />
+ ( r + σ / 2)<br />
T<br />
d 3 =<br />
σ T<br />
2<br />
log( S0<br />
/ B)<br />
−(<br />
r −σ<br />
/ 2)<br />
T<br />
d 5 =<br />
σ T<br />
2<br />
2<br />
log( S0<br />
K / B ) − ( r −σ<br />
/ 2)<br />
T<br />
d 7 =<br />
σ T<br />
22<br />
2<br />
1+<br />
2r<br />
/ σ<br />
⎛ B ⎞<br />
b = ⎜<br />
S ⎟<br />
⎝ 0 ⎠<br />
2<br />
log( S0<br />
/ K)<br />
+ ( r −σ<br />
/ 2)<br />
T<br />
d 2 =<br />
σ T<br />
2<br />
log( S0<br />
/ B)<br />
+ ( r −σ<br />
/ 2)<br />
T<br />
d 4 =<br />
σ T<br />
2<br />
log( S0<br />
/ B)<br />
− ( r + σ / 2)<br />
T<br />
d 6 =<br />
σ T<br />
2<br />
2<br />
log( S0K<br />
/ B ) − ( r + σ / 2)<br />
T<br />
d8<br />
=<br />
σ T<br />
When monitoring discrete, the price for a down-and-out option is increased, since crossing the<br />
barrier is less likely. Broadie, Glasserman and Kou (1997) suggest an approximate correction<br />
that is using the analytical formula above, correcting the barrier as follows:
B ⇒ Be<br />
± 0.<br />
5826σ<br />
δt<br />
where the term 0.5826 derives from the Riemann zeta function, dt is time elapsing between<br />
two consecutive monitoring time instants and “-“ sign for down options (when B < S) and “+”<br />
sign for up options (when B > S).<br />
I will use the fact that pricing the knock-in option is equivalent to pricing the knock-out<br />
option for the variance reduction by conditioning techniques since it is known that<br />
Pdo = P – Pdi.<br />
P<br />
di<br />
−rT<br />
= e E[<br />
I(<br />
S)(<br />
K − SM<br />
)<br />
+<br />
]<br />
where asset price path for days i, i=1,…,M (T=Mdt): S= {S1, S2,…,SM} and indicator function<br />
I is I(S)= 1 if Sj < B for some j and =0 otherwise. Then,<br />
*<br />
−rt<br />
*<br />
Pdi = I ( S)<br />
e Bp<br />
( S * , K,<br />
T − t )<br />
j<br />
where t* is crossing time and Bp is the Black-Scholes price for a vanilla put option.<br />
The run results on the table 5 shows that variance reduction by conditioning is very helpful.<br />
The fact that the barrier has been crossed in 7808 replications for 50000 is very good.<br />
However, it can be improved and importance sampling may help. I used the method explained<br />
by Brandimarte (2002) that changing the drift of the asset price may increase the likeliness of<br />
crossing the barrier. The result on the Table 5 shows that importance sampling proves useful<br />
by crossing the barrier in 46233 replications for 50000. Moreover, the price calculated by<br />
using conditional Monte Carlo and importance sampling is closer to analytical formula’s<br />
price. In other words, the quality of estimate is improved. Sobol Sequences do not perform as<br />
well as variance reduction techniques with crude Monte Carlo. It can be concluded that<br />
conditional Monte Carlo with importance sampling outperforms Sobol sequences.<br />
S0=50 K=60 B=40 r=0.05 T=0.75 sigma=0.2<br />
Call = 1.0473 Put = 8.8390<br />
Analytical formula 6.2071<br />
Crude MC, number of monitoring= 270 n=1000 5.7876 (CI=5.4367, 6.1386 Ratio=12.13%)<br />
23<br />
NCrossed=147<br />
Crude MC, number of monitoring= 270 n=50000 5.8646 (CI=5.8147, 5.9145 Ratio=1.70%)<br />
NCrossed=7808<br />
Sobol inverse, monitoring=270 n=1000 10.5347 NCrossed=23<br />
Sobol inverse, monitoring=270 n=50000 Matlab out of performance
Conditional MC, monitoring=270 n=1000 6.0337 (CI= 5.6157, 6.4517 Ratio=13.86%)<br />
24<br />
NCrossed=148<br />
Conditional MC, monitoring=270 n=50000 5.8972 (CI= 5.8371, 5.9574 Ratio=2.04%)<br />
Conditional Sobol inverse MC, monitoring=270<br />
n=1000<br />
Cond.MC and importance sampling,<br />
monitoring=270 n=10000 bp=20<br />
Cond.MC and importance sampling,<br />
monitoring=270 n=50000 bp=20<br />
Cond.MC with Sobol and importance sampling,<br />
monitoring=270 n=1000 bp=50<br />
Table 5. Numerical results for down-and-out put option<br />
NCrossed=7763<br />
8.839 NCrossed=58<br />
5.8991 (CI= 5.8505, 5.9477 Ratio=1.65%)<br />
NCrossed=9257<br />
5.8966 (CI= 5.875, 5.9187 Ratio=0.73%)<br />
NCrossed=46233<br />
8.821<br />
NCrossed=63
6 INTERPRETATIONS OF FINDINGS AND CONCLUSIONS<br />
I test the efficiency of Quasi-Monte Carlo, variance reduction techniques and crude Monte<br />
Carlo by using them to price European call option and exotic options like chooser, rainbow<br />
and barrier options. Halton sequence, one of quasi-monte carlo methods, gives better solution.<br />
However, Sobol’s results are very close to Halton’s. It can be accepted that the performance<br />
of QMC is much better than standard MC and no obvious difference in the two quasi-random<br />
number sequences. However, variance reduction techniques perform better than low-<br />
discrepancy sequences to value down-and-out put option.<br />
In literature, Sobol sequences perform better. This result may be observed in high-<br />
dimensional integrals. Birge (1994) found that low discrepancy sequences gave very accurate<br />
results for pricing simple option contracts. Paskov (1994) used Sobol' sequences to value<br />
mortgage-backed securities and concluded that at least for this security the use of Sobol'<br />
sequences significantly outperformed the standard Monte Carlo. In the case of more general<br />
(non-finance related) integrals, numerical experiments by Bratley, Fox and Niederreiter<br />
(1992) and van Rensburg and Torrie (1993) indicated that the superiority of low discrepancy<br />
algorithms decreases with the dimensions of the problem. These authors suggest that for<br />
general integrals the superiority of the low discrepancy algorithms for dimensions around 30.<br />
Against this background, Paskov's results were surprisingly good. Berman (1996) investigates<br />
the relative performance of Sobol sequences against standard Monte Carlo and Monte Carlo<br />
with variance reduction by using a range of popular exotic options for this comparison. The<br />
dimensions considered are 8, 32 and 128. He concludes that the Sobol' sequences outperform<br />
the use of pseudo-random sequences but that the advantage decreases with dimension. When<br />
a particular type of variance reduction based on stratified sampling is introduced, the<br />
performance of the two approaches is similar.<br />
This project can be improved by working on higher dimensional option pricing and other<br />
asset pricing.<br />
25
REFERENCES<br />
Antonov, I.A., Saleev, V.M. (1979). An Economic Method of Computing LP-Sequences.<br />
U.S.S.R. Comp. Math. Math. Phys., Vol. 19, No. 252.<br />
Berman L.(1996). Comparison of Path Generation Methods for Monte Carlo Valuation of<br />
Single Underlying Derivative Securities. Working Paper JBM Research Division, T. J.<br />
Watson Research Center, Yorktown Heigths, New York.<br />
Birge J. R.(1994). Quasi-Monte Carlo Approaches to Option Pricing. Technical Report,<br />
Department of Industrial and Operations Engineering, University of Michigan.<br />
Boyle, P., Broadie, M. and Glasserman P. (1996). Monte Carlo Methods for Security Pricing.<br />
Journal of Economics Dynamics and Control.<br />
Boyle, P. (1977). Options: A Monte Carlo Approach. Journal of Financial Economics, Vol. 4,<br />
No. 3, pp.323-338.<br />
Brandimarte, P. (2002). Numerical Methods in Finance and Economics. John Wiley & Sons,<br />
UK.<br />
Bratley, P., Fox B.L. and Niederreiter H.(1992). Implementation and Tests of Low-<br />
discrepancy sequences. ACM Bansactions on Modeling and Computer Simulation, No. 2,<br />
pp.195-213.<br />
Broadie M., Glasserman P., and Kou S.G. (1997). A Continuity Correction for Discrete<br />
Barrier Options. Mathematical Finance, 7, 325-349.<br />
Carlish, R.E. and Morokoff, W.J.(1996). Valuation of Mortgage-Backed Securities Using the<br />
Quasi-Monte Carlo Method. International Association of Financial Engineers First Annual<br />
Computational Finance Conference, Stanford University.<br />
Faure, H. (1982). Dlscr6pance de suites associ~es a un syst~me de num6ration (en<br />
dimensions). Aacta Arzthmetzc 41,337-351.<br />
26
Halton, J.H. (1960). On the efficiency of certain quasi-random sequences of points in<br />
evaluating multi-dimensional integrals. Numerical Mathematics 2, 84-90.<br />
Ninomiya, S. and Tezuka, S. (1996). Toward Real-Time Pricing of Complex Financial<br />
Derivatives. Applied Mathematical Finance , No. 3, 1-20.<br />
Niederreiter, H.(1992). Random Number Generation and Quasi-Monte Carlo Methods.<br />
Philadelphia, PA: SIAM.<br />
Niederreiter, H.(1987). A Statistical Analysis of Generalized Feedback Shift Register<br />
Pseudorandom Number Generators. Journal of Scientific Computing, Vol. 8, No. 6, pp. 1035-<br />
1051.<br />
Paskov, S.H. and Traub, J.F. (1995). Faster Valuation of Financial Derivatives. Journal of<br />
Portfolio Management, Vol. 22, No.l, pp. 113-120.<br />
Paskov, S.H. (1994). New Methodologies for Valuing Derivatives, Technical Report.<br />
Computer Science Department, Colombia University.<br />
Rensburg, J., Torrie, G.M. (1993). Estimation of Multidimensional Integral: Is Monte Carlo<br />
the Best Method? Journal of Physics A: Mathematical and General, Vol. 26, pp. 943-953.<br />
Sobol, I.M. (1967). On the distribution of points in a cube and the approximate evaluation of<br />
integrals. U.S.S.R. Comput. Math. Math. Phys, Vol. 7, pp. 86-112.<br />
Tan, K.S. and Boyle, P. (1997). Applications of Scrambled Low Discrepancy Sequences to<br />
Exotic Options. Working Paper, University of Waterloo.<br />
Willmott P. (2000). Quantitative Finance (vols. I and II). Wiley, Chichester, West Sussex,<br />
England.<br />
27