Loading [MathJax]/jax/output/HTML-CSS/jax.js

Monte Carlo Methods in Option Pricing

On this page, I will give the reader a brief idea about Monte Carlo technique and some of its applications in finance.

Generating sample paths
 Assume that the price of an asset, St, follows a geometric Brownian motion with a drift, μ, and a standard deviation, σ, as follows

dSt=μStdt+σStdBt,

where Bt is a standard Brownian motion. We can then use Ito's lemma to get
Sti+1=Stie(μσ22) dt+σdtZi,
where Zi is a random variable that is standard normally distributed, i.e. ZiN(0,1). To generate a path over time interval [0,T] (i.e. S={St0,St1,,Stn}) with an increment of n=TΔt, we need to generate a sequence of n random numbers generated from a standard normal distribution (i.e. {Z0,Z1,,Zn1}). We then calculate Sti, i{1,2,,n}. Similarly, we can generate m paths and denote the k-th path by S[k]={S[k]t0,S[k]t1,,S[k]tn}. Figure 1 shows 10 paths generated by parameters S0=36, μ=0.06, σ=0.1 and T=1 for n=50 time steps.

We can then calculate the discounted cash flow at time t=0 of the option (take a European call option as an example) for the k-path as c[k]t0=c[k]tn×erT=E[max(S[k]tnK,0)]×erT. Then estimate c by averaging c[k]t0 over all k paths. Note that the price of a standard European option is determined by the price of the termination, Stn, and is independent of the path of St. Therefore, we are able to sample the value of Stn directly from St0 by setting Δt=T. Asian options are path-dependent and their pay-offs depend on the value of the underlying asset at intermediate time steps.



Discretization methods
We obtained an exact solution of the Geometric Brownian motion, which can be simulated using MC technique. The exact solutions cannot always be obtained, and in such cases, a numerical approximation to the solution can be used. When using a numerical approximation, a numerical error is introduced by the discretization, in addition to the Monte Carlo error of the variance of the estimator. We try to overlap the additional error by using small time steps (i.e. a large n) and a good numerical scheme. Euler Scheme is the simplest numerical scheme that is covered on this page. Milstein scheme is also covered and is considered an alternative to Euler scheme.

Assume that St satisfies the following SDE dSt=μStdt+σStdBt. We can then apply Euler Scheme to the above equation to get Sti+1Sti=μStiΔt+σStiΔtZi     ,i={0,1,,n1}. where Zi is a random number generated from a standard normal distribution. We can also discretize the option value c by approximating erΔt by 1rΔt, to get cti=cti+1(1rtiΔt)     ,i={n1,n2,,0},
We restrict the discretization to a grid with a constant time step Δt=Tn such that ti=i×Δt=i×Tn. We can then calculate the price of a European call option at time 0 by simulating m paths of the price of the underlying security S and do the following for every path k[1,m]:

  1. Simulate S[k]tn. (We will need to simulate S[k]ti for all i[0,n1], when you price a path-dependent option or when the price of the underlying security is discretized).
  2. Calculate the payoff of the European call option c[k]T=max(S[k]TE,0).
  3. Calculate the discounted value of the payoff, i.e. c[k]0.

Then take the average of the discounted cash flows ¯c[k]0 over all paths. Note that risk-free interest rate r can follow a stochastic process and violate an assumption in the Black-Scholes model of a constant r.

In addition to the statistical error of the estimator, we have the numerical error that is introduced by discretizing the estimator. The numerical error of a call option price (as an example) is represented by the bias of the estimator ˆc as:E[ˆc]c=¯cc=1mmk=1c[k]0c, where ¯c is the average of c[k]0 over m paths. This error can be reduced by discretizing over a smaller time interval, Δt, or by using a more efficient method for discretization. The mean square error MSE(ˆc) is used as an error measure that balances between the bias and the variance of the estimator. If ˆc is an estimator of c, then the mean square error equals to the sum of the bias squared and the variance of ˆc as follows MSE(ˆc)=E[(ˆcc)2]=E[(ˆcE[ˆc])2]+(E[ˆc]c)2=Var(ˆc)+Bias2(ˆc).
Exercise
Heston model violates one of the assumptions of the Black-Scholes model. Heston model does not assume that the volatility is constant, but rather that it follows a stochastic process that is correlated with the share price process. Discretize the following processes introduced by Heston dSt=μStdt+σtStdB(1)tdVt=k(θVt)dt+ασtdB(2)t, where B1t and B2t are standard Brownian motions that are correlated with correlation coefficient ρ that is dB1t dB2t=ρdt. The volatility of the volatility α, the mean revision rate k, the drift μ and the long run variance θ are positive constants. Vt=σ2t is the variance at time t and St is the price of the underlying asset at time t.

Milstein Scheme
Milstein has added an additional term to increase the order of the accuracy of the stochastic term in Euler scheme. The derivation of Milstein scheme is based on Ito's lemma. Milstein scheme can be applied to a stochastic process as defined previously, to get the following Xti+1Xti=b(t,Xt)Δt+v(t,Xt)ΔtZi+12vXt(t,Xt)v(t,Xt)Δt(Z2i1)     ,i={0,1,,n1}, where each Zi is a random number that has been taken from the standard normal distribution N(0,1). Milstein scheme can also be applied to the Geometric Brownian motion to get the following Sti+1Sti=μStiΔt+σStiΔtZi+12σ2StiΔt(Z2i1)     ,i={0,1,,n1}. Note that a new term has been introduced in Milstein scheme in comparison with Euler scheme. Milstein scheme has expanded the diffusion term from O(Δt) to O(Δt). This term is a stochastic term with an expected value of zero and it is uncorrelated with Euler terms.

Exercise
Show that the stochastic term in Milstein scheme has an expected value of zero and that it is uncorrelated with the Euler terms.

Solution.
We know that Zi follow s a normal distribution with zero mean and a standard deviation of 1. We need to calculate the expectations of Z2i and Z3i since we will use them in the solution. E(Z2i)=1 since Var(Zi)=E(Z2i)[E(Zi)]2. E(Z3i)=z3f(z)dz=0, since we are integrating an odd function over (,) where the probability density function f(z)=12πez22. Therefore the expected value of the diffusion term is E(12σ2StiΔt(Z2i1))=12σ2ΔtE(Sti)(E(Z2i)1))=0.
Set A=μStiΔt+σStiΔtZi, B=12σ2StiΔt(Z2i1),
then Cov(A,B)=E[A B]E[A] E[B] =E[(μStiΔt+σStiΔtZi)12σ2StiΔt(Z2i1)]E[A] E[B]. The covariance is therefore Cov(A,B)=E[(μStiΔt+σStiΔtZi)12σ2StiΔt(Z2i1)]=12σ2Δt(μΔtE[S2ti]E[Z2i1]+σΔtE[S2ti]E[Z3iZi]). Use E(Zi)=0, E(Z2i)=1 and E(Z3i)=0, and that Sti and Zi are independent random variables to get Cov(A,B)=0.
Graphs

Figure 1. Geometric Brownian motion

Figure 2. Geometric Brownian motion, a comparison between exact and numerical approximations

Figure 3. Mean reverting process

Figure 4. Geometric Brownian motion with an increasing risk-free interest rate




References
  1. Boyle P.P., (1977), Options: A Monte Carlo Approach, Journal of Financial Economics 4 (1977) 323-338.
  2. Boyle P.P., Broadie M. and Glasserman P., (1997), Monte Carlo methods for security pricing, Journal of Economic Dynamics and Control, 21 (1997) 1267-1321
  3. Heston H., (1993), A Closed-form Solution for Options with Stochastic Volatility with Applications to Bond and Currency Options, The Review of Financial Studies, 6(2) P 327-343.
  4. Robert C.P and Casella G., (2004), Monte Carlo Statistical Methods, 2nd edition, Springer.
  5. Glasserman P., 2004, Monte Carlo Methods in Financial Engineering, Springer.
  6. Higham D.J., (2001), An Algorithmic Introduction to Numerical Simulation of Stochastic Differential Equations, SIAM Rev., 43(3), 525-546.
  7. Milshtein G. N., (1974), Approximate Integration of Stochastic Differential Equations, Theory of Probability and its Application 19:557-562. 267.
  8. Uhlenbeck G. E. and Ornstein L. S., (1930) , On the Theory of the Brownian Motion, Physical Review 36, 823-841.

No comments:

Post a Comment