Local Volatility and Dupire's Formula
The unique deterministic volatility function that reprices the entire option surface, derived via Breeden-Litzenberger and Dupire's forward equation, why it fits every vanilla exactly, and why its wrong smile dynamics make it misprice exotics.
Prerequisites: The Volatility Smile and Skew, Risk-Neutral Pricing
The smile proves that a single constant volatility cannot fit the option market. Local volatility is the minimal repair: keep a one-factor diffusion, but let volatility be a deterministic function of spot and time, . Dupire's remarkable 1994 result is that there is a unique such function that exactly reprices every European option on the surface, and it can be read off directly from option prices. It is the workhorse for pricing path-dependent exotics consistently with vanillas, and a cautionary tale about matching prices while getting dynamics wrong.
The local-volatility model
Replace constant with a function:
The question Dupire answered: given the full grid of market call prices for all strikes and maturities, is there a that reproduces them, and is it unique? The answer is yes to both.
Step 1, Breeden-Litzenberger: prices encode the density
The risk-neutral call price is . Differentiate under the integral in :
where is the risk-neutral density of . So the second strike-derivative of call prices is the risk-neutral density, the option surface literally contains the full distribution at each maturity. This is the foundation; it says the surface has more than enough information to pin a one-factor diffusion.
Step 2, Dupire's forward equation
The trick is to view the option price as a function of strike and maturity (the "forward" variables) rather than spot and time. The density satisfies the Fokker-Planck (forward Kolmogorov) equation for the diffusion. Combining it with Breeden-Litzenberger and integrating yields Dupire's equation for the call price as a function of :
Solve algebraically for the local variance:
With zero rates this reduces to the clean form . Every quantity on the right is observable from the option surface, so local vol is directly extractable: numerator = calendar spread (sensitivity to maturity), denominator = butterfly spread (the density). There is one and only one , the model is fully determined by the market, with no free parameters.
Local vol in terms of implied vol
Because differentiating raw prices is numerically unstable, practitioners rewrite Dupire in terms of the implied-vol surface or total implied variance in log-moneyness . Gatheral's form is
The key qualitative fact drops out: local vol moves roughly twice as fast as implied vol in strike. Near the money, , the "two-times-slope" rule of thumb: the local-vol skew is about twice the implied-vol skew.
Why use it, and why it disappoints
The appeal: local vol is the unique arbitrage-free one-factor model consistent with all vanilla prices simultaneously. Feed it a barrier or a forward-start option and you get a price that is at least consistent with the vanilla market, no other one-factor model can claim that. It is a complete-market model, so exotics are perfectly hedgeable in principle.
The flaw, wrong dynamics. Local vol fits today's smile but predicts how the smile evolves, and it gets that badly wrong. Because is a fixed function of spot, when spot moves the whole smile shifts in a way that makes the future smile flatten, the opposite of the observed equity market, where the skew is sticky and persists (even steepens) as spot moves. Consequently local vol:
- gives too-low forward skew, mispricing forward-starting options (cliquets) and anything sensitive to future smile;
- produces unrealistic barrier and digital prices, because those depend on smile dynamics near the barrier;
- delivers wrong deltas, the model's spot-vol behaviour biases the hedge ratio.
This is why desks moved to stochastic volatility (right dynamics, imperfect fit) and ultimately to local-stochastic-volatility (LSV) hybrids that keep local vol's exact vanilla calibration while borrowing SV's realistic dynamics.
Worked example
Suppose near-ATM 1-year implied vol is 20% and the implied-vol skew is per point of strike (a 10-vol-point drop over 100 strike points, a steep index skew). The two-times rule gives a local-vol skew of about per strike point: at (10 below spot 100), , versus implied . Local vol is steeper, it must be, to make the diffusion reproduce the fatter left tail.
What breaks in practice
- Numerical instability. The formula divides by (a butterfly), which is tiny and noisy in the wings and near expiry; naive finite differences give garbage local vols. Arbitrage-free smoothing (SVI, SSVI) of the input surface is mandatory.
- Wrong smile dynamics. The central flaw above, great for repricing vanillas, poor for forward-smile-sensitive exotics.
- No vol-of-vol. Local vol has zero genuine randomness in volatility, so it cannot price options on volatility (VIX options, forward vol agreements) and it under-hedges vega/vanna risk.
- Extrapolation. The surface must be extended beyond quoted strikes/maturities; the local vol there is essentially an assumption, not a fit.
In interviews
Be able to state Dupire's formula and explain each piece: numerator = calendar spread (), denominator = butterfly/density (), so local variance = calendar over butterfly. Derive Breeden-Litzenberger (), the density from prices. Know the punchline pair: local vol is the unique deterministic-vol model fitting all vanillas, but it has wrong dynamics (predicts a flattening smile, real equity skew is sticky), so it misprices forward-start and barrier exotics, motivating stochastic and local-stochastic vol. The "two-times-slope" rule (local skew ≈ twice implied skew) is a favorite quick check.
Related concepts
Practice in interviews
Further reading
- Dupire (1994), Pricing with a Smile
- Gatheral, The Volatility Surface (Ch. 1-2)
- Derman & Kani, Riding on a Smile