Local volatility surface
Black-Scholes assumes one volatility for every strike and maturity, and the smile is the market saying that is wrong. Dupire showed that a single function σ(S,t) reproduces the entire vanilla surface exactly. This differentiates a parametric surface to recover it, and shows where the second strike derivative makes that differentiation fragile.
| Strike | T | Implied | Local | Difference |
|---|---|---|---|---|
| 80 | 0.25 | 32.95% | 43.61% | 10.66 |
| 90 | 0.25 | 27.77% | 28.79% | 1.03 |
| 95 | 0.25 | 26.13% | 25.10% | -1.03 |
| 100 | 0.25 | 25.01% | 22.97% | -2.05 |
| 105 | 0.25 | 24.34% | 21.95% | -2.39 |
| 110 | 0.25 | 24.05% | 21.91% | -2.14 |
| 120 | 0.25 | 24.45% | 24.39% | -0.05 |
| 80 | 0.50 | 32.06% | 37.52% | 5.46 |
| 90 | 0.50 | 26.90% | 25.62% | -1.28 |
| 95 | 0.50 | 25.28% | 22.46% | -2.82 |
| 100 | 0.50 | 24.17% | 20.56% | -3.61 |
| 105 | 0.50 | 23.51% | 19.72% | -3.78 |
| 110 | 0.50 | 23.23% | 19.71% | -3.52 |
| 120 | 0.50 | 23.64% | 21.93% | -1.71 |
| 80 | 1.00 | 30.73% | 29.85% | -0.88 |
| 90 | 1.00 | 25.57% | 21.30% | -4.27 |
| 95 | 1.00 | 23.95% | 18.81% | -5.14 |
| 100 | 1.00 | 22.84% | 17.31% | -5.54 |
| 105 | 1.00 | 22.18% | 16.62% | -5.56 |
| 110 | 1.00 | 21.90% | 16.63% | -5.28 |
| 120 | 1.00 | 22.31% | 18.47% | -3.85 |
| 80 | 2.00 | 29.35% | 22.70% | -6.66 |
| 90 | 2.00 | 24.08% | 17.10% | -6.98 |
| 95 | 2.00 | 22.40% | 15.25% | -7.14 |
| 100 | 2.00 | 21.23% | 14.07% | -7.16 |
| 105 | 2.00 | 20.52% | 13.50% | -7.02 |
| 110 | 2.00 | 20.19% | 13.45% | -6.74 |
| 120 | 2.00 | 20.51% | 14.75% | -5.76 |
| 80 | 5.00 | 30.70% | 18.07% | -12.64 |
| 90 | 5.00 | 24.41% | 14.70% | -9.71 |
| 95 | 5.00 | 22.27% | 13.36% | -8.91 |
| 100 | 5.00 | 20.67% | 12.28% | -8.38 |
| 105 | 5.00 | 19.53% | 11.51% | -8.02 |
| 110 | 5.00 | 18.81% | 11.06% | -7.75 |
| 120 | 5.00 | 18.38% | 11.04% | -7.34 |
On this surface the local volatility sits below the implied at every strike, because the curvature inflates the second strike derivative — the denominator of Dupire. Flatten the curvature to zero and the two converge.
σ²(K,T) = [C_T + (r−q)K C_K + qC] / (½K² C_KK) · The exact local variance that reprices every vanilla.
f(K) = e^{rT} ∂²C/∂K² · The denominator is the risk-neutral density; negative means arbitrage.
σ(k,T) = σ_ATM(T) + s(T)k + c k² · A quadratic in log-moneyness, with a decaying skew.
∂σ/∂k at the money · What a desk hedges, not the level.
A clear path from inputs to results.
Black-Scholes assumes one volatility for every strike and maturity, and the smile is the market saying that is wrong. Dupire showed that a single function σ(S,t) reproduces the entire vanilla surface exactly. This differentiates a parametric surface to recover it.
How to use
- Set the spot, the rate and the dividend yield.
- Shape the surface with the short and long ATM volatilities, the skew and the curvature.
- Pick a strike and maturity to inspect.
- Read the implied volatility, the local volatility and the density between them.
The formula
Reference: Dupire (1994), Pricing with a Smile; Breeden & Litzenberger (1978) for the density identity.
Worked example
A 110-strike, one-year option on a skewed surface
- Spot 100, 3% rate, no dividend.
- Short-dated ATM vol 26%, long-dated 18%, skew −18 points, curvature 0.8.
- Inspect the 110 strike at one year.
- 1
The surface gives an implied volatility of 21.90% at the 110 strike.
- 2
The ATM implied at one year is 22.84%, so the smile has fallen 0.94 points across that range.
- 3
Differentiating the surface in T gives the numerator of Dupire; differentiating twice in K gives a density of 122.0.
- 4
The ratio is a local variance of 0.0277, so the local volatility is 16.63%.
- 5
The local sits 5.3 points below the implied because the curvature inflates the denominator.
21.90% implied · 16.63% local · density 122.0.
Interpreting the result
The local volatility is lower than the implied at every strike on this surface, and that is a direct consequence of the curvature: the second strike derivative in the denominator grows faster than the time derivative in the numerator. Set the curvature to zero and the two converge, which is the flat-surface test the engine is built around.
Assumptions & limitations
- The surface is parametric and smooth, so the derivatives exist everywhere.
- Rate and dividend are constant.
- The local volatility is a deterministic function of spot and time — no stochastic volatility.
- Differences are central, with a strike step proportional to the strike.
Frequently asked questions
Why is local volatility hard in practice?
Because Dupire differentiates the surface twice in strike. A surface fitted to a finite set of quotes is noisy, and the second derivative amplifies the noise into negative or infinite local variance. Real desks smooth the implied density rather than the volatility.
Does local volatility predict the smile correctly?
It reprices today's vanillas exactly but gets the dynamics wrong: it implies the smile moves in a way that the market does not. That failure is why stochastic and rough volatility models exist.
What does a negative density mean?
It means the surface admits arbitrage: a butterfly spread with a negative price. The engine reports the density rather than silently taking the square root of a negative variance.
Why the cross term in the surface?
A quadratic in log-moneyness is the simplest form that has a skew and a curvature with analytic derivatives, which keeps the finite differences clean.
Methodology last reviewed 2026-10-22. Results are informational and not financial or engineering advice — see our disclaimer.