06.04.2013 Views

MONTE CARLO METHODS FOR OPTION PRICING

MONTE CARLO METHODS FOR OPTION PRICING

MONTE CARLO METHODS FOR OPTION PRICING

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!