10 Monte Carlo
terminated at this node, and we substitute the payoff for the option value. The key point is that the method inherently allows us to compare the option value with the payoff value at each point in the tree. With the Monte Carlo method, we can calculate the payoff at each point on our simulated path, but there is no way of comparing this with the option value along the path.
Inevitably, methods have been found around this inherent problem and encouraging results have been claimed; but one cannot help feeling that it is better to go with an approach that is intrinsically better suited to American option pricing. Water can be pushed uphill, but why bother if you don’t have to?
10.3 RANDOM NUMBERS
r
The sequence ofxiare completely determinate. The same number is always produced given the same starting pointn0=1. If we started with a different seedn0 =12 we would get a different set of random numbers. Most computers either start with a seed related to the precise time of day (fraction of day elapsed) or they use the last random number that was generated last time it was used; this way the computer does not keep repeating the same“random numbers”. However, there are ways of fixing the seed so that we can repeat the same sequences (see for example the Visual Basic instructions in the Excel help index).
r
n5is the same asn1 and will keep repeating every five iterations – forever. This generator will only produce five different random numbers. We therefore wantNto be large.So how do we finda,b andN? Unfortunately there is no simple recipe for doing this. We know that we wantato be big andbto be very big. But beyond that it is largely a question of trial and error. Researchers have performed elaborate statistical tests on the random numbers produced by the different combinations ofa,bandNand have found that there are definitely good combinations and bad combinations. The majority of derivatives professionals just hit the Rand () function and hope for the best. Some fastidious quants go to sources such as Press et al.(1992) and copy out well-tested procedures (“RAN2” is recommended). The few who go any further find themselves with a substantial research project on their hands.
(iii)Normal Random Numbers:There is a 45% probability that a standard uniform random number will be less than 0.4500.Similarly, there is a 45% probability that a standard normal random number will be less than −0.1257: in the notation used elsewhere in this book, 0.4500= N[−0.1257], which could also be written−0.1257=N−1[0.4500].
We can convert the standard uniform random numbers produced by a random number generator into standard normal random numbers with the transformation
RANDnormal=N−1[RANDuniform]
There are standard routines to perform this; in Excel it is just the function NORMINV(). The trouble is that this function cannot be expressed analytically and is slow to calculate.
The ultimate objective is usually to obtainnormal random numbers rather than to make the conversion. There follow two methods formanufacturingnormal random from uniform random numbers, rather than transforming them one by one.
(iv)Sum of 12 Method:The simplest way of producing anapproximatelystandard normal random number is as follows:
r
Take 12 standard uniform random numbersxj.r
Thenzi=%12j=1xj
&
−6 is a standard normal random number.
The reason for this is straightforward: the central limit theorem tells us that whatever the distribution ofxj, the quantityn
j=1xjtends to a normal distribution; furthermore, a simple calculation shows that by choosingn=12, the mean and variance ofziare exactly 0 and 1. Of course, the central limit theorem also tells us thatn
j=1xj only becomes normal asn→ ∞, which is quite a lot bigger than 12. Errors are bound to be introduced by this method, but without going into the details, these errors are much smaller than most people suspect from such a small sample.
131
10 Monte Carlo
(v)Box–Muller Method: This is the most widespread method for generating standard normal random numbers. Ifx1 andx2 are two independent standard uniform random numbers, then z1andz2are two independent standard normal random numbers, where
z1=
−2 lnx1 sin 2πx2; z2=
−2 lnx1 cos 2πx2
At first sight these look a little curious (how do trigonometric functions come into it?), but the connection is easy to demonstrate. We start with the well-known relationship of functional analysis, used for transforming variables: in two dimensions this is written
(z1,z2) dz1dz2=(x1,x2)##
##∂(x1,x2)
∂(z1,z2)
####dz1dz2
Invert the two previous expressions forz1andz2: x1=e−12(z21+z22); x2= 1
2π tan−1z2
z1
and work out the Jacobian determinant
####∂(x1,x2)
∂(z1,z2)
####=
####
####
∂x1
∂z1
∂x1
∂z2
∂x2
∂z1
∂x2
∂z2
####
####= − 1
√2π e−12z12 1
√2π e−12z22
Interpretingas a probability density function and using (x1,x2)=1 (0<x1andx2<1)
=0 (otherwise) shows thatz1andz2are independently, normally distributed.
(vi)Correlated Standard Normal Random Number:Given that Monte Carlo’s really strong suit is multivariate options, it is not surprising that we are frequently called on to construct correlated random numbers, which can be constructed fromuncorrelatednumbers as shown below.
Let z1, . . . ,zn be a set of independent standard normal random numbers which can be written in vector form as
Z =
z1
... zn
We can generate correlated standard normal random numbersyfrom these using the transfor- mationy=Az. Let us take a three-dimensional example for simplicity, and use the general property
yy=Az(Az)=AzzA
where a prime signifies transpose. Take the expectation of every element in the last matrix formula:
Eyy =Σ=
1 ρ12 ρ13
ρ12 1 ρ23
ρ ρ 1
=AEzzA=AA