A
AcadiFi
QD
QuantFinance_Dev2026-04-12
cfaLevel IIQuantitative MethodsDerivatives

How does Monte Carlo simulation work for pricing options, and when is it preferred over closed-form models?

I'm studying CFA quantitative methods and derivatives. I understand Black-Scholes gives a closed-form price, so why would anyone use Monte Carlo simulation which seems computationally expensive? When does MC become the better choice, and how is it actually implemented?

119 upvotes
AcadiFi TeamVerified Expert
AcadiFi Certified Professional

Monte Carlo simulation prices options by generating thousands of random price paths for the underlying asset, calculating the option payoff at expiration for each path, and averaging the discounted payoffs. It is preferred when the option's features make closed-form solutions impossible or unreliable.\n\nWhen Monte Carlo Excels:\n\n- Path-dependent options: Asian options (payoff depends on average price), lookback options (payoff depends on max/min price), and barrier options (payoff depends on whether price crossed a threshold) all require tracking the entire price path, not just the terminal value.\n- Multiple underlying assets: Basket options on 5+ assets are difficult to price analytically but straightforward to simulate.\n- Complex payoff structures: Exotic derivatives with conditional features, autocallables, or digital barriers.\n- Non-standard distributions: When the underlying doesn't follow log-normal dynamics (jump-diffusion, stochastic volatility).\n\nImplementation Steps:\n\n`mermaid\ngraph TD\n A[\"Set Parameters
S0, K, r, sigma, T, N paths\"] --> B[\"Generate Random Paths
GBM: S_t = S_0 exp((r-0.5sigma^2)t + sigmasqrt(t)*Z)\"]\n B --> C[\"Calculate Payoff
for each path\"]\n C --> D[\"Discount Payoffs
to present value\"]\n D --> E[\"Average All PVs
= Option Price\"]\n E --> F[\"Compute Standard Error
SE = stdev / sqrt(N)\"]\n`\n\nWorked Example: European Call\n\nPricing a European call on Ridgeway Pharma stock:\n- S_0 = $85, K = $90, r = 5%, sigma = 30%, T = 0.5 years\n- Simulate 10,000 paths\n\nFor each path i, generate terminal stock price:\nS_T(i) = 85 x exp((0.05 - 0.5 x 0.30^2) x 0.5 + 0.30 x sqrt(0.5) x Z_i)\n\nwhere Z_i is a standard normal random draw.\n\nSample path results (out of 10,000):\n\n| Path | Z_i | S_T | Payoff max(S_T - 90, 0) |\n|---|---|---|---|\n| 1 | +0.84 | $103.42 | $13.42 |\n| 2 | -1.21 | $66.18 | $0.00 |\n| 3 | +0.33 | $91.76 | $1.76 |\n| ... | ... | ... | ... |\n\nAverage payoff across 10,000 paths: $7.28\n\nDiscounted price: $7.28 x exp(-0.05 x 0.5) = $7.10\n\nBlack-Scholes analytical price: $7.04\n\nThe Monte Carlo estimate converges to the analytical solution as N increases. With 10,000 paths, the standard error is approximately $0.12, so the 95% confidence interval is $7.10 +/- $0.24.\n\nVariance Reduction Techniques:\n\nTo improve accuracy without increasing paths:\n- Antithetic variates: For each random draw Z, also simulate with -Z. This cuts variance roughly in half.\n- Control variates: Use a related option with a known price to adjust the MC estimate.\n- Importance sampling: Oversample paths likely to end in-the-money.\n\nLimitations:\n\nMonte Carlo is computationally slow for American options (early exercise requires nested simulation) and less efficient than lattice methods for simple vanilla options. It also requires careful random number generation to avoid bias.\n\nExplore quantitative pricing methods in our CFA Quantitative Methods course.

📊

Master Level II with our CFA Course

107 lessons · 200+ hours· Expert instruction

#monte-carlo#option-pricing#simulation#path-dependent#variance-reduction