The Model and Its Assumptions

The Black-Scholes model is taught as a solution, but it's better understood as a useful approximation with well-documented failure modes.

The model assumes constant volatility, log-normally distributed returns, and frictionless continuous hedging. None of these hold in practice.

The Black-Scholes Formula

For a European call option, the price is:

C=S0Φ(d1)KerTΦ(d2)C = S_0 \Phi(d_1) - K e^{-rT} \Phi(d_2)

where

d1=ln(S0/K)+(r+σ2/2)TσT,d2=d1σTd_1 = \frac{\ln(S_0/K) + (r + \sigma^2/2)T}{\sigma \sqrt{T}}, \quad d_2 = d_1 - \sigma\sqrt{T}

Here S0S_0 is the spot price, KK is the strike, rr is the risk-free rate, TT is time to expiry, σ\sigma is the (assumed constant) volatility, and Φ\Phi is the standard normal CDF.

The put price follows from put-call parity: P=CS0+KerTP = C - S_0 + Ke^{-rT}.

Why the Model Fails

The Volatility Smile

Volatility smiles and skews exist precisely because the market prices in the fat tails and jump risk that Black-Scholes ignores. If you back out the implied volatility σ^\hat{\sigma} from market prices across strikes KK at fixed expiry TT, you get a function σ^(K,T)\hat{\sigma}(K, T) — not a constant.

The implied volatility you back out from a market price is not the same as the historical volatility you'd estimate from a returns series. Nor is the implied vol surface consistent: across strikes, it smiles (or smirks, for equity indices, where downside puts are priced with higher vol than upside calls).

Fat Tails

Log-normal returns have thin tails. Real equity returns have much fatter ones. A daily move of 5σ5\sigma is essentially impossible under Black-Scholes and happens with uncomfortable regularity in practice.

Extensions

Where this gets interesting is in how practitioners have extended the model to account for its own shortcomings.

Local Volatility

Local volatility models, following Dupire (1994), allow vol to vary deterministically with spot and time. Given the full implied vol surface σ^(K,T)\hat{\sigma}(K, T), Dupire's formula recovers a local vol surface σloc(S,t)\sigma_{\text{loc}}(S, t) that is consistent with all observed option prices:

σloc2(K,T)=C/T12K22C/K2\sigma_{\text{loc}}^2(K, T) = \frac{\partial C/\partial T}{\frac{1}{2}K^2 \partial^2 C/\partial K^2}

This is elegant, but local vol models produce forward smiles that are unrealistically flat — they fit today's surface but mis-price forward-starting options and barriers.

Stochastic Volatility

Stochastic volatility models — Heston being the canonical example — add a mean-reverting volatility process:

dSt=μStdt+vtStdWtSdS_t = \mu S_t \, dt + \sqrt{v_t} S_t \, dW_t^S dvt=κ(θvt)dt+ξvtdWtvdv_t = \kappa(\theta - v_t) \, dt + \xi \sqrt{v_t} \, dW_t^v

where dWS,dWv=ρdt\langle dW^S, dW^v \rangle = \rho \, dt. The correlation ρ<0\rho < 0 for equities generates the observed skew (when spot falls, vol rises). The Heston model admits a semi-closed-form characteristic function, which makes calibration tractable.

Rough Volatility

Rough volatility models, motivated by empirical work on the roughness of vol time series, use fractional Brownian motion to capture long-memory effects. The Hurst exponent H0.1H \approx 0.1 for realized vol (much less than 1/21/2, the standard Brownian case) implies that vol paths are rougher than standard Brownian motion.

The Practical Question

Each extension fixes some failure modes and introduces new ones. The practical question is always: which model is wrong in the way that matters least for the trade you're trying to price? That's a judgment call, and it's what separates good derivatives desks from bad ones.

A liquid vanilla desk calibrates to market prices daily and worries about the greeks. An exotic desk needs a model that correctly prices the dynamics — getting the static smile right is necessary but not sufficient.