Heston model
Mean-reverting stochastic variance with price–variance correlation
01Interpret each Heston parameter through surface shape and dynamics.
02State the variance positivity and Feller-condition nuance.
03Separate pricing-engine selection from calibration-objective design.
04Recognize parameter degeneracy and recalibration instability.
Build the state before the equation.
Heston replaces constant volatility with a random, mean-reverting variance process. Negative price–variance correlation creates equity-like downside skew; vol-of-vol controls smile curvature; mean reversion governs how quickly the variance state forgets shocks.
v₀ anchors short-dated variance.
θ anchors the long-run variance level.
κ controls mean-reversion speed, σᵥ the variance-of-variance and ρ the leverage channel.
The product exists before the model.
One parameter set can generate a full surface and richer dynamics than Black–Scholes, making Heston a durable benchmark for exotics, calibration studies and model comparison.
vanilla option calibration grids
barriers and forward-starts
variance-sensitive exotics
Calibration inputs must first be normalized under the asset class’s actual quote and forward conventions. Heston parameters are not portable across inconsistent surfaces.
Notation, units and exact claims.
vₜ: instantaneous varianceκ: mean-reversion speedθ: long-run varianceσᵥ: vol-of-volρ: Brownian correlationRisk-neutral dynamics
Spot diffusion uses the stochastic variance state.
Variance process
CIR-style mean reversion supports a non-negative variance state under suitable schemes.
Leverage correlation
Negative correlation links spot selloffs to variance shocks and generates downside skew.
Feller condition
A sufficient condition for the continuous-time variance process to stay strictly positive; market calibrations can violate it, demanding careful numerics.
Do not jump to the final expression.
Why the Heston characteristic function is affine
Fourier pricing is practical because the log-price/variance transform has an exponential-affine form.
- 01
Transform the state
Use log spot x = log S so the diffusion generator is polynomial-affine in variance.
- 02
Propose an affine transform
Conditioned on the current state, assume the characteristic function is exponential-affine in log spot and variance.
- 03
Insert into the backward equation
Matching constant and variance coefficients produces coupled Riccati ordinary differential equations for C and D.
- 04
Solve and integrate
The closed transform is inserted into a stable Fourier inversion or COS method to recover vanilla prices.
Affine structure makes Heston computationally tractable; it does not make calibration uniquely identified or hedging dynamics correct by construction.
Fit, compute, then challenge the assumptions.
Use an analytical characteristic-function engine, COS/Fourier inversion, PDE or a validated Monte Carlo scheme depending on payoff and required sensitivities.
Minimize weighted premium or volatility residuals across a selected grid. Constrain parameters, use multiple initial guesses and report parameter stability alongside fit error.
Five parameters can be weakly identified on sparse grids.
A good vanilla fit does not guarantee exotic hedge performance.
Naive Euler variance discretization can become negative.
Static fit is not dynamics.
| Question | Black–Scholes | Local volatility | Heston |
|---|---|---|---|
| Volatility state | One constant σ | σ(S,t) deterministic | vₜ stochastic |
| Fits today’s surface | No | Exactly, in ideal theory | Approximately by calibration |
| Forward dynamics | Flat smile | Spot-driven | Variance + correlation driven |
| Primary strength | Transparent baseline | Vanilla-consistent diffusion | Richer smile dynamics |
| Primary failure | No smile | Often unrealistic forward skew | Parameter and calibration instability |
| Compute | Low | Medium: PDE/MC | Medium–high: Fourier/PDE/MC |
| Hedge implication | Greeks at one σ | State-localized vol hedge | Variance and vol-of-vol risk |
Implementation with current QuantLib
Current QuantLib exposes HestonProcess, HestonModel and several engines. The process/model/engine separation is valuable, but API use comes after convention alignment and numerical validation.
API authority: upstream QuantLib reference pinned in the source registry.Theory → implementation → checks.
Full-truncation Heston paths
Simulate a stable educational path set with deterministic randomness and non-negative variance in diffusion terms.
from __future__ import annotations import numpy as np def heston_paths(*, paths: int = 20_000, steps: int = 252, seed: int = 7) -> tuple[np.ndarray, np.ndarray]: rng = np.random.default_rng(seed) dt = 1.0 / steps spot = np.full(paths, 100.0) variance = np.full(paths, 0.04) kappa, theta, vol_of_vol, rho, rate = 2.0, 0.04, 0.45, -0.70, 0.03 for _ in range(steps): z1 = rng.standard_normal(paths) z2 = rho * z1 + np.sqrt(1.0 - rho**2) * rng.standard_normal(paths) v_pos = np.maximum(variance, 0.0) spot *= np.exp((rate - 0.5 * v_pos) * dt + np.sqrt(v_pos * dt) * z1) variance += kappa * (theta - v_pos) * dt + vol_of_vol * np.sqrt(v_pos * dt) * z2 return spot, np.maximum(variance, 0.0) spot_t, variance_t = heston_paths()assert np.isfinite(spot_t).all() and np.all(spot_t > 0.0)assert np.isfinite(variance_t).all() and np.all(variance_t >= 0.0)print(round(float(spot_t.mean()), 4), round(float(variance_t.mean()), 6))Move the state. Challenge the equation.
Heston dynamics lab
Move mean reversion, long-run variance, vol-of-vol and correlation; inspect variance persistence and smile response.
Where the model meets the book.
“Calibration error is visible. Parameter instability is often more expensive.”
clean vanilla surface
curves and forwards
calibration weights
parameter bounds
engine tolerances
Use liquid strikes, multiple starts and stable parameter transforms. Evaluate premium residuals, bid/offer coverage and day-over-day parameter movement.
RISKsurface-vega buckets
spot/variance correlation
vol-of-vol exposure
forward smile dynamics
calibration jump risk
- freeze market snapshot
- select instruments
- calibrate
- validate repricing
- compare parameters
- run exotic risk
- approve or fall back
Production failure modes
- local optimizer traps
- characteristic-function branch errors
- bad variance discretization
- unstable finite-difference Greeks
- parameters pinned at constraints
Map the transmission channel.
Leverage and variance regimes
Risk-off moves often combine falling spot, higher variance and stronger downside skew—the channel represented by negative spot–variance correlation.
spot falls and protection demand rises
jumps above long-run mean
controls decay of the shock
level and skew reprice
Most failures begin outside the formula.
Reading calibrated parameters as directly observable economic constants.
Ignoring Feller violations in simulation choices.
Comparing fits without the same quote weights.
Using one calibration start and declaring uniqueness.
Attribution with implementation authority.
Lectures 07 and 10 — stochastic volatility and Heston Monte Carlo
Research source for model progression and numerical experiments; text and code are independently implemented.
- Source
- Computational Finance Course
- Author
- L. A. Grzelak
- Ref
- main
Heston process, model, engines and test suite
Current implementation reference and validation architecture.
- Source
- QuantLib upstream
- Author
- QuantLib contributors
- Ref
- v1.42.1