Finance & Options

Lesson 10 of 12

Monte Carlo Option Pricing

Price an option by averaging simulated payoffs, then shrink the slow 1/√n error with antithetic pairs and control variates.

Price by averaging

Risk-neutral pricing says a European option is worth its discounted expected payoff under QQ: V0=e−rTEQ[h(ST)]V_0 = e^{-rT} E^Q[h(S_T)]. Under QQ the stock is lognormal, so one draw of Z∼N(0,1)Z \sim N(0,1) gives a terminal price

ST=S0exp⁡((r−12σ2)T+σT Z).S_T = S_0 \exp\big((r - \tfrac12\sigma^2)T + \sigma\sqrt T\,Z\big).

Monte Carlo pricing draws nn independent values of ZZ, computes the payoff on each, and averages:

V^n=e−rT 1n∑i=1nh(ST(i)).\hat V_n = e^{-rT}\,\frac1n\sum_{i=1}^n h\big(S_T^{(i)}\big).

The law of large numbers makes V^n\hat V_n converge to V0V_0. Take S0=K=100S_0 = K = 100, r=5%r = 5\%, σ=20%\sigma = 20\%, T=1T = 1, a call whose Black-Scholes price is 10.45. The draw Z=1Z = 1 gives ST=100e0.23=125.86S_T = 100e^{0.23} = 125.86 and a discounted payoff of 25.86 e−0.05=24.6025.86\,e^{-0.05} = 24.60. The draw Z=−1Z = -1 gives ST=84.37S_T = 84.37, and the call pays nothing. Those two paths average to 12.30, a poor estimate, but a million paths land within a few cents of 10.45.

A European payoff only needs STS_T, so each path is one normal draw. A path-dependent payoff (Asian, barrier) needs the whole path, built step by step with the same formula over each Δt\Delta t.