Basic Prerequisites: Advanced Volatility - Heston, SABR & Stochastic-Vol Dynamics and Volatility Surfaces & Smiles. (these are the folder-level prerequisites for pages 02–06; page 01 states its own, smaller, entry requirements)


1. Intuition & Practical Objective

Local volatility fits today’s smile exactly and then gets the dynamics wrong - it has no forward skew. Stochastic volatility gets the dynamics right and then fails to fit today’s smile - it has four parameters and a rigid two-dimensional surface. Local-stochastic volatility (LSV) is the attempt to buy both, and it is bought with exactly one object: a deterministic function of time and spot, the leverage function , that rescales the stochastic-volatility driver so the model’s one-dimensional marginals are the market’s.

The one-sentence essence:

Take a stochastic-volatility model with the dynamics you want, multiply it by a deterministic leverage , and choose so that the product’s conditional second moment reproduces the Dupire local variance: σ²(t,S) = σ_loc²(t,S) / E[v_t|S_t=S]. That single scalar equation forces the model to match every vanilla in the market while leaving the joint law - hence the forward skew, the skew stickiness and the vol-of-vol term structure - governed by the stochastic-volatility driver you started from.

Three consequences, and they are the whole folder:

  1. The leverage function is not a free fit. Vanilla prices constrain only the product σ(t,S)² E[v_t|S_t=S]. Once the SV driver is fixed, the split is fixed too, so the leverage is determined, not calibrated to vanillas. It is a function on a two-dimensional domain whatever the number of volatility factors, which is why it scales to multi-factor and rough drivers.
  2. The calibration is a nonlinear (McKean–Vlasov) fixed point. E[v_t|S_t=S] is an expectation under the model being calibrated, and the model depends on σ. The particle method (Guyon–Henry-Labordère 2012) solves this by Monte-Carlo binning - simulate, bin by spot, re-estimate the conditional variance, update σ, repeat - and the deterministic alternative is a Fokker–Planck / forward-PDE solve for the joint density.
  3. “LSV” is not automatically a usable model. Bergomi’s admissibility condition is that the pricing function must not depend on the SV state variables for fixed hedge instruments. A forward-variance-driven LSV passes; a Heston-driven LSV generally fails. Quoting Bergomi: “most local-stochastic volatility models are not usable models.”

This folder is a hub: (a) the fast formula lookup below, and (b) six sub-pages that walk from the raw intuition and the leverage identity, through Markovian projection and Dupire’s local vol, the particle method and the Fokker–Planck/McKean–Vlasov route, into the practice (proxy bias, binning noise, gauge freedom) and the frontier (LSVJ, multi-factor and rough drivers, LSV-LMM, neural calibration).


2. Mathematical Ground Truth & Derivations

Notation. spot, forward, strike, maturity, calendar time, log-moneyness, total implied variance, instantaneous variance of the stochastic-volatility driver, its conditional expectation, the leverage function, the Dupire local volatility, spot/variance correlation, the instantaneous volatility of a generic Itô process, the Markovian-projection (conditional-expectation) operator.

Quick-Reference Lookup (job #1). Every formula is transcribed from the verified corpus (Guyon–Henry-Labordère 2012; Bergomi, Stochastic Volatility Modeling, ch 6–12 and his Risk article “Local-stochastic volatility: models and non-models”; Gyöngy 1986; Dupire 1994; Gatheral, The Volatility Surface) and every number in the check column was re-executed in §3 and the sub-pages of this folder.

QuantityFormulaVerified check
LSV SDE- (driver is any SV / forward-variance model)
Gyöngy’s Markovian projection (1986)for there is a Markov diffusion with the same one-dimensional marginals and toy 2-state vol: FP residual rel. err (float/FD noise)
Dupire local variance, total-variance form (1994)flat surface exactly, at
Dupire local variance, price formagrees with the total-variance form to relative on the Heston surface
T→0 limit of DupireHeston: (price form) at vs
The leverage function (Gyöngy / Guyon–Henry-Labordère): , so
LSV local-variance identitytwo different drivers, same target: product in every row
Leverage at , flat- target, Heston driver (and )
Leverage at , Heston target on a Heston driver (nothing to bend)
LV limit (vol-of-vol ) known and the model is local vol at with
SV limit (target driver’s own smile)toy McKean–Vlasov iteration converges to
Projected 1-D Fokker–Planck, marginal of the 2-state FP solve projected 1-D solve to ()
McKean–Vlasov fixed point, under particle method, flat- target: RMS vol pts
Binning standard error, and CIR (analytic) vs (MC); /bin leverage error
Conditional-variance dispersion (Heston-LSV, ) across moneyness (crash wing) down to (upside): a factor , so spans
Usable-LSV gauge together with leaves invariantinvariant to for
LSV with jumps (LSVJ)the Dupire local variance of a jump-diffusion is not no-jump control returns exactly; with jumps at vs QV rate

Critical caveat (flagged in this folder). The leverage formula is conditional: is an expectation under the LSV model’s own law, which itself depends on . Substituting the unconditional forward variance for - the natural first guess, and the one most implementations start from - is not a small approximation when : on the real Heston-LSV test of §03 the true runs from to the unconditional , and the “proxy” leverage produces a worse smile than no leverage at all ( across the wings against a flat- target). The fixed-point iteration, not the proxy, is what calibrates.


3. Computational Implementation - the LSV engine

Stdlib only (math, cmath) - no numpy/scipy. Two primitives carry the whole folder: Dupire’s local variance (in both forms, used as a cross-check) and the leverage function. Every number in §2 and in the sub-pages was produced by code of this shape.

What the engine establishes.

  • (a) The Dupire formula is right - on a flat surface the total-variance form returns to nine decimals at every strike. This is the non-negotiable first test of any Dupire implementation.
  • (b) Two independent Dupire forms agree, and the ATM local variance heads to as ( at , of which is the finite-difference error, not model error). The ratio of local to implied variance at the money rises with maturity () - local volatility is not implied volatility, and the gap is what the leverage function has to absorb.
  • (c) The leverage at is exactly computable: because the variance is known at . To bend the Heston driver onto a flat- surface the instantaneous volatility must be scaled up by at the origin; to reproduce Heston’s own surface the leverage is (here , the residual being the finite-difference stand-in for ). Those two numbers - and - are the two ends of the LSV programme.
  • (d) The naive proxy uses the unconditional forward-variance curve. It is exact only in the LV limit and, as §03 shows, wrong by a factor of several in the wings once .

4. Failure Modes & First-Principles Breakdowns

Hub signposts - the folder’s failure-mode analysis lives in 05 · Failure Modes & Practice. In one line each:

  1. The forward-variance proxy. Replacing by is the single most common LSV bug. On the Heston test of §03 it produces a worse smile than the un-levered model ( wings against a flat- target). The conditional variance is not the unconditional one whenever .
  2. The leverage is not a free calibration knob. Vanillas fix only ; the split is set by the SV driver. Fitting to vanillas and then choosing the driver is circular, and grid-based leverage surfaces with more parameters than quotes are unidentifiable.
  3. Binning noise propagates as . In the wings of the spot distribution the bins are thin and is estimated from few paths: with paths per bin the conditional-variance error is and the local-vol error vol points - a systematic-looking wing distortion, not white noise.
  4. Gauge freedom is real. with leaves the spot process invariant, so a calibrated leverage is only defined up to this transformation. Two implementations can report “different” leverage functions and identical prices.
  5. “Usable” is a theorem, not a taste. Bergomi’s condition - for the SV state variables - is what separates a model from a non-model. The forward-variance LSV satisfies it; a Heston-LSV generally does not, and its hedged P&L leaks.
  6. Jumps break the naive Dupire reading. For a jump-diffusion, Dupire’s local variance is not the instantaneous quadratic-variation rate (§06: no-jump control returns exactly; with jumps it returns at against a QV rate of ). “Strip the jump QV and divide by ” is a first-principles error.

5. References

  • Guyon, J. & Henry-Labordère, P. (2012), Being particular about calibration, Risk 25(1), 91–107
  • Gyöngy, I. (1986), Mimicking the one-dimensional marginal distributions of processes having an Itô differential, Probability Theory and Related Fields 71(4), 501–516
  • Dupire, B. (1994), Pricing with a smile, Risk 7(1), 18–20
  • Bergomi, L., Stochastic Volatility Modeling (CRC, 2016)
  • Hagan, P. S., Kumar, D., Lesniewski, A. & Woodward, D. (2002), Managing smile risk, Wilmott Magazine, 84–108
  • Gatheral, J., The Volatility Surface (Wiley, 2006)

6. Connected Graph Bridges

Beginner: start at 01 · Practitioner: start at 05