2 Relationship between derivative values and simulations: Equities, indices, currencies, commodities
Tải bản đầy đủ - 0trang
1264
Part Six numerical methods and programs
The risk-neutral random walk for S is
dS = rS dt + σ S dX.
We can therefore write
option value = e−r(T −t) E payoff(S)
provided that the expectation is with respect to the risk-neutral random walk, not the real one.
This result leads to an estimate for the value of an option by following these simple steps:
1.
Simulate the risk-neutral random walk as discussed below, starting at today’s value of the
asset S0 , over the required time horizon. This time period starts today and continues until
the expiry of the option. This gives one realization of the underlying price path.
2.
For this realization calculate the option payoff.
3.
Perform many more such realizations over the time horizon.
4.
Calculate the average payoff over all realizations.
5.
Take the present value of this average, this is the option value.
80.3 GENERATING PATHS
The initial part of this algorithm requires ﬁrst of all the generation of random numbers
from a standardized Normal distribution (or some suitable approximation). We discuss
this issue below, but for the moment assume that we can generate such a series in
sufﬁcient quantities. Then one has to update the asset price at each time step using
these random increments. Here we have a choice how to update S.
An obvious choice is to use
√
δS = rS δt + σ S δt φ,
where φ is drawn from a standardized Normal distribution. This discrete way of simulating
the time series for S is called the Euler method. Simply put the latest value for S into the
right-hand side to calculate δS and hence the next value for S. This method is easy to apply to
any stochastic differential equation. This discretization method has an error of O(δt).1
The above algorithm is illustrated in Figure 80.1. The stock begins at time t = 0 with a value
of 100 and a volatility of 20%. The spreadsheet simultaneously calculates the values of a call
and a put option. They both have an expiry of one year and a strike of 105. The interest rate is
5%. In this spreadsheet we see a small selection of a large number of Monte Carlo simulations
of the random walk for S, using a drift rate of 5%. The time step was chosen to be 0.01. For
each realization the ﬁnal stock price is shown in row 102 (rows 13–93 have been hidden). The
option payoffs are shown in rows 104 and 107. The mean of all these payoffs, over all the
simulations, is shown in rows 105 and 108. In rows 106 and 109 we see the present values
1
There are better approximations, for example the Milstein method which has an error of O(δt 2 ).
Monte Carlo simulation Chapter 80
A
B
C
D
E
F
G
H
I
1
Asset
100
Time
Sim 1
Sim 2
Sim 3 Sim 4
Sim 5
2
Drift
5%
0
100.00
100.00
100.00
100.00
100.00
3 Volatility
20%
0.01
100.15
101.27
100.79
100.16
98.54
0.01
0.02
99.80
100.84
102.72
102.31
101.66
4 Timestep
5
Int. rate
5%
0.03
97.35
103.77
105.27
102.00
105.64
0.04
96.50
103.08
104.72
97.65
105.35
6
7
0.05
101.25
101.61
102.37
102.76
103.63
= D3+$B$4
0.06
97.53
100.49
104.47
106.86
99.04
8
9
0 07.
97.41
103.09
107.70
105.73
99.20
=E3*EXP(($B$5-0.5*$B$3*$B$3)*$B$4+$B$3*SQRT($B$4)*NORMSINV(RAND()))
10
0.08
91.83
102.45
109.22
105.15
98.77
11
0.09
85.74
100.79
109.07
106.01
97.95
12
0.1
81.32
100.99
105.13
105.40
100.32
94
0.92
102.25
105.44
88.51
96.74
96.08
95
0.93
100.68
105.48
90.44
97.04
95.36
96
0.94
102.26
104.01
92.40
99.26
94.67
97
0.95
102.10
103.47
88.99
95.27
97.09
98
0.96
100.11
103.36
88.95
92.74
96.30
99
0.97
101.34
104.06
89.26
93.59
97.19
100
0.98
101.05
104.23
89.29
92.69
95.29
= MAX($B$104-F102,0)
= MAX(G102-$B$104,0)
101
103.71
102.73
90.54
94.43
94.58
=AVERAGE(E104:IV104) 0.99
102
1
104.94
104.47
91.86
95.05
98.79
103
104
Strike
105 CALL
Payoff
0.00
0.00
0.00
0.00
0.00
105 =D105*EXP(Mean
8.43
106 $B$5*$D$102)
8.02
PV
107
PUTP
ayoff
0.06
0.53
13.14
9.95
6.21
108
Mean
8.31
109
PV
7.9
110
111
Figure 80.1 Spreadsheet showing a Monte Carlo simulation to value a call and a put option.
of the means; these are the option values. For serious option valuation you would not do such
calculations on a spreadsheet. For the present example I took a relatively small number of
sample paths.
The method is particularly suitable for path-dependent options. In the spreadsheet in
Figure 80.2 I show how to value an Asian option. This contract pays an amount max(A −
105, 0) where A is the average of the asset price over the one-year life of the contract. The
remaining details of the underlying are as in the previous example. How would the spreadsheet
be modiﬁed if the average were only taken of the last six months of the contract’s life?
1265
1266
Part Six numerical methods and programs
i
A
B
C
D
E
F
G
H
I
1
Asset
100
Time
Sim 1
Sim 2
Sim 3
Sim 4
Sim 5
2
Drift
5%
0
100.00
100.00
100.00
100.00
100.00
3 Volatility
20%
0.01
98.62
97.68
99.73
99.42
102.98
4 Timestep
0.01
0.02
100.69
96.45
101.13
101.28
101.36
5
Int. rate
5%
0.03
99.60
99.67
102.62
99.37
101.95
6
0.04
99.19
101.15
104.14
98.60
99.51
= D3+$B$4
7
0.05
104.10
100.00
105.03
98.97
96.86
8
0.06
104.71
99.11
103.22
96.93
98.89
9
0.07
107.07
95.99
101.60
96.02
96.83
=E3*EXP(($B$5-0.5*$B$3*$B$3)*$B$4+$B$3*SQRT($B$4)*NORMSINV(RAND()))
10
0.08
108.36
98.96
102.95
97.77
98.23
11
0.09
110.57
100.93
101.59
99.34
98.75
12
0.1
114.50
100.24
99.36
95.67
99.88
13
0.11
114.43
101.32
100.22
94.92
102.90
93
0.91
101.02
111.09
119.38
77.82
85.23
94
0.92
101.54
109.58
118.06
80.13
83.75
95
0.93
101.38
108.20
118.49
79.96
83.54
96
0.94
103.38
107.87
119.79
82.21
83.12
97
0.95
107.58
108.43
116.24
81.58
84.69
98
0.96
108.93
109.39
115.79
81.61
88.50
=AVERAGE(E2:E102)
99
0.97
107.20
112.81
115.56
83.07
90.72
100
0.98
109.18
113.45
116.23
83.59
87.23
= MAX(G104-$B$106,0)
101
0.99
110.49
114.04
116.92
85.03
90.41
=AVERAGE(E106:IV106)
102
1
113.23
117.67
120.05
81.49
93.27
103
104
Average
105.98
106.95
109.21
87.43
97.22
105
106
Strike
105 ASIAN
Payoff
0.98
1.95
4.21
0.00
0.00
107 =D107*EXP(Mean
4.79
108 $B$5*$D$102)
PV
4.55
109
110
Figure 80.2 Spreadsheet showing a Monte Carlo simulation to value an Asian option.
80.4 LOGNORMAL UNDERLYING, NO PATH DEPENDENCY
For the lognormal random walk we are lucky that we can ﬁnd a simple, and exact, time stepping
algorithm. We can write the risk-neutral stochastic differential equation for S in the form
d(log S) = r − 12 σ 2 dt + σ dX.
This can be integrated exactly to give
S(t) = S(0) exp
r − 12 σ 2 t + σ
t
dX .
0
Or, over a time step δt,
S(t + δt) = S(t) + δS = S(t) exp
√
r − 12 σ 2 δt + σ δt φ .
(80.1)
Note that δt need not be small, since the expression is exact; and because it is exact and simple
it is the best time-stepping algorithm to use. Also, because it is exact, if we have a payoff
Monte Carlo simulation Chapter 80
that only depends on the ﬁnal asset value, i.e. is European and path independent, then we can
simulate the ﬁnal asset price in one giant leap, using a time step of T .
If the option is path-dependent then we have to go back to smaller time increments generally.
80.5
ADVANTAGES OF MONTE CARLO
SIMULATION
Now that we have some idea of how Monte Carlo simulations
are related to the pricing of options, I’ll give you some of the
beneﬁts of using such simulations:
• The mathematics that you need to perform a Monte Carlo
simulation can be very basic.
• Correlations can be easily modeled.
• There is plenty of software available, at the least there are spreadsheet functions that will
sufﬁce for most of the time.
• To get a better accuracy, just run more simulations.
• The effort in getting some answer is very low.
• The models can often be changed without much work.
• Complex path dependency can often be easily incorporated.
• People accept the technique, and will believe your answers.
80.6
USING RANDOM NUMBERS
The Black–Scholes theory as we have seen it has been built on the assumption of either a
simple up-or-down move in the asset price, the binomial model, or a Normally distributed
return. When it comes to simulating a random walk for the asset price it doesn’t matter very
much what distribution we use for the random increments as long as the time step is small and
thus we have a large number of steps from the start to the ﬁnish of the asset price path. All we
need are that the variance of the distribution must be ﬁnite and constant. (The constant must
be such that the annualized volatility, i.e. the annualized standard deviation of returns, is the
correct value. In particular, this means that it must scale with δt 1/2 .) In the limit as the size of
the time step goes to zero the simulations have the same probabilistic properties over a ﬁnite
timescale regardless of the nature of the distribution over the inﬁnitesimal timescale. This is a
result of the central limit theorem.
Nevertheless, the most accurate model is the lognormal model with Normal returns. Since one
has to worry about simulating sufﬁcient paths to get an accurate option price one would ideally
like not to have to worry about the size of the time step too much. As I said above, it is best to
use the exact expression (80.1) and then the choice of time step does not affect the accuracy of
the random walk. In some cases we can take a single time step since the time stepping algorithm
is exact. If we do use such a large time step then we must generate Normally distributed random
variables. I will discuss this below, where I describe the Box–Muller method.
1267