Monte Carlo Simulation for Derivative Pricing › Monte Carlo Error and Convergence

Michael BrenndoerferDecember 2, 20256 min read
Quantitative FinanceAll chapters
Part 6 of 15Numerical Methods for Derivative Pricing
Chapter 34Monte Carlo Simulation for Derivative Pricing › Monte Carlo Error and Convergence
Reading section 7 of 13 · Monte Carlo Error and Convergence · 6 minSection 7 of 13 · 6 min

Book contents

Section 7 of 13 · 6 min read

Monte Carlo Simulation for Derivative Pricing › Monte Carlo Error and ConvergenceOne section · Sections in this chapter7 / 13 ↓
Reading tools Definitions & inline links

Choose your expertise level to adjust how many terms are explained. Beginners see more tooltips, experts see fewer to maintain reading flow. Hover over underlined terms for instant definitions.

Article links

Make inline references clickable

Understanding the error in Monte Carlo estimates is essential for practical implementation. Unlike deterministic methods that give the same answer every time, Monte Carlo produces a random estimate that varies from run to run. If we repeat our simulation many times, each estimate V^\hat{V} will differ slightly due to random sampling. This variability is not a bug but an inherent feature of the method, and it must be quantified so that you understand the precision of your estimates.

The Standard Error

Let X1,X2,…,XNX_1, X_2, \ldots, X_N be independent samples of the discounted payoff. Each XiX_i represents the discounted payoff from one simulated path, and these samples are independent because we draw fresh random numbers for each path. The Monte Carlo estimator is simply the sample mean:

V^=1N∑i=1NXi\hat{V} = \frac{1}{N} \sum_{i=1}^{N} X_i

where:

  • V^\hat{V}: Monte Carlo estimate of the option value
  • NN: number of simulations
  • XiX_i: discounted payoff from the ii-th simulation

This estimator is unbiased, meaning that its expected value equals the true option price. However, any single realization of V^\hat{V} will deviate from the true value due to sampling variation. The central limit theorem tells us how this variation behaves: for large NN, the sampling distribution of V^\hat{V} is approximately normal with mean equal to the true value and variance inversely proportional to NN:

V^∼N(V,σX2N)\hat{V} \sim \mathcal{N}\left(V, \frac{\sigma_X^2}{N}\right)

where:

  • V^\hat{V}: Monte Carlo estimate of the option value
  • VV: true option value
  • σX2\sigma_X^2: variance of the individual discounted payoffs
  • NN: number of simulations
  • N\mathcal{N}: normal distribution notation

Regardless of the distribution of individual payoffs (which may be highly skewed or otherwise non-normal), the average of many payoffs follows an approximately normal distribution. The approximation improves as NN increases, typically becoming excellent by N=1000N = 1000 or so.

The standard error of our estimate quantifies the typical magnitude of sampling error:

SE(V^)=σXN\text{SE}(\hat{V}) = \frac{\sigma_X}{\sqrt{N}}

where:

  • SE(V^)\text{SE}(\hat{V}): standard error of the estimator
  • σX\sigma_X: standard deviation of individual discounted payoffs
  • NN: number of simulations

The standard error measures the standard deviation of the sampling distribution, telling us how much our estimate typically varies from run to run. Since we don't know the true σX\sigma_X, we estimate it from our sample using the sample standard deviation formula:

σ^X=1N−1∑i=1N(Xi−V^)2\hat{\sigma}_X = \sqrt{\frac{1}{N-1} \sum_{i=1}^{N} (X_i - \hat{V})^2}

where:

  • σ^X\hat{\sigma}_X: sample standard deviation estimator
  • NN: number of simulations
  • XiX_i: discounted payoff of the ii-th path
  • V^\hat{V}: sample mean (Monte Carlo estimate)

The division by N−1N-1 rather than NN in this formula is Bessel's correction, which makes the estimator unbiased for the true variance.

Confidence Intervals

With the standard error in hand, we can construct confidence intervals that express uncertainty about the true price. A 95% confidence interval for the true price is:

V^±1.96⋅SE(V^)\hat{V} \pm 1.96 \cdot \text{SE}(\hat{V})

where:

  • V^\hat{V}: Monte Carlo estimate
  • SE(V^)\text{SE}(\hat{V}): standard error of the estimator
  • 1.961.96: approximate zz-score for a 95% two-sided confidence interval

This formula does not mean there is a 95% probability that the true price lies in this interval. Rather, it means that if we repeated the entire simulation many times, constructing a new confidence interval each time, 95% of those intervals would contain the true price. The distinction is subtle but important for statistical rigor.

Convergence Rate

The critical insight for practical applications is that SE∝1/N\text{SE} \propto 1/\sqrt{N}, meaning the standard error is inversely proportional to the square root of the number of simulations. This square-root relationship determines the computational cost of greater accuracy. To reduce the error by half, we must quadruple the number of simulations. To achieve one additional decimal place of accuracy (reducing error by a factor of 10), we need 100 times more simulations. To gain two decimal places, we need 10,000 times more paths.

This slow convergence rate motivates the search for variance reduction techniques, which we explore in the next chapter. Methods like antithetic variates, control variates, and importance sampling can dramatically reduce variance without increasing the number of paths, effectively making each simulation more informative and accelerating convergence.

In[23]:
Code
# Run Monte Carlo with increasing number of paths
path_counts = np.logspace(2, 6, 50).astype(int)
mc_prices = []
mc_errors = []
mc_lower = []
mc_upper = []

for n in path_counts:
    np.random.seed(42)
    Z = np.random.standard_normal(n)
    ST = S0 * np.exp((r - 0.5 * sigma**2) * T + sigma * np.sqrt(T) * Z)
    payoffs = np.maximum(ST - K, 0)
    discount = np.exp(-r * T)

    price = discount * np.mean(payoffs)
    se = discount * np.std(payoffs) / np.sqrt(n)

    mc_prices.append(price)
    mc_errors.append(se)
    mc_lower.append(price - 1.96 * se)
    mc_upper.append(price + 1.96 * se)
Out[24]:
Visualization
Log-scale line chart of Monte Carlo call-price estimates from 100 to one million simulations, with a narrowing 95-percent confidence band and the Black-Scholes price as a dashed horizontal reference.
Monte Carlo convergence showing how the price estimate and 95% confidence interval narrow as the number of simulations increases. The dashed line shows the true Black-Scholes price.

The figure illustrates convergence in action. With just 100 paths, the confidence interval spans several dollars, which is essentially useless for trading. By 10,000 paths, we achieve reasonable precision. At 1 million paths, the interval tightens to a few cents, though computational cost becomes significant.

Out[25]:
Visualization
Log-log plot comparing empirical standard error with the theoretical one-over-square-root-of-N line; both decline in parallel with slope minus 0.5.
Log-log plot of standard error versus number of simulations, showing the theoretical 1/sqrt(N) convergence rate. The parallel alignment of empirical errors with the theoretical line confirms the expected convergence behavior.