From Terminal Prices to a Call-Price Estimate
A European call pays \((S_T-K)^+=\max(S_T-K,0)\) at its maturity \(T\). Under the risk-neutral measure, its time-zero price is the expected discounted payoff. Monte Carlo estimation replaces that expectation with the average of finitely many simulated payoffs. The estimate is random: its standard error describes the sampling variability of the average, not the size of the error in any one particular run.
Work on a filtered probability space \((\Omega,\mathcal{F},(\mathcal{F}_t)_{t\ge0},\mathbb{P})\), and let \(\mathbb{Q}\) be the risk-neutral measure, equivalent to \(\mathbb{P}\) on the time interval under consideration. Under \(\mathbb{Q}\), let \(B_t\) be Brownian motion and suppose the stock follows geometric Brownian motion with constant interest rate \(r\) and volatility \(\sigma>0\):
Here \(rS_t\) is the drift term and \(\sigma S_t\) is the diffusion coefficient. The stochastic integral is an Ito integral: its integrand is adapted and progressively measurable and belongs to \(\mathcal{L}^2\) on each finite time interval, meaning \(\mathbb{E}^{\mathbb{Q}}\int_0^T H_s^2\,ds<\infty\). In particular, the integral with integrand \(\sigma S_s\) is well-defined, since the geometric-Brownian solution has finite second moments on finite intervals.
The terminal-price formula follows by applying Ito's formula to the logarithm of \(S_t\), or equivalently by checking the explicit solution in the SDE. In that calculation, the correction from \(dB_t\,dB_t=dt\) is essential; the exponent contains \(-\tfrac12\sigma^2T\), not zero. Direct terminal simulation uses one normal draw per price and does not require simulating all the intermediate points of a Brownian path.
Why the Estimator Works
Proof. Set \(m=\mathbb{E}^{\mathbb{Q}}[Y_1]\) and \(v=\operatorname{Var}^{\mathbb{Q}}(Y_1)\). These quantities are finite: \(0\le (S_T-K)^+\le S_T\), and the lognormal terminal price has finite second moment. Independence gives \(\mathbb{E}^{\mathbb{Q}}[\widehat C_n]=\frac1n\sum_i\mathbb{E}^{\mathbb{Q}}[Y_i]=m=C\). Also, the covariance of distinct \(Y_i,Y_j\) is zero, so expanding the variance of the sum gives \(\operatorname{Var}^{\mathbb{Q}}(\widehat C_n)=n^{-2}\sum_i v=v/n\). For the sample variance, write \(\overline Y-m=\frac1n\sum_i(Y_i-m)\). Expanding squares gives \(\sum_i(Y_i-\overline Y)^2=\sum_i(Y_i-m)^2-n(\overline Y-m)^2\). Taking expectations yields \(nv-n(v/n)=(n-1)v\). Dividing by \(n-1\) shows \(\mathbb{E}^{\mathbb{Q}}[s_Y^2]=v\), and hence \(\mathbb{E}^{\mathbb{Q}}[s_Y^2/n]=v/n\). \(\square\)
The theorem establishes the estimator’s mean and variance; it does not assert that a particular estimate must be close to the price. The reported standard error estimates the standard deviation of repeated estimates of the same size. In a large sample, an approximate interval is often reported as \(\widehat C_n\pm1.96\,\widehat{\operatorname{SE}}\). This is a normal approximation, not an exact finite-sample guarantee; it is most useful when the sample is sufficiently large and the payoff distribution is not too skewed.
The benchmark for comparison is the Black–Scholes call formula, a standard result for this constant-parameter model: \(C_{\mathrm{BS}}=S_0\Phi(d_1)-Ke^{-rT}\Phi(d_2)\), where \(d_1=(\log(S_0/K)+(r+\tfrac12\sigma^2)T)/(\sigma\sqrt T)\) and \(d_2=d_1-\sigma\sqrt T\), for \(K>0\). The Monte Carlo result should fluctuate around this benchmark, with typical sampling fluctuations decreasing in proportion to \(1/\sqrt n\). This comparison is a diagnostic, not a proof that a particular simulation is correctly implemented.
Worked Calculations
Worked Example: Simulating One Terminal Price
Take \(S_0=100\), \(K=100\), \(r=0\), \(\sigma=0.2\), and \(T=1\). Suppose one standard normal draw is \(Z=1\). Compute the simulated terminal price and discounted payoff.
The exponent in the terminal-price formula is \((0-\tfrac12(0.2)^2)1+0.2\sqrt1(1)=-0.02+0.2=0.18\). Thus \(S_T^{(1)}=100e^{0.18}=119.72\) to four significant digits. The payoff is \((119.72-100)^+=19.72\), and because \(r=0\), discounting leaves it at \(Y_1=19.72\).
Check: Substitution into the payoff definition gives \(e^0\max(100e^{0.18}-100,0)=100(e^{0.18}-1)=19.72\), consistent with the terminal-price calculation. This is one simulated payoff, not yet a price estimate with a meaningful estimated standard error.
Worked Example: Estimating the Price and Standard Error
Use the same parameters as above, and suppose four independent standard normal draws are \(-1,0,1,2\). These fixed values illustrate the calculations; they are not a claim about a typical random sample. Find the four payoffs, the Monte Carlo estimate, its estimated standard error, and the Black–Scholes benchmark.
The log-price exponent is \(-0.02+0.2Z_i\). For \(Z_i=-1\), the terminal price is \(100e^{-0.22}=80.25\), giving payoff \(0\). For \(Z_i=0\), it is \(100e^{-0.02}=98.02\), also giving payoff \(0\). For \(Z_i=1\), it is \(100e^{0.18}=119.72\), giving payoff \(19.72\). For \(Z_i=2\), it is \(100e^{0.38}=146.23\), giving payoff \(46.23\). The discount factor is \(e^0=1\), so the discounted payoffs are the same.
The sample mean is \(\overline Y=(0+0+19.7217+46.2285)/4=16.4875\), or \(16.49\) to four significant digits. Using the sample-variance identity \(s_Y^2=[\sum_iY_i^2-(\sum_iY_i)^2/4]/3\), the sum of squares is \(19.7217^2+46.2285^2=2526.02\), and \((\sum_iY_i)^2/4=1087.36\). Therefore \(s_Y^2=(2526.02-1087.36)/3=479.55\), \(s_Y=21.90\), and the estimated standard error is \(21.90/\sqrt4=10.95\).
For the benchmark, \(d_1=(0+\tfrac12(0.2)^2)/0.2=0.1\) and \(d_2=0.1-0.2=-0.1\). The formula gives \(C_{\mathrm{BS}}=100[\Phi(0.1)-\Phi(-0.1)]=100(0.5398-0.4602)=7.966\). The estimate differs from the benchmark by \(16.4875-7.9656=8.5219\), which is about \(8.5219/10.9494=0.7783\) estimated standard errors.
Check: The estimated standard error is the sample standard deviation divided by \(\sqrt4=2\), not by \(4\). The estimate’s difference from the benchmark is less than one estimated standard error, which is plausible for this small sample; it does not establish that the simulation is accurate.
Worked Example: Using a Pilot Estimate to Plan Sample Size
Use the sample standard deviation \(s_Y=21.8987\) from the four-payoff example as a pilot value. Approximately how many simulations would be needed for a standard error of \(2\) or less, if the pilot variability were representative?
The standard-error relation is approximately \(s_Y/\sqrt n\le2\). Squaring both positive sides gives \(n\ge(s_Y/2)^2\). Substituting the pilot value gives \(n\ge(21.8987/2)^2=119.89\), so the smallest integer meeting this pilot calculation is \(n=120\). At this size the predicted standard error is \(21.8987/\sqrt{120}=1.999\) to four significant digits.
Check: For \(n=119\), the pilot prediction is \(21.8987/\sqrt{119}=2.007\), which is greater than \(2\); for \(n=120\), it is \(1.999\), which is below \(2\). This is only a planning estimate: the true payoff standard deviation is not known in advance, and the four-observation pilot itself is highly uncertain.
Implementation Checks and Common Mistakes
In a simulation, generate independent standard normal draws and use the exact terminal transition. For every draw, compute the exponential, apply the positive-part operation, discount the payoff, and then calculate the mean and sample standard deviation of the discounted payoffs. The order matters: the standard error is computed from the \(Y_i\), so both the payoff transformation and discounting must occur before calculating it.
Common mistake: using the physical drift in a risk-neutral price. A simulation under the physical measure \(\mathbb{P}\) may use a different drift, such as an expected stock return \(\mu\). Substituting \(\mu\) for \(r\) in the risk-neutral terminal-price formula generally estimates a different expectation. For the no-dividend model here, pricing uses the risk-neutral measure \(\mathbb{Q}\), under which the drift is \(r\), and discounts by \(e^{-rT}\).
Common mistake: reporting the payoff standard deviation as the standard error. The standard deviation \(s_Y\) measures the spread of individual discounted payoffs. The estimated standard error of their mean is \(s_Y/\sqrt n\). Confusing the two overstates the estimated uncertainty in the mean by a factor of \(\sqrt n\).
A useful implementation check is to compare the Monte Carlo estimate with \(C_{\mathrm{BS}}\) for a case where the benchmark is available. Also check basic constraints: each simulated payoff is nonnegative, and the call price cannot exceed the discounted stock value \(S_0\) in this model. A mismatch may reflect ordinary sampling variation, a coding error, an incorrect discount factor, or use of the wrong drift; the benchmark comparison alone does not identify which one.
Check Your Understanding
Use the definitions and calculations in this tutorial to answer the following.
- For \(S_0=80\), \(K=85\), \(r=0.03\), \(\sigma=0.25\), and \(T=2\), write the terminal-price expression corresponding to a standard normal draw \(Z\).
- Why does the sample standard error use the sample standard deviation of discounted payoffs rather than undiscounted terminal prices?
- State the assumptions that make the Monte Carlo estimator unbiased for the risk-neutral call price.
- If the estimated standard deviation of discounted payoffs is \(12\), what sample size does the pilot calculation suggest for a standard error of at most \(0.5\)?
- Explain why agreement between one Monte Carlo estimate and the Black–Scholes benchmark does not, by itself, verify the simulation code.