Professional Documents
Culture Documents
pricing
by Bingqian Lu
Undergraduate Mathematics Department
Pennsylvania State University
University Park, PA 16802
Project Supervisor: Professor Anna Mazzucato
July, 2011
Abstract
Monte Carlo simulation is a legitimate and widely used technique for dealing
with uncertainty in many aspects of business operations. The purpose of
this report is to explore the application of this technique to the stock volality
and to test its accuracy by comparing the result computed by Monte Carlo
Estimate with the result of Black-Schole model and the Variance Reduction
by Antitheric Variattes. The mathematical computer softwear application
that we use to compute and test the relationship between the sample size
and the accuracy of Monte Carlo Simulation is itshapeMathematica. It also
provides numerical and geometrical evidence for our conclusion.
0.1
Monte Carlo Option Price is a method often used in Mathematical finance to calculate the value of an option with multiple sources of uncertainties and random features, such as changing interest rates, stock prices or
exchange rates, etc.. This method is called Monte Carlo simulation, naming
after the city of Monte Carlo, which is noted for its casinos. In my project, I
use Mathematica, a mathematics computer software, we can easily create
a sequence of random number indicating the uncertainties that we might
have for the stock prices for example.
0.2
A distcrete model for change in price of a stock over a time interval [0,T] is
Sn+1 = Sn + Sn t + Sn n+1 t,
S0 = s
(1)
where Sn = Stn is the stock price at time tn = nt, n = 0, 1, ..., N 1, t =
T /N , is the annual growth rate of the stock, and is a measure of the
stocks annual price volatility or tendency to fluctuate. Highly volatile stocks
have large values of . Each term in sequence 1 , 2 ... takes on the value
of 1 or -1 depending on the outcoming value of a coin tossing experiment,
heads or tails respectively. In other words, for each n=1,2,...
(
1 with probability = 1/2
n =
(2)
1 with probability = 1/2
By using Mathematica, it is very easy to create a sequence of random number. With this sequence, the equation (1) can then be used to simulate
a sample path or trajectory of stock prices, {s, S1 , S2 , ..., SN }. For our
purpose here, it has been shown as a relatively accurate method of pricing
options and very useful for options that depend on paths.
0.3
0.3.1
Let us simulate several sample trajectories of (1) for the following parameter
values and plot the trajectoris: = 0.12, = 0.01, T = 1, s = $40, N = 254.
The following figures are the graphs that we got for = 0.01 Since we
have to be the value generated by flipping a coin, it gives us arbitrary values
and thus, we have different graphs for parameter = 0.01, = 0.12, T =
1, s = $40, N = 254
This is another possibile graph.
1
0.3.2
= 0.7
Then we repeated the experiment using the value of = 0.7 for the volality
and other parameters remain the same.
Similarly, it should have a number of different graphs due to the arbitrary
value of we generated by Mathematica. The following figures are the
graphs that we got for = 0.7
Conclusion: From the two experiments above with the large different
and constant other parameters, we can tell that the larger the , the
greater degree of variability in their behavior forthe s it is permissible
to use random number generator that creates normally distributed random
numbers with mean zero and variance one. Recall that the standard normal
distribution has the bell-shape with a standard deviation of 1.0 and standard
normal random variable has a mean of zero.
0.4
0.4.1
In the formular (1), the random terms Sn n+1 t on the right-hand side
can be consider as shocks or distrubances that model functuations in the
stock price. After repeatedly simulating stock price trajectories, as we did
in the previous chapter, and computing appropriate averages, it is possible
to obtain estimates of the price of a European call option, a type of
45
44
43
42
41
0.2
0.4
0.6
0.8
1.0
45
44
43
42
41
0.2
0.4
0.6
0.8
1.0
(k)
(k)
(k)
S0 = s
(5)
Sn+1 = Sn(k) + rSn(k) t + Sn(k) n+1 t,
Equation (5) is identical to equation (1) for eachk = 1, ..., M , except the
growth rate is replaces by the annual interest r that it costs the writer
to borrow money.
Option pricingotheory requires that the average value of
n
(k)
the payoffs f (SN 0, k = 1, ..., M be equal to the compounded total return
f (sN )
C(s)
= (1 + rt)N
M
(7)
k=1
0.4.2
We use equation (7) to compute a Monte Carlo estimate of the value of a five
5
month call option, in other word T = 12
years, for the following parameter
values: r = 0.06, = 0.2, N = 254, andK = $50. N is the number of times
of steps for each trajectories.
45
44
43
42
41
0.2
0.4
0.6
0.8
1.0
0.5
Monte Carlo has been used to price standard European options, but as
we known that Black-Scholes model is the correct method of pricing these
options, so it is not necessary to use Monte Carlo simulation.
Here is the formular for exact Black-Scholes model:
s
K
d1
C(s) = erf c( ) erT erf c(f racd2 2)
(8)
2
2
2
where
s
2
1
d1 = [ln( ) + (r + )T ], d2 = d1 T
k
2
T
and erfc(x) is the complementary error function,
Z
2
2
erf c(x) =
et dt
x
(9)
(10)
Now we insert all data we have to the Black-Schole formula to check the
accuracy of our results by comparing the Monte Carlo approximation with
the value computed from exact Black-Schole formula. We generated BlackScholes Model with parameterr = 0.06, = 0.2, K = $50, k = 1, ..., M (whereT =
N t), N = 200. And we got: C(40) = 1.01189, C(45) = 2.71716 and C(50) =
5.49477. The error of the Monte Carlo Estimate seems to be very large.
Thus we repeat the previous procedure and increased our sample size (M)
to 50,000 and 100,000. Then, I made a chart to check if the accuracy of
Monte Carlo Simulation increases by the increasing of the sample size.
45
44
43
42
41
0.2
0.4
0.6
0.8
1.0
MCE(1,000)
C(40)
= 1.67263
C(45) = 4.6343
C(50)
= 8.1409
MCE (10,000)
C(40)
= 1.61767
C(45) = 4.24609
C(50)
= 7.92441
MCE (50,000)
C(40)
= 1.76289
C(45) = 4.3014
C(50)
= 7.7889
MCE (100,000)
C(40)
= 1.7496
C(45) = 4.2097
C(50)
= 7.6864
Black-Schole Model
BS(40) = 1.71179
BS(45) = 4.11716
BS(50) = 7.49477
(11)
error (10,000)
E(40) = 0.30232
E(45) = 0.19466
E(50) = 0.07819
error(50,000)
E(40) = 0.14037
E(45) = 0.13862
E(50) = 0.05254
error (100,000)
E(40) = 0.14037
E(45) = 0.08833
E(50) = 0.02157
Black-Schole Model
BS(40) = 1.71179
BS(45) = 4.11716
BS(50) = 7.49477
0.6
(12)
n
o
(k)
(k)
k+1
in equation (5) to simulate a payoff f (SN
)and also use the sequence 1 , ..., N 1
k
in equation (5) to simulate
an associated
n
o payoff f (SN ). Now the payoffs
k+
k
are simulated inpairs f (SN
), f (SN
) This is the Mathematica Program
that we ran to evaluate the Variance Reduction.
After comparing Monte Carlo Simulation with Variance Reduction by
Antithetic Variates, We made a table of data.
100
80
60
40
20
0.2
0.4
0.6
0.8
1.0
k(1,000)
V (40) = 1.74309
V (45) = 4.4789
V (50) = 7.94642
k(5,000)
V (40) = 1.66685
V (45) = 4.305103
V (50) = 7.67707
k(50,000)
V (40) = 1.69966
V (45) = 4.1778
V (50) = 7.62341
k (100,000)
V (40) = 1.70674
V (45) = 4.099835
V (50) = 7.53716
While the table for the data of Monte Carlo Simulation we get under the
same condition is:
MCE(1,000)
C(40)
= 1.67263
C(45) = 4.6343
C(50)
= 8.1409
MCE (5,000)
C(40)
= 1.72486
C(45) = 4.34609
C(50)
= 7.92241
MCE (50,000)
C(40)
= 1.76289
C(45) = 4.3014
C(50)
= 7.7889
MCE (100,000)
C(40)
= 1.7496
C(45) = 4.2097
C(50)
= 7.6864
error (50,000)
E(40) = 0.0372
E(45) = 0.0296
E(50) = 0.0217
error (100,000)
E(40) = 0.0251
E(45) = 0.0268
E(50) = 0.0198
BS Model
BS(40) = 1.71179
BS(45) = 4.11716
BS(50) = 7.49477
70
60
50
40
0.2
0.4
0.6
0.8
1.0
0.7
Random Walk
Random Walk
ds = Sdt + S dw t
(14)
this is the random walk, where ds is S(tk +t)S(tk ), so this can be written
as
CM (10) CM (20)
)
CM (40) CM (160)
(16)
50
40
30
20
10
0.2
0.4
0.6
0.8
1.0
10
40
35
30
0.2
0.4
0.6
0.8
1.0
Figure 11: We first array for S in order to make space of memory for the
11
Figure 12: This is the Matehamatica program we made and data we got for
the different S(254), after 10 times of computing, named as M[k]=S[255, k]
12
S(0)=40.png
Figure 13: This result is the Monte Carlo estimate corresponding to our
current stock prices of S(0) = s = 40 after using 254 steps (the number of
N) and M
= 10, 000 for each trajectories for each Monte Carlo estimate.
13
S(0)=45.png
Figure 14: This result is the Monte Carlo estimate corresponding to our
current stock prices of S(0) = s = 45 after using 254 steps (the number of
N) and M
= 10, 000 for each trajectories for each Monte Carlo estimate.
14
S(0)=50.png
Figure 15: This result is the Monte Carlo estimate corresponding to our
current stock prices of S(0) = s = 50 after using 254 steps (the number of
N) and M
= 10, 000 for each trajectories for each Monte Carlo estimate.
Figure 16: This the program we wrote with Mathematica for the Variance
Reduction by Antithetic Variattes. We have S for the positive and Y for
the negative and we get the average of these value by adding them up and
divide by 2.
15
Figure 17: This the program we wrote with Mathematica for different values
of .
46
45
44
43
42
41
0.2
0.4
0.6
0.8
16
1.0
46
45
44
43
42
41
0.2
0.4
0.6
0.8
1.0
Figure 19: This is how the graph looks like when = 0.5
0.2
0.4
0.6
0.8
17
1.0
20
15
10
0.2
0.4
0.6
0.8
18
1.0