In March 1990 Angelien Kemna and Ton Vorst published A Pricing Method for Options Based on Average Asset Values. Their practical trick still anchors Asian-option Monte Carlo: price the geometric average exactly, then use it to control the arithmetic average that the contract actually pays.
An Asian option is defined by its fixing schedule as much as by strike and expiry. Twelve month-end closes and 252 daily closes are different underlyings. Replacing either with “continuous averaging” without quantifying the error is a model change.
The necessary tools are covered in our Black-Scholes and Monte Carlo guides.
Payoff conventions
At fixing dates , define
A fixed-strike average-price call pays . A floating-strike call pays . The formulae below concern a fixed-strike call, with equal fixing weights and payment at . Unequal weights, delayed payment, caps and currency conversion all change the valuation.
Under risk-neutral geometric Brownian motion,
The arithmetic average is a sum of correlated lognormal variables and is not lognormal. The geometric average is lognormal because its logarithm is a linear combination of jointly Gaussian variables.
Exact geometric price
Let . Its mean and variance are
Since ,
The call price is
where
This schedule-level form is safer than memorising an “effective maturity”. For equally spaced ,
If one writes , the matching cost of carry is
Using the continuous-average expression with a finite is inconsistent. It is only the limit.
Arithmetic moments
Moment matching gives a fast approximation and a useful Monte Carlo check. For the discrete schedule,
Fit a lognormal variable with
then use the same lognormal call formula with . Turnbull and Wakeman's 1991 algorithm applies this idea to continuous arithmetic averages with accrued-average adjustments.
Moment matching is an approximation, not a bound. Its error depends on strike, fixing pattern, volatility and elapsed averaging. A blanket “within 1%” or “within 2%” claim is not defensible without a stated parameter region and benchmark.
Kemna-Vorst control variate
On each simulated path, form discounted arithmetic and geometric payoffs and . Since is known, use
The estimator remains unbiased if is fixed independently; estimating it on the same large simulation introduces only a small finite-sample effect. For exact error accounting, estimate on a pilot sample and price on fresh paths.
import numpy as np from scipy.stats import norm def geometric_asian_call(S0, K, T, r, q, vol, times): t = np.asarray(times, dtype=float) if t.size == 0 or np.any(np.diff(t) <= 0) or t[0] <= 0 or t[-1] > T: raise ValueError("Fixing times must increase in (0, T]") mean = np.log(S0) + (r - q - 0.5*vol**2)*t.mean() var = vol**2 * np.minimum.outer(t, t).mean() if var == 0: return np.exp(-r*T) * max(np.exp(mean) - K, 0.0) root_var = np.sqrt(var) d1 = (mean - np.log(K) + var) / root_var expected_average = np.exp(mean + 0.5*var) return np.exp(-r*T) * (expected_average*norm.cdf(d1) - K*norm.cdf(d1 - root_var)) def arithmetic_asian_mc(S0, K, T, r, q, vol, times, n_paths=1_000_000, seed=42): t = np.asarray(times, dtype=float) if t.size == 0 or np.any(np.diff(t) <= 0) or t[0] <= 0 or t[-1] > T: raise ValueError("Fixing times must increase in (0, T]") dt = np.diff(np.r_[0.0, t]) rng = np.random.default_rng(seed) z = rng.standard_normal((n_paths, len(t))) dx = (r - q - 0.5*vol**2)*dt + vol*np.sqrt(dt)*z log_paths = np.log(S0) + np.cumsum(dx, axis=1) arithmetic = np.exp(log_paths).mean(axis=1) geometric = np.exp(log_paths.mean(axis=1)) x = np.exp(-r*T) * np.maximum(arithmetic - K, 0.0) y = np.exp(-r*T) * np.maximum(geometric - K, 0.0) geo_price = geometric_asian_call(S0, K, T, r, q, vol, t) var_y = np.var(y, ddof=1) beta = np.cov(x, y, ddof=1)[0, 1] / var_y if var_y > 0 else 0.0 adjusted = x - beta*(y - geo_price) return adjusted.mean(), adjusted.std(ddof=1)/np.sqrt(n_paths), beta
The vectorised version is convenient for monthly fixings. One million paths with 252 daily fixings needs several gigabytes once paths and work arrays are included; process paths in batches and accumulate means, variances and covariances in production.
For , , , , and monthly fixings , the exact geometric call is . With one million paths and seed 42:
- plain arithmetic Monte Carlo gives with standard error ;
- the control variate gives with standard error ;
- the estimated is .
Here the standard error falls by a factor of about 36.
Contract details that move the price
Past fixings. Suppose of fixings are known, with sum , and remain. Then
This adjusted strike can be negative, in which case the payoff has a largely deterministic component. Do not discard that case.
Fixing weights and calendars. Holiday rules, missing-price fallbacks and business-day shifts belong in the schedule. Daily observations are not interchangeable with equally spaced year fractions.
Dividends and forwards. Equity discrete dividends break constant-yield GBM. Commodity Asians require the relevant forward-curve and convenience-yield dynamics, not an equity spot model copied across.
Smile dynamics. The geometric formula is exact only within Black-Scholes. Under local or stochastic volatility, it can still be an effective approximate control, but its expectation is no longer the formula above. Using the wrong control mean creates bias.
Early exercise and barriers. Bermudan Asian exercise needs the running average in the regression state; our Longstaff-Schwartz guide explains why. Barrier Asians generally need path simulation or a specialised PDE.
Vecer's one-dimensional PDE is an important alternative for arithmetic averages and covers continuous and discrete sampling. The transformed state, fixing convention and numerical boundaries still need care.
European comparisons
For the stated one-year example, the corresponding European call costs , while the arithmetic Asian is about . Averaging reduces uncertainty here, but fixed-strike, floating-strike, forward-starting and partly fixed contracts do not share one universal percentage discount.
The Greeks are schedule dependent too. Before averaging begins, gamma and vega are often lower than for a matching European. Once fixings accrue, moneyness can become locked in and local sensitivities can change sharply. Finite-difference the complete contract, including past fixings and forward curve, rather than applying a fixed vega ratio.
Frequently Asked Questions
What is an Asian option?
It is an option whose payoff depends on an arithmetic or geometric average of specified underlying fixings. The schedule and weighting convention are contractual inputs.
Which Asian option has an exact Black-Scholes price?
A geometric-average option does, because the logarithm of its average is Gaussian. The formula must use the actual fixing times.
Why is an arithmetic Asian harder to price?
Its average is a sum of correlated lognormal prices, whose distribution is not lognormal. Monte Carlo, PDE methods or approximations are therefore needed.
What does the Kemna-Vorst control variate do?
It subtracts simulation error in the highly correlated geometric payoff and adds back that payoff's known exact price, often reducing variance sharply.
Can continuous averaging replace daily fixings?
Only as an approximation. The discrete schedule has different first and second moments, and the difference is largest with few fixings or a short averaging window.
Which sources are authoritative?
Use Kemna and Vorst's 1990 paper, Turnbull and Wakeman's 1991 paper and Vecer's PDE paper. The average is simple. The contract around it rarely is.
Skip the £25k programme - try the alternative
Master's programmes are slow and expensive. Quantt is a self-paced alternative. Start free with a real lesson and interview practice, then unlock 50+ courses and your personalised plan.
Free to start · No credit card required