Each digit of Monte Carlo accuracy costs 100× the paths
The error falls like , with a log-log slope between and from 1,000 to 1,000,000 paths.
slope -1/2RMS error over 16 runs
| Quantity | Viv | vipyr | Checked by |
|---|---|---|---|
bs price | 10.4506 | 10.4506 | Viv and vipyr agree |
mc slope | -0.525218 | not shown | the RMS error falls with a log-log slope between -0.6 and -0.4 |
monte_carlo_rate.viv
Output · native build · Oct 14, 2026 · 1.82 s
bs_price: 10.4506 rms_error: [0.48393, 0.128791, 0.0441503, 0.0122756] mc_slope: -0.525218
- ✓ the RMS error falls with a log-log slope between -0.6 and -0.4
Open in the workbenchAtlasCode map
Uses vp.finance.bs_price
- Full statement
- Pricing a European call (, , , one year) by Monte Carlo, the root-mean-square error over 16 independent runs against the Black-Scholes price 10.4506 falls like . The log-log slope from 1,000 to 1,000,000 paths is between and , so each extra digit of accuracy costs 100 times the paths.
- Scope
- Plain Monte Carlo of the terminal price (exact lognormal step), no variance reduction; 16 runs per path count with fixed seeds, so the fitted slope carries sampling noise of a few hundredths.
- Reference
- The Black-Scholes price 10.450583572185565 (closed form, the vipyr twin's vp.finance.bs_price); the central limit theorem's for the standard error of a sample mean (Glasserman, Monte Carlo Methods in Financial Engineering (2003), section 1.1).
claims/finance/monte_carlo_rate.viv · claims/finance/monte_carlo_rate.py#33a91bd0a8