🎲 2D Options Pricing — Monte Carlo vs Black-Scholes

Simulated GBM price paths, averaged and discounted, converging live to C = S·N(d₁) − K·e−rT·N(d₂)

Option Type

Parameters

Price Estimate

Black-Scholes (closed-form) —
Monte Carlo (simulated) —
Paths simulated 0
MC std. error —

Greeks (closed-form)

Delta Δ —
Gamma Γ —
Vega ν —

Legend

Simulated GBM price paths
Strike level K
Black-Scholes price (target)
Running Monte Carlo estimate

What It Demonstrates

This simulator prices a European option two independent ways and shows them agree. The top chart draws many simulated geometric Brownian motion (GBM) price paths for the underlying asset from today to expiry, using the same risk-neutral drift (r − ½σ²)Δt and volatility shock σ√Δt·Z that underlie the Black-Scholes model. Each path's terminal price gives a payoff — max(ST − K, 0) for a call, max(K − ST, 0) for a put — which is discounted back at e−rT and averaged across all simulated paths. That average is the Monte Carlo price estimate. The bottom chart plots this running average against the number of paths simulated so far, alongside the closed-form Black-Scholes price C = S·N(d₁) − K·e−rT·N(d₂). As more paths are simulated, the law of large numbers pulls the noisy Monte Carlo line onto the flat Black-Scholes line — a genuine numerical validation that the two pricing methods, one analytic and one simulated, compute the same value.

How to Use

Did You Know?

Monte Carlo option pricing was popularised by financial engineers in the 1970s–80s as a way to price options too complex for a closed-form formula — path-dependent and multi-asset options especially. For a plain European option, Black-Scholes gives the exact answer instantly, which is exactly what makes it a good example here: you can watch the expensive, noisy simulated method converge onto the cheap, exact one, and see with your own eyes why Monte Carlo error shrinks proportionally to 1/√N.

About the Monte Carlo vs Black-Scholes Simulator

This simulator prices a European option two ways at once. It simulates thousands of possible future price paths for the underlying asset using geometric Brownian motion — the same log-normal price process the Black-Scholes model assumes — then averages the discounted payoff across all simulated paths to get a Monte Carlo price estimate. Beside it, the exact closed-form Black-Scholes price is computed from the same inputs. Running more simulated paths pulls the noisy Monte Carlo estimate onto the exact analytic line, a direct visual proof that both methods are pricing the same option the same way.

The sliders set spot price S, strike K, time to expiry T, annualised volatility σ and the risk-free rate r; a further slider sets how many paths each batch simulates. Delta, gamma and vega are computed from the closed-form derivatives of the Black-Scholes formula and update live as the parameters change.

Frequently Asked Questions

What is being simulated in the top chart?

Each line is one simulated path of the underlying asset's price from today to expiry, generated by geometric Brownian motion: at every time step the price is multiplied by exp((r − ½σ²)Δt + σ√Δt·Z), where Z is a standard normal random draw. This is the exact stochastic process the Black-Scholes formula assumes for the underlying asset.

How does the Monte Carlo price get computed?

For every simulated path, the terminal price gives a payoff — max(ST − K, 0) for a call or max(K − ST, 0) for a put. Each payoff is discounted back to today at e−rT and all discounted payoffs are averaged. That average is an unbiased estimator of the option's fair value under risk-neutral pricing.

Why does the Monte Carlo line converge to the Black-Scholes line?

Both methods price the same risk-neutral expectation. Black-Scholes computes it exactly in closed form; Monte Carlo approximates it by sampling. By the law of large numbers, the sample average of discounted payoffs converges to the true expectation as the number of simulated paths grows, which is exactly the Black-Scholes value.

Why is the Monte Carlo line noisy at first?

With few simulated paths, the sample average has high variance — a handful of unusually large or small payoffs can swing it substantially. The standard error of a Monte Carlo estimate shrinks proportionally to 1/√N, so quadrupling the number of paths only halves the noise. This is a fundamental, unavoidable property of Monte Carlo methods, not a bug.

What does the "MC std. error" stat mean?

It is the estimated standard deviation of the Monte Carlo price estimate itself, computed from the sample variance of the discounted payoffs divided by the number of paths. A 95% confidence interval for the true price is roughly the Monte Carlo estimate plus or minus twice this standard error.

Why does changing a slider reset the accumulated paths?

The running Monte Carlo average only makes sense as an estimate of the option's price under one fixed set of inputs. If spot, strike, volatility, rate or time to expiry changed partway through, the accumulated paths would be a meaningless mixture of prices from different scenarios, so the simulator clears them and starts converging fresh.

Are the Greeks here also from Monte Carlo?

No — delta, gamma and vega are computed from the closed-form Black-Scholes derivatives (the same formulas used in the analytic price), not estimated from the simulated paths. Monte Carlo can estimate Greeks too, typically via finite differences or pathwise derivative estimators, but that is a noisier and more advanced technique than this simulator implements.

Why do in-the-money paths get drawn in green?

A path is coloured green if its terminal price finishes in the money for the selected option type (above the strike for a call, below it for a put) and red otherwise. This makes it easy to see visually roughly what fraction of simulated paths contribute a positive payoff, which is closely related to the risk-neutral probability N(d₂).