Monte Carlo Pricing of Asian Options with Log-Price Simulation
Summary
The document outlines a Monte Carlo method for pricing a fixed-strike Asian call. Simulate asset paths under the risk-neutral process, calculate each path’s average asset price, apply the call payoff to that average, discount the payoff to the valuation date, and average across simulations. The discussion covers both arithmetic and geometric averaging, though it does not specify the monitoring schedule or whether averaging includes the initial price.
An answer recommends simulating log prices, which follow an exact stepwise transition under the stated constant-volatility model, instead of approximating spot dynamics with a Milstein scheme. It also advises estimating the standard error from the sample variance of discounted payoffs to assess Monte Carlo uncertainty. A separate answer identifies the analytically tractable geometric Asian option as a control variate for reducing simulation noise. These are methodological suggestions rather than reported empirical results; the document does not compare accuracy or convergence across methods. Its setup assumes no early exercise and leaves implementation choices such as time discretization and sampling design unspecified.
Key ideas
- Simulating log prices gives an exact stepwise transition under the stated constant-volatility model.
- For each simulated path, average the monitored prices before applying the fixed-strike call payoff.
- Discount each path’s payoff to the valuation date, then average the discounted payoffs.
- Estimate the standard error from the sample variance of discounted payoffs.
- An analytic geometric Asian option can serve as a control variate for an arithmetic Asian option.
Tags
Full text
# How to perform Monte-Carlo simulations to price Asian options?
# 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.
## Answer by LocalVolatility (score 6, accepted)
https://quant.stackexchange.com/a/30364
- Instead of simulating the spot price, simulate its logarithm since the latter can be simulated exactly for any time step. \begin{equation} \ln S_{t + \Delta t} = \ln S_t + \left( r - \frac{1}{2} \sigma^2 \right) \Delta t + \sigma Z, \end{equation} where $Z \sim \mathcal{N}(0, \Delta t)$. You then just simply take the exponential of the simulated logarithmic price at each time step.
- OK
- OK
- 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 \begin{equation} \text{Variance} = \frac{1}{N - 1} \sum_{i = 1}^N \left( \text{Payoff}_i - \text{Average} \right)^2 \end{equation} be your estimator of the variance. Then the standard error is
\begin{equation} \text{Standard Error} = \sqrt{\frac{\text{Variance}}{N}}. \end{equation}
## Answer by jaehyukchoi49 (score 3)
https://quant.stackexchange.com/a/32574
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.
## Answer by Alex Ockenden (score 2)
https://quant.stackexchange.com/a/30365
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.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.