Monte Carlo Pricing Error and Black–Scholes Benchmarks
Summary
The document explains why a Monte Carlo estimate of a European option’s price will generally differ from its Black–Scholes analytical value, even when the simulation is implemented correctly. Monte Carlo pricing estimates an expected payoff from a finite sample, so sampling error remains; increasing the number of simulated paths tends to improve the estimate but does not guarantee an exact match.
An example computes sample means from standard normal draws at several sample sizes, repeating each calculation many times. The means move closer to the known value of zero as sample size increases, yet still vary around it. The analytical Black–Scholes price can therefore serve as a benchmark, while the Central Limit Theorem can be used to construct a confidence interval for the simulation estimate and check whether it includes that benchmark. The discussion gives no specific option-pricing implementation details or error tolerance, and its confidence-interval suggestion assumes independent simulations.
Key ideas
- Monte Carlo option prices are estimates based on finite samples and generally retain sampling error.
- Larger simulation samples tend to reduce estimation error, but do not guarantee an exact match to Black–Scholes.
- The analytical price provides a benchmark for evaluating a simulation estimate.
- A confidence interval based on the Central Limit Theorem can help assess whether the benchmark is consistent with the estimate.
Tags
Full text
# Vanilla European options: Monte carlo vs BS formula # Vanilla European options: Monte carlo vs BS formula I have implemented a monte carlo simulation for a plain vanilla European Option and I am trying to compare it to the analytical result obtained from the BS formula. Assuming my monte carlo pricer is correctly implemented, am I supposed to get the very same result with both methods (Monte Carlo and BS analytical formula)? ## Answer by Dirk Eddelbuettel (score 7, accepted) https://quant.stackexchange.com/a/1325 Fundamentally this is no different from other simulation-based estimation---see this little experiment in R: ``` R> set.seed(42) R> rowMeans(replicate(200,sapply(1:6, +> FUN=function(x) mean(rnorm(10^x)), simplify=TRUE))) [1] -2.47827e-02 -9.46800e-03 2.38226e-03 -1.08650e-03 9.41395e-05 1.06759e-05 R> ``` We are calculating the mean of a $N(0,1)$ vector for sample sizes from $10^1$ to $10^6$. That is then repeated 200 times, and we are calculating the mean of the 200 draws at the different sample sizes. We find that by and large, the mean gets closer to zero. But even at $10^6$, repeated 200 times, we are still pretty far from 'zero'. That is the way it goes with simulation, and it pays to get a feel for this. So while you have perfect benchmark with your analytical Black-Scholes result, you will be hard-pressed to get the difference to vanish completely. ## Answer by TheBridge (score 2) https://quant.stackexchange.com/a/1324 As long as your simulations are independents, you can calculate some confidence interval thank's to the Central Limit Theorem and see if this interval is encompassing the true BS price. Regards
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.