“What’s the difference between local volatility and stochastic volatility?” is a standard interview question, and the standard answer — “one makes vol a function of spot and time, the other makes it a random process” — is correct and gets you nowhere.

Both models can be calibrated to fit today’s vanilla surface exactly. So if they both reproduce the same prices, what does it actually matter which one you use? That question is what the interviewer is really asking, and the answer is where the interesting part lives.

The two models

Local volatility makes volatility a deterministic function of spot and time:

    \[dS_t = r S_t\,dt + \sigma_{\text{loc}}(S_t, t)\,S_t\,dW_t\]

There’s still only one source of randomness — the same dW as Black-Scholes. Volatility isn’t random; it’s a surface you look up. Given where spot is and what time it is, you know the volatility exactly.

Stochastic volatility makes variance its own process, driven by a second Brownian motion. Heston is the canonical example:

    \[dS_t = r S_t\,dt + \sqrt{v_t}\,S_t\,dW_t^1\]

    \[dv_t = \kappa(\theta - v_t)\,dt + \xi\sqrt{v_t}\,dW_t^2, \qquad d\langle W^1, W^2\rangle = \rho\,dt\]

Now there are two sources of randomness, and the correlation \rho between them is what generates skew: negative \rho means vol rises when spot falls, which is what equity markets actually do.

The uncomfortable fact: both fit today’s smile

Here’s what makes the question interesting. Dupire‘s result says that for any arbitrage-free surface of vanilla prices, there is a unique local volatility function that reproduces it exactly:

    \[\sigma_{\text{loc}}^2(K,T) = \frac{\partial_T C + (r-q)K\,\partial_K C + qC}{\frac{1}{2}K^2\,\partial_{KK}C}\]

And a well-calibrated Heston fits the same surface to within a few basis points. So today, on vanillas, they agree by construction:

Heston-implied smile at T=1:
  K=  80  IV=23.21%
  K=  90  IV=20.82%
  K= 100  IV=18.48%
  K= 110  IV=16.38%
  K= 120  IV=14.81%

Feed that surface into Dupire and you get a local vol model producing the identical prices. Two different processes, same vanilla prices.

Which means the difference cannot be about vanillas. It’s about everything else.

Where they diverge: the forward smile

This is the answer that separates a real understanding from a memorised one.

The models make completely different statements about what the smile will look like in the future. Ask: one year from now, if spot is still at 100, what smile will the market show for options expiring a year after that?

Local volatility says the smile flattens and shifts. Because vol is pinned to spot by a fixed surface, the skew you see today is essentially a snapshot that decays. Local vol predicts that as time passes, forward smiles become much flatter than today’s.

Stochastic volatility says the smile persists. The skew comes from the correlation between spot and vol, and that correlation doesn’t go away with time. Let’s measure it — simulate Heston to t=1, keep only the paths where spot is near 100, and price options from there:

Paths with S(1) near 100: 37,086

Heston forward smile (seen at t=1, for expiry t=2):
  K/S=0.8  IV=22.35%
  K/S=0.9  IV=19.97%
  K/S=1.0  IV=17.61%
  K/S=1.1  IV=15.64%
  K/S=1.2  IV=14.53%

Compare that with today’s smile above: 23.2% down to 14.8%. The forward smile is 22.4% down to 14.5% — essentially the same shape. The skew survived.

A local vol model calibrated to the same starting surface would show a markedly flatter forward smile. And the market, empirically, behaves much more like the stochastic vol answer: skew doesn’t evaporate.

Why that matters commercially

If you only trade vanillas, the difference is academic — both models price them identically.

The moment you price anything that depends on future smile dynamics, the models disagree, sometimes badly:

  • Forward-start options and cliquets — these are direct bets on the forward smile. Local vol will systematically misprice them because it assumes a flattening that doesn’t happen.
  • Barriers — knock-out probability depends on the dynamics of getting there, not just the terminal distribution.
  • Anything with vega hedging — local vol has no independent vol risk factor. Vol is a function of spot, so a “vol move” isn’t something the model can represent as separate from a spot move. Your vega comes out wrong in a way that matters when you actually hedge.

That last one is the practical killer. Two models that agree on price can disagree on Greeks, and it’s the Greeks you trade on.

The tradeoffs, honestly

Local volatility

Fits every vanilla exactly, by construction — no calibration error at all. It’s a one-factor model, so PDEs are cheap and Monte Carlo is straightforward. And it’s unique: there’s exactly one local vol surface consistent with the market.

Against it: forward smile dynamics are wrong, there’s no independent vol factor so vega is unreliable, and Dupire’s formula requires differentiating market prices twice, which amplifies noise viciously. In practice, extracting a stable local vol surface from real quotes is largely an exercise in careful interpolation and smoothing.

Stochastic volatility

Realistic dynamics, genuine vol risk you can hedge, and it produces a skew for an economic reason rather than by fitting.

Against it: it will not fit the whole surface perfectly — a handful of parameters cannot match every strike and maturity, and short-dated skew is notoriously hard for Heston to reproduce. It’s a two-factor model, so numerics are heavier. And calibration is a genuinely awkward optimisation with parameter identification problems (different (\kappa, \theta, \xi) combinations produce nearly identical surfaces).

What desks actually use: both

The practical answer, and a good one to give in an interview: local stochastic volatility.

    \[dS_t = rS_t\,dt + L(S_t,t)\sqrt{v_t}\,S_t\,dW_t^1\]

Take a stochastic vol model for realistic dynamics, and multiply by a local “leverage function” L(S,t) calibrated so that the combination fits the vanilla surface exactly. You get Heston’s dynamics with local vol’s perfect fit.

The cost is that calibrating the leverage function is genuinely hard — it requires solving a forward Kolmogorov equation or running a particle method — which is why LSV took years to become standard despite the idea being obvious.

The interview answer

Local vol makes volatility a deterministic function of spot and time; stochastic vol gives it its own process. Both can fit today’s vanilla surface, so the difference isn’t about vanillas — it’s about forward smile dynamics. Local vol predicts the smile flattens; stochastic vol says it persists, and the market agrees with stochastic vol. That matters for anything path-dependent or forward-starting, and it matters for vega, because local vol has no independent volatility risk factor.

And if pushed on what you’d actually use: LSV, for the dynamics of one and the fit of the other.

The general lesson

Two models that produce identical prices today can be completely different models. Calibration fit is necessary, not sufficient — it tells you a model reproduces the instruments you calibrated to, and nothing about whether it reproduces anything else.

Which is why “it calibrates well” is never a reason to trust a model for a product it wasn’t calibrated on. Ask what the model implies about things you didn’t fit, and check whether those implications are true.

If you want the machinery underneath — how these models are derived, calibrated and validated, and how to test what a model implies beyond its calibration set — that’s what we build in the modules.


Get the Quant Reference Card — four pages covering stochastic calculus, measure change, the models you’ll actually meet, discretisation, rates, credit and XVA, with the practitioner notes that don’t make it into textbooks. Free.