Monte Carlo Methods for Option Pricing

European Option Pricing

We price European call options under geometric Brownian motion

dS=rSdt+σSdZ, dS = rS\,dt + \sigma S\,dZ,

with parameters S0=100S_0 = 100, K=99K = 99, σ=0.2\sigma = 0.2, r=0.06r = 0.06, T=1T = 1.

The GBM admits the closed-form solution

ST=S0exp ⁣[(r12σ2)T+σTZ], S_T = S_0 \exp\!\left[\left(r - \tfrac{1}{2}\sigma^2\right)T + \sigma\sqrt{T}\,Z\right],

which we discretise over nn time steps as

St+1=Stexp ⁣[(r12σ2)Δt+σΔtϕ],ϕN(0,1). S_{t+1} = S_t \exp\!\left[\left(r - \tfrac{1}{2}\sigma^2\right)\Delta t + \sigma\sqrt{\Delta t}\,\phi\right], \quad \phi \sim \mathcal{N}(0,1).

The discounted expected payoff erTE[max(STK,0)]e^{-rT}\,\mathbb{E}[\max(S_T - K, 0)] is estimated by averaging over simulated paths. The Black-Scholes analytical price for these parameters is V=11.5443V = 11.5443 with delta Δ=0.6737\Delta = 0.6737.

Convergence

Increasing the number of Monte Carlo paths reduces the standard error as O(1/n)\mathcal{O}(1/\sqrt{n}).

European call MC convergence
Monte Carlo estimate of the European call price with 99% confidence intervals, converging to the analytical result (dashed line) as the number of paths increases.

Antithetic Variates

For each random draw ZZ, we also evaluate the payoff at Z-Z. Since the two payoffs are negatively correlated, their average has lower variance:

V^=12[f(Z)+f(Z)]. \hat{V} = \frac{1}{2}\left[f(Z) + f(-Z)\right].

MC vs antithetic variates
Standard Monte Carlo versus antithetic variates. The error bars for antithetic variates are consistently smaller.

Standard Error vs Moneyness and Volatility

The standard error depends on the option’s moneyness and on volatility. Deep in-the-money options have less payoff variance; higher volatility increases it.

Standard error vs moneyness
Standard error of the MC estimate as a function of spot price.
Standard error vs volatility
Standard error as a function of volatility, comparing plain MC and antithetic variates.

Sensitivity Estimation

The hedge parameter Δ=V/S\Delta = \partial V / \partial S is estimated by the bump-and-revalue method:

Δ^=V(S0+ε)V(S0)ε. \hat{\Delta} = \frac{V(S_0 + \varepsilon) - V(S_0)}{\varepsilon}.

Seed Control

When different random seeds are used for the base and bumped simulations, the noise in each estimate is independent, and the finite-difference ratio becomes dominated by MC noise at small ε\varepsilon. Using the same seed ensures the same random draws, so the noise cancels in the numerator.

Delta: same vs different seeds
Bump-and-revalue delta with different seeds (blue) versus same seed (red). At small epsilon, different-seed estimates explode while same-seed estimates remain stable.

European Delta vs Strike

With the same-seed approach, the MC delta estimate tracks the analytical Black-Scholes delta across the full range of strikes.

European delta vs strike
MC delta estimate versus the analytical $\Delta = N(d_1)$ for a European call as a function of strike price.

Digital Option Delta

A digital (binary) call pays 1 if ST>KS_T > K and 0 otherwise. The analytical delta is

Δdigital=erTn(d2)σST, \Delta_{\mathrm{digital}} = \frac{e^{-rT}\,n(d_2)}{\sigma\,S\,\sqrt{T}},

where n()n(\cdot) is the standard normal density. The discontinuous payoff function produces noisy delta estimates via bump-and-revalue.

Digital delta vs strike
Digital option delta estimated via bump-and-revalue, compared to the analytical curve.

Smoothed Payoff

Replacing the discontinuous payoff with a logistic approximation 11+ek(STK)\frac{1}{1 + e^{-k(S_T - K)}} produces smoother delta estimates.

Smoothed vs discontinuous digital delta
Smoothed payoff function (red) yields delta estimates closer to the analytical curve with smaller variance than the discontinuous payoff (blue).

Variance Reduction for Asian Options

An Asian call option with arithmetic averaging has payoff max(AˉK,0)\max(\bar{A} - K, 0) where Aˉ=1Ni=1NSti\bar{A} = \frac{1}{N}\sum_{i=1}^{N} S_{t_i}. No closed-form solution exists for the arithmetic average case.

Control Variates

The geometric-average Asian option A~=(i=1NSti)1/N\tilde{A} = \left(\prod_{i=1}^{N} S_{t_i}\right)^{1/N} does admit an analytical price:

Vgeo=erT[S0eA+B2/2N(c+B)KN(c)], V_{\mathrm{geo}} = e^{-rT}\left[S_0\,e^{A + B^2/2}\,N(c + B) - K\,N(c)\right],

where A=(rσ2/2)T/2A = (r - \sigma^2/2)\,T/2, B=σT(2N+1)/(6(N+1))B = \sigma\sqrt{T}\sqrt{(2N+1)/(6(N+1))}, and c=(ln(S0/K)+A)/Bc = (\ln(S_0/K) + A)/B.

Using the geometric average payoff as a control variate with optimal β\beta:

V^CV=V^arithβ(V^geoVgeoanalytical). \hat{V}_{\mathrm{CV}} = \hat{V}_{\mathrm{arith}} - \beta\left(\hat{V}_{\mathrm{geo}} - V_{\mathrm{geo}}^{\mathrm{analytical}}\right).

Asian option convergence
Asian call option pricing: plain MC (blue) versus control variates (red). The control variate estimate converges with dramatically smaller error bars.

Asian Option: Standard Error Analysis

Asian stderr vs moneyness
Standard error as a function of moneyness for Asian options, with and without control variates.
Asian stderr vs averaging interval
Standard error as a function of the averaging interval (number of observation days out of 252). The control variate remains effective across all intervals.
Asian stderr vs volatility
Standard error as a function of volatility. Both estimators' errors grow with volatility, but control variates maintain a significant advantage.