Monte Carlo option pricing
Many quantities in finance are expected values: the price of an option is a discounted expected payoff, a risk measure is a tail probability. When the expectation has no closed form, it can be estimated by Monte Carlo simulation: draw many random outcomes and average them. This lesson explains why the average works, how fast it converges, and how to price a European call this way, using the stock price solution from "Itô's lemma".
Expectations as long-run averages
Let be a random variable whose mean we want. Draw independent copies with the same distribution and form the sample mean
The law of large numbers says that as . This is the entire idea of Monte Carlo: replace an integral that is hard to compute by an average over simulated outcomes that are easy to generate.
The estimator is unbiased: for every . Any single run is off by a random error, but the error has no systematic direction.
Standard error
Let be the standard deviation of one draw . Since the draws are independent, the variance of their sum is , and dividing by gives
This is the standard error of the estimate. It falls like , the same square-root law that governed the random walk in "Random walks and Brownian motion". The consequence is sobering: to make the error 10 times smaller you need 100 times as many simulations.
Monte Carlo error: . One extra digit of accuracy costs a hundredfold more draws.
Confidence intervals
By the central limit theorem, for large the estimate is approximately normal around the true mean with standard deviation . The true value is unknown, so we use the sample standard deviation of the draws in its place. An approximate 95% confidence interval for is
If the whole experiment were repeated many times, about 95% of such intervals would contain the true mean. Always report a Monte Carlo estimate together with its interval: the estimate alone says nothing about how much to trust it.
Pricing a European call
"Risk-neutral probabilities" showed that a derivative's price is its discounted expected payoff under the measure . For a European call with strike and maturity ,
Under the stock follows GBM with drift . By Itô's lemma its terminal value is exact: , and with standard normal. No time-stepping is needed for a payoff that depends only on . The algorithm is:
- Draw independent standard normal numbers .
- Compute terminal prices .
- Compute payoffs and discount each by .
- Average the discounted payoffs; their sample standard deviation divided by is the standard error.
The figure runs this algorithm in front of you for , , and . Each draw of drops into a histogram of terminal prices; the bins to the right of the strike line are tinted, because only there does the call pay. Press +1 a few times and watch single draws land, mostly near 100 and some far out. Then press Play: draws arrive faster and faster, the histogram takes the skewed log-normal shape, and the strip below shows the running estimate with its 95% band narrowing around the Black–Scholes price of 10.45. The readouts give the number of draws, the estimate, its standard error and the share of draws that end in the money, which settles near . Reset starts a new sample.
- Draws
- 0
- Estimated call price
- –
- Standard error
- –
- Share in the money (N(d₂) = 0.560)
- –
A small worked example
Take , , , , . Then and . Suppose five draws are . The terminal prices are :
- : , payoff .
- : , payoff .
- : , payoff .
- : , payoff .
- : , payoff .
The average payoff is , and discounting gives . The Black–Scholes price for these inputs is . Five draws are far too few: the estimate is in the right region, but its error is large.
Comparing with Black–Scholes
For these inputs the standard deviation of one discounted payoff is about , larger than the price itself, because most of the value comes from a minority of paths that end far in the money. The standard error and the half-width of the 95% interval are therefore
- : , interval .
- : , interval .
- : , interval .
Even 5000 paths pin the price down only to within about of the Black–Scholes value . At the price rises to about and the payoff standard deviation to about , so the interval at widens to about : more volatile payoffs need more draws for the same accuracy.
The figure prices this call (, , , ) with terminal prices drawn exactly from GBM under . It plots the running Monte Carlo estimate against the number of simulations up to 5000, with the band around it and the Black–Scholes price as a horizontal line. Press "New sample" a few times: the early part of the curve jumps around, while the band narrows like and nearly always contains the line. Move the slider and note that the band widens. The readouts at give the estimate, its standard error, the Black–Scholes price and the error.
- Estimate at n = 5000
- 10.583
- Standard error
- 0.207
- Black–Scholes price
- 10.451
- Error
- 0.132
For a European call the closed form is obviously better. Monte Carlo pays off for payoffs that depend on the whole path (Asian or barrier options), for many underlyings at once, and for models such as Heston where no simple formula exists. The flexibility is the same in all cases; only the payoff function changes.
Variance reduction
Since the error is , there are two ways to improve it: raise , or lower . Techniques that lower are called variance reduction. The simplest is antithetic variates: for every draw also use , and average the two payoffs. The pair moves in opposite directions, so much of their noise cancels. Another is a control variate: simulate alongside a quantity whose mean is known exactly, such as the discounted stock price with mean , and correct the estimate by the observed error in that quantity.
Summary
- Monte Carlo estimates an expectation by the average of independent simulated outcomes; the law of large numbers makes it converge.
- The standard error is : halving the error needs four times as many draws.
- A 95% confidence interval is the estimate .
- A European call is priced by averaging over risk-neutral draws of ; the result converges to Black–Scholes.
- Its real strength is flexibility: path-dependent payoffs and models without closed forms.
Monte Carlo price average payoff, reported with its standard error .