Pricer
Move the sliders to price a vanilla option under Black-Scholes (European, closed form) and a CRR binomial tree (N=500, European or American). Greeks are closed-form for European options and central finite-difference on the tree for American ones.
| Black-Scholes | Tree (N=500) | |
|---|---|---|
| Price | — | — |
| Delta | ||
| Gamma | ||
| Vega (per 1.0 vol) | ||
| Theta (per year) | ||
| Rho (per 1.0 rate) | ||
Greeks: closed-form Black-Scholes (European).
Cyan: delta (own scale). Gold: gamma (own scale). Both vs spot at the sliders' K, T, σ, r, q, recomputed live — closed-form for European, central FD on the tree for American.
Gold: intrinsic payoff at expiry. Gold dashed: P&L at expiry (payoff minus the current model price at the sliders' spot). Cyan: current model value across spot, at the sliders' K, T, σ, r, q.
Convergence
Two independent numerical methods approach the same Black-Scholes European call price (S=K=100, T=1y, r=5%, σ=20%, q=0) as their resolution parameter grows. Both axes are log-scaled so the convergence rate reads off as a slope.
Monte Carlo: error vs number of simulated paths (single seed = 5). Shaded band: ±1 standard error reported by the pricer at each N.
CRR tree: error vs number of steps.
Honest read: Monte Carlo error shrinks like 1/√N — a 100× increase in paths only buys one extra decimal digit of accuracy, and this is a single random seed, so the curve is not perfectly smooth. The CRR tree converges roughly like 1/N (one order of magnitude faster per step added) but oscillates slightly because CRR's error alternates sign depending on whether a tree layer straddles the strike — neither method is "better" in the abstract, they trade off determinism, speed, and applicability to American exercise.
Market smile
Implied volatility recovered from a real SPY option chain snapshot by Brent's method inversion of Black-Scholes, after a quality filter (liquid quotes only).
At-the-money IV vs days to expiry, across all filtered expiries.