Setup
The Heston (1993) stochastic volatility model is the canonical starting point for equity and FX vol surface calibration. Its five parameters produce a parsimonious smile that captures the key features of observed implied vol surfaces: skew (driven by ), curvature (driven by ), and term structure (driven by and ).
Calibrating Heston to a market surface requires: (i) a fast semi-analytic pricer (via the characteristic function), (ii) a method to invert model prices to implied vols, (iii) a weighted NLS objective, and (iv) a robust solver (LM) with a sensible starting point. Getting each step right is necessary for a production-quality calibration.
Financial Insight. The Heston model is daily calibrated on every equity derivatives desk. It is the benchmark against which more complex models (local-stochastic vol, rough vol) are measured. Even when Heston is known to be wrong (it cannot produce short-dated smiles as steep as the market), it is used as the interpolation and risk management framework. A quant who cannot implement and calibrate Heston correctly will not survive the first month on a vol desk.
Model assumptions (restated for calibration context):
- Under the risk-neutral measure , the joint dynamics of and are: with .
- (mean reversion speed), (long-run variance), (initial variance), (vol of vol), (correlation).
- Feller condition: ensures a.s.\ In practice, calibrated parameters often violate this; the process can still be used but the vol process may touch zero.
- No dividends; continuous compounding at rate .
- Market data: a grid of implied vols at strikes and expiries , reported in Black-Scholes implied vol (log-normal convention, annualised, in decimal).
Theory
The Heston Characteristic Function
The key analytic result of Heston (1993) is a semi-analytic expression for the characteristic function of :
Theorem 4.1 (Heston Characteristic Function — Albrecher et al. 2007 stable form). For the Heston model, the characteristic function of under is:
where (time to expiry), and:
The Albrecher (2007) form is used rather than the original Heston (1993) form because it avoids the discontinuous branch of the complex logarithm that causes numerical instability in the original expression when is large or is long.
Warning — Branch Cut. The original Heston (1993) formula computes using . The complex logarithm is multi-valued; the branch cut causes discontinuities in the integrand as a function of , leading to numerical integration errors. The Albrecher form avoids this by rewriting the logarithm in terms of . Always use the Albrecher stable branch for production implementation.
Option Pricing via the Lewis Formula
Theorem 4.2 (Lewis 2000 Call Price Formula). For a European call with strike , expiry , (the forward), and log-moneyness :
Interpretation: The integral is over real . The integrand is smooth and decays for large (for well-behaved characteristic functions). Numerical integration via Gauss-Laguerre quadrature or adaptive Simpson's rule on with – is standard.
Remark. The Lewis formula has the integrand evaluated at (a shift of into the complex plane). This shift is chosen so the integrand decays at large for both call and put pricing. The factor appears because , and each expectation contributes a factor that combines into this denominator.
Implied vol from Heston price: Given the Heston call price , invert to Black-Scholes implied vol using Newton-Raphson:
One or two Newton iterations from the seed (Brenner-Subrahmanyam) typically suffice.
The Calibration Objective
Definition 4.1 (Heston Calibration Problem). Given market implied vols at strikes and expiries , the Heston calibration problem is:
with and feasible set .
Optional Feller constraint: add to .
Weighting scheme: Use vega weights where is the Black-Scholes vega at the market ATM vol. This ensures that calibration errors are measured in price-space equivalents, not raw vol-space, correctly down-weighting illiquid deep OTM wings.
The Jacobian of the Heston Objective
The Jacobian entries are:
For parameter (vol of vol), the derivative of the Heston implied vol with respect to requires differentiating through: (i) the characteristic function , (ii) the Lewis integral, and (iii) the Newton inversion of the Black-Scholes formula. By the chain rule and implicit function theorem:
where is computed by differentiating the Lewis integral with respect to — this enters the integrand through .
In practice, these Jacobian entries are computed by central finite differences on .
Calibration Diagnostics
A calibrated parameter set must be validated before being used for pricing:
Definition 4.2 (Calibration Diagnostics). After calibration, compute:
-
Root mean square error (RMSE): . Target: below 1 vol point (0.01 in decimal vol space) for liquid instruments.
-
Max absolute error: . Flag any single instrument with error vol points.
-
Feller ratio: . If , the variance process may touch zero.
-
Parameter stability: re-run from 5 different starting points. If changes significantly, the calibration is in a flat region or has multiple local minima.
-
Term structure of ATM vol: compare model ATM vol to market ATM vol at each expiry. Large ATM misfit signals a fundamental term-structure mismatch.
Local Optima and Initialisation
The Heston objective has multiple local minima, particularly in the subspace (high mean reversion + high long-run vol is similar in effect to low mean reversion
- low long-run vol over short horizons). Standard initialisation strategies:
-
Grid search: evaluate on a coarse grid of values; take the best as the starting point for LM. Typical grid: , , , , — 432 grid points; each requires one full surface evaluation.
-
Moment matching: set = variance of short-dated ATM implied vol; = long-dated ATM variance; from term structure slope; from ATM skew slope; from smile curvature. These give analytic guesses for a flat start.
-
Previous day's parameters: for intraday or day-over-day recalibration, warm-start from the prior calibration. Converges in 3–10 iterations for small market moves.
Example 4.1 (Heston Parameter Interpretation). For :
- long-run vol .
- spot vol . The market is currently below long-run vol; variance will revert upward.
- half-life years (about 6 months).
- negative correlation → negative skew → downside puts more expensive than upside calls. Consistent with equity smiles.
- significant vol of vol → pronounced short-dated smile curvature.
- Feller: ? No — Feller is violated. The variance process may reach zero. Numerically this produces a floor at (full-truncation Euler in MC) but can cause integration issues.
Validation
The companion notebook implements the full Heston calibration pipeline:
- The Albrecher characteristic function evaluated at test parameters.
- The Lewis formula integrand plotted (via print output) and the call price verified against a known benchmark.
- Implied vol inversion via Newton-Raphson with convergence check.
- Generation of a synthetic Heston vol surface.
- Calibration to the synthetic surface using
scipy.optimize.least_squares(LM backend). - Verification that calibrated parameters recover the true parameters to within .
- Calibration diagnostics: RMSE, max error, Feller ratio.
Before opening the notebook: For Heston parameters , , : (a) Compute at (real part of the characteristic function argument). (b) State whether the Feller condition is satisfied. (c) Write down the Lewis integrand at , (ATM). What simplification occurs?
Limitations
Warning — Smile Explosions at Short Dates. Heston produces an implied vol smile that is regular at short maturities (smile curvature for small ). Observed equity and FX smiles for sub-1-month expiries are much steeper. Calibrating Heston to short-dated options forces to be unrealistically large, distorting the term structure. For short-dated options, rough volatility models (e.g. rough Heston with Hurst parameter ) or jump models are necessary.
Warning — and Identification. The Heston model has a near-flat objective valley along the line (both parameters contribute to the long-run variance). This makes and separately poorly identified from a single snapshot of the vol surface. Calibrating a time series of surfaces and applying regularisation on parameter changes is the standard fix.
Other limitations:
- Negative rates: Standard Heston requires . For negative interest rate products (swaptions, where the forward swap rate can be negative), use the displaced Heston or Bachelier-Heston variant.
- Jump risk: Heston does not include jumps. Market smiles show a jump risk premium (extra vol for out-of-the-money puts) that Heston cannot reproduce without distorting the ATM term structure.
- Term structure flexibility: One set of 5 global Heston parameters calibrates to the full surface. For a surface with an unusual term structure (e.g., inverted VIX curve), a single Heston often cannot fit all expiries simultaneously. Solution: piecewise-constant (per-expiry) Heston parameters.
- Numerical integration precision: The Lewis integral with standard Gaussian quadrature requires quadrature nodes for 6-digit accuracy. The integration limit must be large enough to capture the tail of the integrand; for large, may be insufficient.
Interview Angle
L1 (Junior) — Typical questions:
-
What are the five Heston parameters and what does each control? Expected: (mean reversion), (long-run variance), (vol of vol), (correlation, controls skew), (initial variance = spot vol squared).
-
Why is the Heston model preferred over Black-Scholes for vol surface calibration? Expected: BS has flat smile (one vol per expiry); Heston generates a smile with skew and curvature via stochastic vol. Calibrates to the surface, not a single point.
-
What is the Feller condition? Does violating it cause a problem in practice? Expected: keeps a.s. Violation is common in calibrated parameters. In MC, handled by full truncation. Numerically, the variance process may hit zero and need flooring. Not always a fatal problem but must be noted.
L2 (Senior) — Typical questions:
-
Explain the Lewis formula for option pricing under Heston. Why is numerical integration needed rather than a closed-form expression? Expected: characteristic function of is available in closed form; the call price requires inverting it (Fourier inversion). The inversion integral has no closed form → numerical quadrature. Describe the integrand, the integration range, and a numerical method (e.g., Gauss-Laguerre or adaptive Simpson).
-
Why does the Heston calibration objective have multiple local minima? How do you handle this in production? Expected: non-convex NLS; parameters interact (especially - and -). Handle via grid search for initialisation + LM refinement, or warm-start from prior day's parameters.
-
Describe the calibration diagnostics you would run after a Heston calibration. What would you consider a failed calibration? Expected: RMSE, max error, Feller check, parameter stability across starting points, ATM term structure fit. Failure: RMSE vol points, parameters at bounds, gradient norm large at "convergence", or parameters changing dramatically on re-run.
L3 (Researcher) — Typical questions:
-
Explain the difference between the original Heston characteristic function and the Albrecher stable form. What is the source of numerical instability in the original form? Expected: original form computes ; the complex logarithm has a branch cut at the negative real axis, causing discontinuities in the integrand. Albrecher avoids this by expressing the same quantity without a of a complex exponential. Detailed derivation expected at L3.
-
Under what conditions is Heston not appropriate for hedging (as opposed to pricing)? Expected: Heston is a stochastic vol model — it has two risk factors ( and ) but only one liquid hedging instrument (the underlying). The market is incomplete under Heston; the vol risk premium is not uniquely specified from no-arbitrage alone. For hedging, need to make assumptions about the market price of vol risk . Different choices of produce different hedge ratios — a fundamental ambiguity that Black-Scholes does not have.
-
How would you extend the Heston calibration to a time-inhomogeneous (piecewise-constant) setting to better fit the term structure? Expected: allow , to be piecewise constant in time. The characteristic function extends to the time-inhomogeneous case via the Riccati ODE formulation (the and functions satisfy a system of ODEs that can be integrated numerically per expiry slice). The calibration then proceeds expiry-by-expiry, significantly increasing the number of parameters.