Option Pricing by Simulation
Download
Report
Transcript Option Pricing by Simulation
Monte Carlo: Option Pricing
Reference: Option Pricing by
Simulation, Bernt Arne Ødegaard
(http://finance.bi.no/~bernt/gcc_prog/recipes/recipes/node12.html)
Introduction
Use Monte Carlo to estimate the price of
a Vanilla European option priced by
Black Scholes equation.
Already a closed form solution, therefore,
no need to simulate,
But, for an illustrative process.
… Introduction
At maturity, a call option is worth:
CT = max (0, ST – X)
At an earlier date t, the option will be the
expected present value of this:
Ct = E[PV(max (0, ST – X))]
Risk Neutral Result: Simplify
Decision made by a risk neutral investor
Also modify the expected return of the
underlying asset such that it earns the
risk free rate.
ct = e-r(T – t)E*[(max (0, ST – X))]
Where E*[.] is a transformation of the
original expectation.
Monte Carlo
One way to estimate the value of the call is to
simulate a large number of sample values of
ST according to the assumed price process,
and find the estimated call price as the
average of the simulated values.
According the “law of large numbers”, this
average will converge to the actual call value,
depending on the number of simulations that
are performed.
Lognormally distributed randoms
Let x be normally distributed with mean
zero and variance one.
If St follows a lognormal distribution, the
one-period-later price St+1 is simulated
as
2)+x
(r-½
St+1=Ste
…..Lognormally distributed randoms
Or more generally,
ST St e
1 2
( r )(T t ) T t x
2
Pricing of European Call Options
ct = e-r(T – t)E*[(max (0, ST – X))]
Note that here one merely needs
to
simulate the terminal price of the
underlying, ST,
the price of ST at time between t and T is
not relevant for pricing.
…Pricing of European Call Options
Proceed by simulating lognormally
distributed random variables.
Let ST,1, ST,2, …. ST,n denote the n
simulated ST values
…Pricing of European Call Options
We estimate E*[max (0, ST – X)] as the
average of option payoffs at maturity,
discounted at the risk free rate.
n
r (T t )
ct e
(( max( 0, ST ,i X ) / n)
i 1
Price of the Call ( and r constant)
Ct SN (d1 ) Xe
S
2
log( ) (r )(T t )
X
2
d1
T t
d 2 d1 T t
N (d )
1
2
d
e
x2
2
dx
r (T t )
N (d 2 )
C=Price of the Call
S=Current Stock Price
T=Time of Expiration
X=Strike Price
r=Risk-free Interest Rate
N()=Cumulative normal
distribution function
e=Exponential term (2.7183)
=Volatility
Results:
S = 100; X = 110; r = 0.1;
sigma = 0.4; t = 6
Exact ct = 53.4636
Monte Carlo:
# sims: 10
# sims: 1,000
# sims: 1,000,000
ct = 15.4533
ct = 54.9804
ct = 53.5126
# sims: 100,000,000
ct = 53.4593
# sims: 1,000,000,000
ct = 53.4722