# 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. Commented Sep 29, 2016 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$. Commented Sep 29, 2016 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. Commented Sep 29, 2016 at 17:15
• The final term doesn't match. I get $0.5 \sigma_t^2 S_t dt(Z^2-1)$ Commented Sep 29, 2016 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. Commented Sep 29, 2016 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}}.$$

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.

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.