# How to perform Monte-Carlo simulations to price Asian options?

If I wish to price a fixed-strike Asian Call option via Monte-Carlo (This has no early-exercise), are my following steps correct?:

1) Simulate random asset prices. (Milstein)

$\ d S(t) = \ rS(t)dt + \sigma S(t) d B(t)$

$\ S_{t+dt} = S_t + r S_tdt + \sigma S_t \sqrt{ dt}Z + \frac{1}{2}\sigma^2dt(Z^2-1)$

2) Average the asset prices for each simulation.

$\ A[i]$ is the average for each simulation.

I'll be using both Geometric and Arithmetic averages

3) Calculate each payoff and discount it. Find the average of these payoffs

$\text{Payoff}[i]= \exp[-r(T-t)] * \max[A[i]-K,0]$

$\text{Average} = \frac{1}{N}\sum_{i=1}^N \text{Payoff}[i]$

I'm aware that there are some approximation formulae, Finite-Difference methods and closed-form solutions but I'm trying to focus on Monte-Carlo simulations for now.

• Are you sure of the last term in your Milstein scheme? $S_t$ seems to be missing IMHo. The rest looks fine to me although what you call payoff is actually the discounted payoff. – Quantuple Sep 29 '16 at 16:58
• This is interesting. I actually agree with you but looking at two different papers, frouah.com/finance%20notes/… and vlebb.leeds.ac.uk/bbcswebdav/orgs/SCH_Computing/FYProj/reports/…. They seemed to both not include the $/ S_t$. – mathnoob Sep 29 '16 at 17:10
• Take equation (16) of your paper and substitute the drift and diffusion terms as per the first lines of section 2.1. what do you get? Or simply analyse the dimensions of each term, or observe how the model should be homogeneous in space. – Quantuple Sep 29 '16 at 17:15
• The final term doesn't match. I get $0.5 \sigma_t^2 S_t dt(Z^2-1)$ – mathnoob Sep 29 '16 at 17:26
• Thanks for pointing that out. I'd give you a thumbs up but I don't really know how to do it for comments. Still figuring out how to use this website. – mathnoob Sep 29 '16 at 17:32

1. Instead of simulating the spot price, simulate its logarithm since the latter can be simulated exactly for any time step. $$\ln S_{t + \Delta t} = \ln S_t + \left( r - \frac{1}{2} \sigma^2 \right) \Delta t + \sigma Z,$$ where $Z \sim \mathcal{N}(0, \Delta t)$. You then just simply take the exponential of the simulated logarithmic price at each time step.

2. OK

3. OK

4. Calculate the standard error of your estimate. This is just as important as computing the estimate itself and for example allows you to construct confidence intervals. Let $$\text{Variance} = \frac{1}{N - 1} \sum_{i = 1}^N \left( \text{Payoff}_i - \text{Average} \right)^2$$ be your estimator of the variance. Then the standard error is

$$\text{Standard Error} = \sqrt{\frac{\text{Variance}}{N}}.$$

Looks good to me, although idk why you have (T-t) in the discounting... isn't big T the total time to maturity? What is little t in the equation? Shouldn't it just be exp[-rT] because you discount from the time of payoff which is the expiration of the option.

Kemna and Vorst (1990) [ download ] is a classic in Monte Carlo method for Asian option. Geometric mean, which can be analytically computed, is used as a control variate to reduce MC noise.