622 Chapter 23
function produced the value 7.4417 (cell B12), whereas the Black-Scholes
call value—computed with the function BSCall defi ned in Chapter 19—
is 7.2782 (cell B14).
How good is this MC routine? One way to test it is to run it many
times. In the next spreadsheet, we’ve run 40 instances of the function
VanillaCall.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
BAC ED
S
0
, current stock price
50
X, exercise price 50
r, interest rate 10%
T, time 0.8
μ
, mean stock return
33%
σ
, sigma--standard deviation of stock return
30%
n, divisions 100
Runs 3,000
VanillaCall 7.1404 <-- =vanillacall(B2,B3,B6,B7,B4,B5,B9,B10)
BS call 7.2782 <-- =BSCall(B2,B3,B5,B4,B7)
Multiple runs of the function
7.0727 7.4166 7.4725 6.8758 <-- =vanillacall(B2,B3,B6,B7,B4,B5,B9,B10)
7.2110 7.4123 7.0760 7.4490 <-- =vanillacall(B2,B3,B6,B7,B4,B5,B9,B10)
7.3331 7.5241 7.3272 7.2245 <-- =vanillacall(B2,B3,B6,B7,B4,B5,B9,B10)
7.2895 7.6088 7.4434 7.4520
7.4052 7.2947 7.1995 7.4959
7.0948 7.2209 7.2246 7.3204
7.1768 7.3582 7.4190 7.2144
7.1601 7.1392 7.0774 7.2948
7.0564 7.3033 7.2096 7.2723
7.1043 7.1631 7.6564 7.0906
7.2785 <-- =AVERAGE(A17:D26)
0.1673 <-- =STDEV(A17:D26)
RUNNING THE MONTE CARLO FUNCTION MANY TIMES
The average value (cell B28) has a relatively low standard deviation
(cell B29). The Monte Carlo routine works pretty well.
23.4.4 Improving the Effi ciency of the MC Routine
Monte Carlo routines are inherently very wasteful—you have to run
them many times to get a reasonable approximation to the true value.
Thus there is a lot of mileage in making a particular routine more effi -
cient. Continuing with our VanillaCall example, we show one example
of such an effi ciency gain.