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.
Identify the state variables and the behavior they add.
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.
Ask which instruments can identify the dynamics.
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.
Write the dynamics before interpreting parameters.
Affine characteristic function
The conditional log-price transform is exponential-affine in the current variance and log spot, reducing the pricing problem to Riccati equations.
Open in AnalyticsFull derivation
Why the Heston characteristic function is affine
Fourier pricing is practical because the log-price/variance transform has an exponential-affine form.
- 01
State the risk-neutral spot dynamics
Begin with the joint risk-neutral spot and variance state; the spot diffusion uses the same stochastic variance factor that enters the affine transform.
- 02
Transform the state
Use log spot x = log S so the diffusion generator is polynomial-affine in variance.
- 03
Propose an affine transform
Conditioned on the current state, assume the characteristic function is exponential-affine in log spot and variance.
- 04
Insert into the backward equation
Matching constant and variance coefficients produces coupled Riccati ordinary differential equations for C and D.
- 05
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.
Inputs
vₜ: instantaneous varianceκ: mean-reversion speedθ: long-run varianceσᵥ: vol-of-volρ: Brownian correlationφ(u,τ): conditional characteristic function
Assumptions and limits
- 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.
Variance process
CIR-style mean reversion supports a non-negative variance state under suitable schemes.
Open in AnalyticsLeverage correlation
Negative correlation links spot selloffs to variance shocks and generates downside skew.
Open in AnalyticsFeller condition
A sufficient condition for the continuous-time variance process to stay strictly positive; market calibrations can violate it, demanding careful numerics.
Open in AnalyticsCalibrate, compute, and challenge the dynamics.
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.
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.06PYTHON IMPLEMENTATIONOpen the implementation and checks.
- Separate the Heston process from pricing engines.
- Validate parameter domains and correlation.
- Benchmark analytical, numerical and Monte Carlo prices.
- Track fit error and parameter drift through calibration runs.
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))Shock one parameter and trace the full response.
Heston dynamics lab
Move mean reversion, long-run variance, vol-of-vol and correlation; inspect variance persistence and smile response.
Negative rho: Selloffs lift variance and downside skew.
- expected variance
- downside skew response
Use Left/Right or Up/Down arrows to inspect values; Home and End jump to the bounds.
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
09MACRO CONNECTIONOpen 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.
transmitsspot falls and protection demand rises
transmitsjumps above long-run mean
transmitscontrols decay of the shock
outputlevel and skew reprice
10COMMON PITFALLSOpen the failure checklist.
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.
11SOURCES / FURTHER READINGOpen sources and continue the track.
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