Small Group Tutorials

Here to help students catch up, keep up, and move ahead. Book a consultation here.

How Dupire Local-Volatility Algorithms Extract Dynamics from Option Surfaces: Strike/Maturity Derivatives, Risk-Neutral Density, Numerical Smoothing and Model Failure

Reader question: If a volatility surface already tells us the implied volatility of European options across strike and maturity, why would a model need another volatility called local volatility?

Because implied volatility is a quotation coordinate, not a complete state-dependent diffusion rule. Dupire’s construction asks a deeper inverse question: what deterministic instantaneous volatility function σloc(S,t) would make a diffusion reproduce the entire observed European option surface?

Given a sufficiently smooth, arbitrage-consistent option-price surface, the answer can be extracted from derivatives of call price with respect to strike and maturity. The mathematics is elegant. The implementation is fragile because differentiation amplifies noise.

What this page owns — and what it does not

This page owns:

smooth vanilla option surface → strike/time derivatives → local variance function → repricing and model diagnostics.

It does not replace SVI surface fitting, which provides one way to build the smooth input surface; Heston calibration, which makes volatility stochastic; or Black–Scholes, which assumes constant volatility.

This is public derivatives mathematics, not a recommendation to trade options.

The local-volatility diffusion

A stylised risk-neutral local-volatility process for an equity with continuous dividend yield q is:

dSt = (r−q)Stdt + σloc(St,t)StdWt.

Unlike Black–Scholes, volatility is not constant. Unlike Heston, volatility is not an independent random state variable. It is a deterministic function of the current asset level and time.

The Dupire formula

Let C(K,T) be the time-zero price of a European call with strike K and maturity T. Under a standard deterministic-rate/dividend setup, one common spot-space form is:

σloc2(K,T) = [∂C/∂T + (r−q)K∂C/∂K + qC] / [½K22C/∂K2].

The exact operational formula depends on whether prices are represented in spot, forward or discounted coordinates and on the treatment of rates and carry. A production implementation should therefore derive and test one convention rather than mix formulas from incompatible coordinate systems.

Why the denominator is economically meaningful

Breeden–Litzenberger theory links the second derivative of call price with respect to strike to the risk-neutral terminal density, after the appropriate discounting adjustment.

So:

∂²C/∂K²

is not merely a numerical denominator. It encodes the probability density implied by the option surface.

If this quantity becomes negative, the surface violates call-price convexity and implies butterfly arbitrage. A negative or near-zero denominator can therefore make local variance negative or explosively large.

The numerator is a calendar-time object

The maturity derivative ∂C/∂T captures how option value evolves as expiry is extended, after carry terms are accounted for.

A surface with calendar arbitrage can therefore produce a negative Dupire numerator, even when every single maturity slice looks smooth.

Why differentiation is the hard part

Market options are not quoted at every strike and every instant. They are quoted at sparse strikes and discrete expiries, often with noise, stale marks and wide bid/ask spreads.

Dupire requires:

  • a first derivative in maturity;
  • a first derivative in strike;
  • a second derivative in strike.

Second derivatives magnify small wiggles. A surface that looks visually harmless can create enormous local-volatility spikes after differentiation.

Why smoothing comes before local-vol extraction

A strong pipeline is:

  1. clean option quotes;
  2. invert to implied volatilities;
  3. fit an arbitrage-aware smooth surface such as SVI/SSVI or another controlled interpolator;
  4. differentiate the smooth surface analytically or with stable numerical methods;
  5. compute local variance;
  6. reprice vanillas and run stress diagnostics.

Differentiating raw market quotes directly is usually too unstable for a production-quality local-volatility surface.

Dupire in total-variance coordinates

Practitioners often rewrite the local-volatility formula in terms of total implied variance:

w(k,T)=σimp2(k,T)T

and log-moneyness:

k=ln(K/FT).

This allows derivatives of a fitted SVI-like total-variance surface to be used directly. Gatheral’s formulation is especially useful because the denominator contains the same geometry that flags butterfly-arbitrage problems.

Flat-volatility sanity check

If the implied-volatility surface is perfectly flat at a constant volatility σ and carry inputs are consistent, local volatility should recover the same constant σ.

This is one of the strongest unit tests because it has an obvious answer.

Smile slope and local-vol slope

A local-volatility surface typically has stronger state dependence than the corresponding implied-volatility smile because the local function must generate the entire terminal distribution through diffusion dynamics.

This is why one should not compare “20% implied volatility” with “20% local volatility” as if they were the same quantity. Implied volatility summarizes an option price for one strike/maturity; local volatility is instantaneous conditional dynamics at a state and time.

Exact vanilla fit does not mean correct future smile dynamics

Local volatility is constructed to reproduce today’s European option surface under ideal smooth inputs. But it imposes deterministic state-dependent volatility dynamics.

Real markets often show stochastic volatility, volatility-of-volatility and different forward-skew behaviour. Therefore a model can fit all vanilla options today and still misprice path-dependent or forward-starting products.

Barrier-option sensitivity

Barrier options depend on the path taken by the underlying, not only the terminal distribution. Two models can match the same European vanilla surface while assigning different probabilities to paths that hit a barrier.

This makes barrier prices a useful example of local-volatility model risk: exact vanilla calibration does not identify unique path dynamics.

Gyöngy-style mimicking intuition

A deep theoretical justification for local volatility is that, under suitable conditions, a one-dimensional diffusion can be constructed to match the marginal distributions of a richer stochastic process at each time.

The important limitation is hidden in the word marginal. Matching the distribution of ST at every maturity does not imply matching the full joint path distribution.

Inputs and outputs

A local-volatility engine can require:

  • arbitrage-clean European option surface;
  • spot and forward curves;
  • discount factors and carry/dividend assumptions;
  • smooth strike interpolation;
  • smooth maturity interpolation;
  • surface derivatives or analytic SVI derivatives;
  • local-volatility grid and extrapolation policy.

Outputs can include local variance, local volatility, denominator/density diagnostics, numerator/calendar diagnostics, grid interpolation coefficients and vanilla repricing errors.

Evidence polarity

Evidence for confidence includes positive density diagnostics, non-negative local variance, stable surfaces under small quote perturbations, exact or near-exact repricing of calibration vanillas, smooth local-vol grids and sensible behaviour under flat-smile and simple benchmark cases.

Evidence against confidence includes local-vol spikes around sparse strikes, negative variance, values changing drastically with the interpolation grid, failure to reprice the vanilla surface, or unstable short-dated wings where tiny quote changes create huge derivatives.

Counterexample: an arbitrage-free implied-vol fit can still be numerically fragile

Even a theoretically valid surface can have regions where the risk-neutral density is very small. Since Dupire divides by a density-related term, tiny denominators amplify numerical error.

No-arbitrage is necessary, not sufficient, for numerical robustness.

Counterexample: perfect vanilla repricing does not validate exotics

A local-vol model can match every liquid European option by construction and still price a forward-start option differently from a stochastic-volatility model that matches the same vanillas.

Calibration fit is therefore evidence about the marginal distribution, not complete evidence about path dynamics.

Counterexample: smoothing can hide bad market data

If a bad quote is aggressively smoothed away, the resulting surface can look stable while the data-quality issue disappears from the audit trail.

A good system keeps raw quotes, cleaned quotes and fitted surface as separate evidence layers.

Weak links

Raw differentiation. Noisy quotes are differentiated directly.

calendar inconsistency. Longer maturities cross shorter ones.

butterfly inconsistency. Strike convexity fails.

forward mismatch. Log-moneyness uses a stale or inconsistent forward.

rate-coordinate mismatch. A spot-space formula is applied to forward-normalized prices without adjustment.

wing extrapolation. Local volatility explodes outside quoted strikes.

short-expiry instability. Tiny maturity spacing makes ∂C/∂T noisy.

grid interpolation error. Simulation uses a different interpolation from calibration.

Diagnostics

  • flat-surface test: constant implied volatility should recover constant local volatility.
  • vanilla-repricing test: reprice the calibration option surface using the extracted local-vol model.
  • density test: verify non-negative strike convexity on a dense grid.
  • calendar test: verify positive time-value evolution under the chosen coordinates.
  • grid-refinement test: halve strike/time spacing and check stability.
  • quote-perturbation test: move liquid quotes within bid/ask and measure local-vol sensitivity.
  • wing-cap test: inspect extrapolated local vol far outside quoted strikes.
  • short-expiry test: stress near-zero maturities separately.
  • Monte Carlo/PDE cross-check: compare two independent pricing implementations under the same local-vol surface.

What would falsify confidence?

Confidence should be withdrawn if local variance becomes negative in the calibration region, vanilla repricing errors exceed the market spread, the surface changes materially under modest grid refinement, density diagnostics fail, or the extracted local volatility depends more on interpolation choice than on the observed option quotes.

Alternatives

Black–Scholes is simpler but cannot reproduce a full smile. Heston introduces stochastic volatility and often gives more realistic forward-smile dynamics. Local-stochastic-volatility models combine local calibration with stochastic volatility but are more complex to calibrate. Direct arbitrage-free surface methods can price vanillas without committing to a path model at all.

How this connects to the surrounding estate

The implied-volatility solver creates the market observations. SVI turns those observations into a smooth arbitrage-aware surface. Dupire differentiates that surface into state-dependent dynamics. Heston provides a contrasting stochastic-volatility dynamic model.

Verification and update triggers

Preserve raw quote snapshots, fitted-surface version, differentiation method, rate/carry inputs, grid and extrapolation rules. Revalidate after surface-model changes, new short-dated strikes, large volatility-regime shifts, grid/library migrations or unexplained exotic repricing changes.

Primary and high-quality references

Educational boundary: This article explains local-volatility extraction and model diagnostics. It does not recommend derivative positions or provide personalized financial advice.

Discover more from Bukit Timah Tutor

Subscribe now to keep reading and get access to the full archive.

Continue reading