Unit 8, lesson 58

Monte Carlo pricing and sampling error

How a Monte Carlo estimator averages discounted payoffs drawn under a pricing measure, how its standard error and confidence interval measure sampling error, what coverage means, and which errors they leave out.

  • Video 58
  • Root finding, Monte Carlo and discretization

A model price is an expectation, and when no formula is available it can be estimated by simulating the discounted payoff many times and averaging. Suppose ten thousand simulated payoffs of a call average to about 8.298.29. How far from the model price can that number be, and how many more draws would make it twice as accurate? This lesson defines the Monte Carlo estimator under a pricing measure, derives its variance, standard error and an approximate confidence interval, explains what the coverage of that interval promises, and separates sampling error from discretization, specification and model error, which extra draws do not remove.

Key terms

Monte Carlo estimator

Definition Fix a model with a pricing measure Q\mathbb{Q} and a constant continuously compounded rate rr, and consider a contract that pays g(ST)g(S_T) currency units at TT. Its discounted payoff is Y=e−rTg(ST)Y = e^{-rT} g(S_T) and its model price is V=EQ[Y]V = \mathbb{E}^{\mathbb{Q}}[Y]. More generally YY is the payoff divided by the money-market account BTB_T. Let Y1,…,YNY_1, \dots, Y_N be independent random variables, each with the law of YY under Q\mathbb{Q}, and compute all expectations and variances of the draws under that law. The Monte Carlo estimator is

V^N=1N∑j=1NYj.\widehat V_N = \frac{1}{N} \sum_{j=1}^{N} Y_j .

If EQ[∣Y∣]<∞\mathbb{E}^{\mathbb{Q}}[\lvert Y \rvert] < \infty, linearity of expectation gives E[V^N]=V\mathbb{E}[\widehat V_N] = V, so the estimator is unbiased, and the strong law of large numbers gives V^N→V\widehat V_N \to V almost surely as N→∞N \to \infty. If also EQ[Y2]<∞\mathbb{E}^{\mathbb{Q}}[Y^2] < \infty, then

Var⁡(V^N)=1N2∑j,kCov⁡(Yj,Yk)=Var⁡(Y)N,\begin{aligned} &\operatorname{Var}(\widehat V_N) \\[0.4em] &\quad = \frac{1}{N^2} \sum_{j,k} \operatorname{Cov}(Y_j, Y_k) \\[0.4em] &\quad = \frac{\operatorname{Var}(Y)}{N}, \end{aligned}

because independence makes every covariance with j≠kj \ne k vanish and leaves NN copies of Var⁡(Y)\operatorname{Var}(Y).

In plain words The price is a probability-weighted average of discounted payoffs, and the estimator replaces the weights by frequencies in a large sample drawn from the right distribution. On average it is exactly right, and its variance falls in proportion to 1/N1/N.

Example Take a constructed Black-Scholes setting with S0=K=100S_0 = K = 100, r=q=0r = q = 0, σ=0.2\sigma = 0.2 and T=1T = 1, so the discounted call payoff is Y=(ST−100)+Y = (S_T - 100)^{+} and the Black-Scholes formula gives V≈7.96557V \approx 7.96557. One run of N=10000N = 10000 independent draws with a fixed seed gives V^N≈8.29073\widehat V_N \approx 8.29073. In that run 53175317 payoffs are exactly 00 and the largest is about 112.53112.53, so the payoff has an atom at zero and a long right tail. Its variance is still finite. The lognormal law gives Var⁡(Y)≈13.153\sqrt{\operatorname{Var}(Y)} \approx 13.153, so at this NN the estimator has standard deviation about 0.13150.1315.

Risk-neutral sampling

Definition Risk-neutral sampling draws the inputs of the payoff from their law under the pricing measure Q\mathbb{Q}, with the same contract terms and discounting as the price. In the Black-Scholes model with constant rr, qq and σ\sigma, the ex-dividend price satisfies dSt=(r−q)St dt+σSt dWtQdS_t = (r - q) S_t \, dt + \sigma S_t \, dW^{\mathbb{Q}}_t under Q\mathbb{Q}, and the exact transition is

ST=S0exp⁡(XT),XT=(r−q−12σ2)T+σT Z,\begin{aligned} S_T &= S_0 \exp(X_T), \\[0.4em] X_T &= \bigl(r - q - \tfrac12 \sigma^2\bigr) T \\[0.4em] &\quad + \sigma \sqrt{T}\, Z, \end{aligned}

with ZZ standard normal. Sampling STS_T this way from independent standard normal draws gives draws of YY with exactly the law needed for a payoff that depends only on STS_T, with no time-discretization error. A path-dependent payoff needs the path at the dates, or the crossings, that the contract specifies, and a stochastic discount factor must be generated jointly with the payoff on the same path. Draws made under the physical measure P\mathbb{P}, where dSt=μSt dt+σSt dWtdS_t = \mu S_t \, dt + \sigma S_t \, dW_t, estimate EP[Y]\mathbb{E}^{\mathbb{P}}[Y] instead. That is not the price unless each draw is multiplied by the density

dQdP∣FT=e−λWT−12λ2T,λ=μ−r+qσ.\begin{gathered} \frac{d\mathbb{Q}}{d\mathbb{P}}\Big|_{\mathcal{F}_T} = e^{-\lambda W_T - \frac12 \lambda^2 T}, \\[0.4em] \lambda = \frac{\mu - r + q}{\sigma}. \end{gathered}

This density defines Q\mathbb{Q} on FT\mathcal{F}_T, and by Girsanov’s theorem WtQ=Wt+λtW^{\mathbb{Q}}_t = W_t + \lambda t is a Brownian motion under Q\mathbb{Q}. Here λ\lambda is constant, so Novikov’s condition holds.

In plain words The price is an average under the pricing weights, so the simulation has to draw scenarios with those weights. Sampling with the drift the asset is assumed to have in the physical model produces a precise estimate of a different number. As explained in Risk neutral probabilities and physical probabilities, risk-neutral probabilities are pricing weights, not forecasts.

Example Take constructed inputs S0=K=100S_0 = K = 100, σ=0.2\sigma = 0.2, T=1T = 1, r=0.03r = 0.03, q=0q = 0 and a physical drift μ=0.08\mu = 0.08. The Black-Scholes call price is about 9.41349.4134. Sampling STS_T with drift μ\mu and discounting at rr converges instead to about 12.726512.7265. With a million draws the standard error is about 0.0160.016, so the interval sits about 200200 standard errors above the price. Multiplying each draw by the density with λ=0.25\lambda = 0.25 removes the gap, and a run with two million reweighted draws gives about 9.4199.419 with standard error about 0.00740.0074, consistent with 9.41349.4134.

Monte Carlo standard error

Definition The sampling error of a run is V^N−E[V^N]\widehat V_N - \mathbb{E}[\widehat V_N], the deviation of the estimate from the expectation that the sampler actually targets. For independent draws with E[Y2]<∞\mathbb{E}[Y^2] < \infty it has mean zero and standard deviation Var⁡(Y)/N\sqrt{\operatorname{Var}(Y)/N}. The payoff variance is estimated without bias by the sample variance

sN2=1N−1∑j=1N(Yj−V^N)2,s_N^2 = \frac{1}{N - 1} \sum_{j=1}^{N} \bigl(Y_j - \widehat V_N\bigr)^2,

and the Monte Carlo standard error is

SE⁡^=sNN.\widehat{\operatorname{SE}} = \frac{s_N}{\sqrt{N}} .

It estimates the standard deviation of the estimator across repeated runs, not the spread of individual payoffs. It is consistent, and slightly biased low, since E[sN]≤Var⁡(Y)\mathbb{E}[s_N] \le \sqrt{\operatorname{Var}(Y)} by Jensen’s inequality. Quadrupling NN halves the standard deviation of the estimator. The formula needs independent draws. With dependent samples, such as antithetic pairs, Markov chain output or the points of one randomized quasi-Monte Carlo set, the covariances in the variance no longer vanish, and the standard error has to be computed from units that are independent, for example the pair averages of antithetic draws.

In plain words The standard error is the typical size of the sampling error, estimated from the run itself. It shrinks like 1/N1/\sqrt{N}, so each extra decimal digit costs a hundred times as many draws. It says how much the estimate would move if the run were repeated with fresh random numbers, and nothing more.

Example In the constructed run sN≈13.5357s_N \approx 13.5357, so SE⁡^≈13.5357/100≈0.13536\widehat{\operatorname{SE}} \approx 13.5357/100 \approx 0.13536. The exact value Var⁡(Y)/N≈0.13153\sqrt{\operatorname{Var}(Y)/N} \approx 0.13153 shows that the standard error of a run is itself a random estimate. With 4000040000 independent draws the estimator’s standard deviation would be half as large, about 0.06580.0658, and the same sNs_N predicts about 0.06770.0677. Halving the standard deviation does not guarantee that the next estimate lands closer to the price, because random errors can move either way.

Monte Carlo confidence interval

Definition Suppose the draws are independent and 0<Var⁡(Y)<∞0 < \operatorname{Var}(Y) < \infty. The central limit theorem and the consistency of sNs_N give

V^N−VSE⁡^⟶N(0,1)\frac{\widehat V_N - V}{\widehat{\operatorname{SE}}} \longrightarrow \mathcal{N}(0, 1)

in distribution as N→∞N \to \infty, where N(0,1)\mathcal{N}(0, 1) is the standard normal law. Hence the probability that the interval

IN=V^N±z SE⁡^I_N = \widehat V_N \pm z\, \widehat{\operatorname{SE}}

contains VV tends to 2Φ(z)−12\Phi(z) - 1, and z=1.96z = 1.96 gives the approximate 95 percent Monte Carlo confidence interval. The exact quantile is Φ−1(0.975)≈1.959964\Phi^{-1}(0.975) \approx 1.959964. The statement is asymptotic, and for a finite NN the probability can differ from 0.950.95, especially with heavy tails, rare events or small samples. A Student tt interval is exact only for normally distributed draws, and a call payoff with an atom at zero and a skewed tail is not normal, so it carries no exact small-sample guarantee here either. If Var⁡(Y)=0\operatorname{Var}(Y) = 0, the payoff is constant, the estimate is exact and the interval is a single point, a case outside the theorem.

In plain words The interval adds and subtracts about two standard errors. With many draws the procedure catches the model price in about 95 percent of runs, but each particular interval either contains it or does not.

Example In the constructed run the interval is

8.29073±1.96⋅0.135357≈[8.02543, 8.55603].\begin{aligned} &8.29073 \pm 1.96 \cdot 0.135357 \\[0.4em] &\quad \approx [8.02543, \, 8.55603]. \end{aligned}

The Black-Scholes price 7.965577.96557 lies below it. The estimate is (8.29073−7.96557)/0.135357≈2.40(8.29073 - 7.96557)/0.135357 \approx 2.40 standard errors above the price, and under the normal approximation a deviation at least that large in either direction has probability about 0.0160.016. The sampler is exact for this model, so a single miss of this size is not by itself evidence of an error.

Interval coverage

Definition The coverage of an interval procedure is the probability, over fresh independent runs, that the interval it produces contains the target VV. A 95 percent Monte Carlo interval has nominal coverage 0.950.95, and under the hypotheses of the previous card its actual coverage tends to 0.950.95 as N→∞N \to \infty. For a fixed NN the actual coverage can be lower or higher. Coverage describes the procedure. Once a run is done, its interval either contains VV or does not, and saying that VV lies in that one interval with probability 0.950.95 confuses the two. Over independent runs the number of misses is binomial with the per-run miss probability, which allows a simulator to be tested against a known price. Coverage also presumes that the sampler targets VV. If the sampler has a fixed bias, so that E[V^N]−V\mathbb{E}[\widehat V_N] - V is the same nonzero number for every NN, the coverage tends to 00 as NN grows, because the interval shrinks around the wrong value.

In plain words The 95 percent is a long-run hit rate of the method, not a probability attached to one finished interval. Some runs must miss, and with large samples about one in twenty does.

Example For the constructed call, 40004000 independent runs with N=10000N = 10000 covered the price in about 95.095.0 percent of runs. With N=10N = 10 the coverage was only about 84.584.5 percent and with N=100N = 100 about 93.793.7 percent, and most misses at small NN had the whole interval below the price. A small sample of a right-skewed payoff usually lacks the rare large payoffs, so it underestimates both the mean and the spread. These coverage rates are themselves simulation estimates, with standard errors below 0.0010.001 for N=10N = 10 and N=100N = 100 and about 0.00350.0035 for N=10000N = 10000.

Model and discretization error

Definition Suppose the code averages independent draws of a discounted payoff Y~\tilde Y whose law may differ from that of YY, and VV is the price in the stated model. The error of the estimate splits as

V^N−V=(V^N−E[Y~])+(E[Y~]−V).\begin{aligned} \widehat V_N - V &= \bigl(\widehat V_N - \mathbb{E}[\tilde Y]\bigr) \\[0.4em] &\quad + \bigl(\mathbb{E}[\tilde Y] - V\bigr). \end{aligned}

The first term is the sampling error, which the standard error measures and which shrinks like 1/N1/\sqrt{N}. The second is a bias that does not depend on NN. It contains discretization error, from time stepping, discrete monitoring of a continuous condition or any other approximation of the model’s law, and specification error, from a wrong measure, payoff or discount factor. Model error is a further gap, between VV and the quantity the model price is meant to represent, such as the price in a richer model or a quoted price. Neither bias nor model error appears in the standard error, and a narrow interval can concentrate around a wrong value. Refining the time grid or using an exact transition addresses discretization, checking the contract and the measure addresses specification, and comparison with prices or hedging behavior addresses the model.

In plain words More draws only shrink the random scatter around whatever the program actually computes. If the program computes the wrong expectation, a large sample gives a precise estimate of the wrong number.

Example In the constructed setting with r=0r = 0, replace the exact transition by a single Euler step, S~T=100(1+0.2Z)\tilde S_T = 100(1 + 0.2 Z). The payoff becomes 20Z+20 Z^{+}, with expectation

20 φ(0)=202π≈7.97885,\begin{aligned} 20\, \varphi(0) &= \frac{20}{\sqrt{2\pi}} \\[0.4em] &\approx 7.97885, \end{aligned}

so the bias is about 0.013280.01328 for every NN. At N=10000N = 10000 it is about a tenth of a standard error and invisible, but at N=107N = 10^7 the standard error is about 0.00370.0037 and the bias is about 3.63.6 standard errors, so the interval misses most of the time. The physical-drift sampler of the risk-neutral sampling card is a specification error of about 3.313.31, which no sample size removes.

Check yourself

  1. A run with N=10000N = 10000 gives sN=13.5357s_N = 13.5357. Find the standard error and the number of draws that this estimate suggests for a standard error of 0.020.02. Why is that number only a planning figure?
Show the answer

The standard error is 13.5357/10000≈0.135413.5357/\sqrt{10000} \approx 0.1354. Solving sN/N=0.02s_N/\sqrt{N} = 0.02 gives

N=(13.53570.02)2≈458000.\begin{aligned} N &= \Bigl(\frac{13.5357}{0.02}\Bigr)^2 \\[0.4em] &\approx 458000 . \end{aligned}

The figure uses an estimate of the payoff standard deviation, which is itself random. For the constructed call the exact value 13.15313.153 gives about 432500432500 draws instead. Even with the right NN, the next run’s standard error is a random estimate, its sampling error can be larger than one standard error, and no choice of NN reduces discretization or model error.

  1. Ten analysts run an exact sampler independently, each with N=10000N = 10000, and each reports a 95 percent interval. Treating the coverage as exactly 0.950.95, find the probability that at least one interval misses the model price. In a larger test, 4040 of 200200 independent intervals miss. What does that suggest?
Show the answer

The probability that all ten cover is 0.9510≈0.5990.95^{10} \approx 0.599, so at least one misses with probability about 0.4010.401. A single miss among ten is ordinary. Over 200200 runs the number of misses is binomial with n=200n = 200 and p=0.05p = 0.05, with mean 1010 and standard deviation 200⋅0.05⋅0.95≈3.08\sqrt{200 \cdot 0.05 \cdot 0.95} \approx 3.08. Forty misses is almost ten standard deviations above the mean, and the binomial probability of 4040 or more is about 6×10−146 \times 10^{-14}. The intervals do not have their nominal coverage, which points to a bias such as a wrong measure, a discretization error or a payoff bug, to dependence ignored in the standard error, or to a sample too small for the normal approximation.

  1. For the constructed call with S0=K=100S_0 = K = 100, r=q=0r = q = 0, σ=0.2\sigma = 0.2 and T=1T = 1, a run uses 50005000 antithetic pairs ZZ and −Z-Z and so produces 1000010000 payoffs. A colleague computes sN/10000s_N/\sqrt{10000} from all 1000010000 numbers. Which hypothesis does that formula need, and what is the correct standard deviation of the estimator, given Var⁡(Y)≈173.00\operatorname{Var}(Y) \approx 173.00 and V≈7.96557V \approx 7.96557?
Show the answer

The formula needs independent draws, and the two members of a pair are dependent. Here ST>100S_T > 100 requires −0.02+0.2Z>0-0.02 + 0.2Z > 0, that is Z>0.1Z > 0.1, while the partner needs Z<−0.1Z < -0.1, so the two payoffs of a pair are never positive together. Hence E[YY′]=0\mathbb{E}[Y Y'] = 0 and Cov⁡(Y,Y′)=−V2≈−63.45\operatorname{Cov}(Y, Y') = -V^2 \approx -63.45. The independent units are the pair averages, with variance

173.00−63.452≈54.78,\begin{aligned} &\frac{173.00 - 63.45}{2} \\[0.4em] &\quad \approx 54.78, \end{aligned}

so the estimator from 50005000 pairs has standard deviation 54.78/5000≈0.1047\sqrt{54.78/5000} \approx 0.1047. The colleague’s formula estimates 173.00/10000≈0.1315\sqrt{173.00/10000} \approx 0.1315, about 2626 percent too large. For a payoff that is large for both ZZ and −Z-Z, such as a straddle, the pair correlation is positive and the same mistake understates the error. The correct standard error uses the sample standard deviation of the 50005000 pair averages divided by 5000\sqrt{5000}.

How this lesson connects