How to Demonstrate Monte Carlo's Inverse Square Root Error Rate
Summary
The document explains how to illustrate Monte Carlo pricing error for a European call. Rather than expecting each larger simulation to produce a closer price, compare estimates with a known Black–Scholes value over repeated or nested sample sizes. Plot absolute pricing error against the number of paths on logarithmic axes; the typical trend should have slope minus one half, reflecting standard error declining in proportion to the inverse square root of sample size.
A single run is noisy, so individual estimates need not improve monotonically as paths are added. The response also separates sampling error from time-discretization bias when a discretized asset process is used. For a standard European payoff under Black–Scholes, simulation can jump directly to expiry using a Gaussian draw, avoiding time steps and that discretization source of error. The convergence picture is therefore statistical rather than a guarantee for each run, and the observed trend can be obscured by noise, discretization choices, or small sample sizes.
Key ideas
- Monte Carlo estimator standard error decreases at an inverse square root rate as path count grows.
- A single sequence of estimates can move farther from the analytic price even as more paths are added.
- Repeated or nested estimates can be compared with an exact Black–Scholes price on a log-log plot.
- Discretized path simulation introduces a separate error that should be distinguished from sampling error.
- European options under Black–Scholes can be simulated directly at expiry without intermediate time steps.
Tags
Full text
# rate of convergence for Monte Carlo
# rate of convergence for Monte Carlo
I would like to show explicitly the rate of convergence of Monte Carlo method to be $O(\sqrt{n})$, where $n$ is the number of simulation paths. Assume I want to do that with a price of a European call option. That is, I pick an analytic solution for the price and start my simulation: fix the number of time steps, say 100 and choose a sequence of paths: $100, 400, 1600, 6400$, and I should see the error between the analytical solution and the one generate by MC decrease by $4$? Would that be the example how to generate it?
## Answer by Quantuple (score 8, accepted)
https://quant.stackexchange.com/a/28433
The estimation error is a random variable and not a simple scalar. As such, when performing one-shot assessments, you could always end up observing that using $6400$ paths provides a "better" price estimate than using $100$ of them. What matters is to investigate the variance of the estimator rather than looking at pointwise values it can take (*)
To get a graphical feel for the Monte Carlo rate of convergence, you'll need an exact price to compare your MC estimations to. For a European option and under the BS modelling framework, this price is given by the celebrated BS formula. Let's denote it by $C$. Similarly, let's assume you've picked a discretisation scheme for your SDE (although it's not needed for European contingent claims) and managed to simulate $N$ paths, hence $N$ values for the terminal asset price $S_T$: $$ S_T^{(n)},\ \forall n=1,\dots,N $$
- Form a Monte Carlo estimator $\hat{C}_n$ of the true option price $C$ by using only $n$ paths out of the total $N$. $$ \hat{C}_n = \frac{1}{n} \sum_{i=1}^n e^{-rT} f(S_T^{(i)}) $$
- Repeating this for all $n=1,\dots,N$ gets you a sequence of estimators $\{ \hat{C}_n \}_{n=1}^N$.
- Plot the sequence $\{X_n\}_{n=1}^N$ where $X_n = \vert \hat{C}_n - C \vert$ in a log-log scale (x-axis = simulations used $n$, y-axis = $X_n$).
Due to CLT (as noted by @Behrouz Maleki), you should then observe that the "backbone" of your graph is a straight line of slope $-\frac{1}{2}$ as illustrated in the bottom subplot below (**)
(*) We can look only at variance because we know the mean is fine: MC estimators are unbiased (leaving aside discretisation-related bias as made explicit in @MJ73550's answer).
(**) You may want to skip the first simulations and start directly with $n=100$ to avoid polluting your graph.
## Answer by M. Jeunesse (score 4)
https://quant.stackexchange.com/a/28432
Since you talk about time steps, I assume you use a discretization scheme (like Euler) to simulate your asset. In that case, you have two errors:
Let $X$ be the true asset, let $X^{M}$ be the discretized asset with $M$ time-steps and let $x^{M,i}$ for $i=1\dots n$ the $n$ paths.
I.e $(x^{M,i})_{i=1\dots n}$ is a $n$-sample of $X^{M}$
Then you have :
$$\mathbb{E}[f(X_T)]-\frac{1}{n}\sum_{i=1}^n f(x^{M,i}_T) = \underbrace{\mathbb{E}[f(X_T)]-\mathbb{E}[f(X^M_T)]}_{\text{discretization error}}+\underbrace{\mathbb{E}[f(X^M_T)]-\frac{1}{n}\sum_{i=1}^n f(x^{M,i}_T)}_{\text{Monte carlo error}}$$
Discretization error is governed by $\frac{1}{M}$ to the power of the order of the scheme.
MonteCarlo error is governed as you said.
## Answer by Dom (score 2)
https://quant.stackexchange.com/a/28434
If you are pricing a standard European-style option then there is no need to have any time-steps and any discretization error can be avoided. You can jump directly to the expiry time of the option in $T$ years using the formula
$S(T)=S(0) \exp \left( (r-\sigma^2/2)T + \sigma \sqrt{T} g \right)$
where $g$ is an independent Gaussian draw from $N(0,1)$. If you compare the results of this simulation to the output of the Black-Scholes European option pricing formula then you should see the inverse square root dependence of the error.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.