Setup
Motivation
Black-Scholes assumes volatility is constant. The empirical reality is that volatility is stochastic: it clusters, mean-reverts, and correlates with the spot. The simplest tractable model that captures these effects is the Heston (1993) model, in which the instantaneous variance follows a mean-reverting square-root (CIR) process correlated with the spot.
The Heston model is analytically semi-tractable: European option prices are available via Fourier inversion of an explicit characteristic function. This makes calibration computationally feasible.
Assumptions and Parameters
Let be the risk-neutral filtered probability space. The Heston dynamics are:
Parameters — all must be stated before use:
- : risk-free rate (continuously compounded, constant).
- : mean-reversion speed of variance.
- : long-run variance (mean level to which reverts).
- : volatility of variance (vol-of-vol).
- : correlation between spot and variance Brownian motions.
- : initial instantaneous variance.
The instantaneous volatility is and the implied vol at ATM at time 0 is approximately for short maturities.
The Feller Condition
The variance process is a Cox-Ingersoll-Ross (CIR) process. Its boundary behaviour at zero depends on the ratio :
If Feller holds, the boundary is inaccessible: the variance process remains strictly positive almost surely. This ensures is well-defined at all times.
If Feller fails (), the variance process can reach zero with positive probability and reflect. For , the boundary is reflecting (the process can touch zero and immediately leave); for , the boundary is regular.
In practice, calibrated Heston parameters frequently violate the Feller condition — market-implied vol-of-vol is often large relative to mean reversion. This is not a catastrophic failure: the SDE remains well-posed (with reflecting boundary), but numerical simulation requires care. The full-truncation Euler scheme (described below) handles this robustly.
Characteristic Function and the Lewis Formula
Characteristic Function
The key to semi-analytic pricing is that the log-price has a known conditional characteristic function under :
where the functions and are given by the Albrecher et al. (2007) stable formulation:
Why the Albrecher Formulation?
The original Heston (1993) characteristic function uses a different branch of the square root for . For long maturities or large , the original formulation can produce branch-cut discontinuities that cause the characteristic function to be evaluated on the wrong Riemann sheet, leading to mispriced options. The Albrecher formulation avoids this by choosing a consistent branch throughout. Always use the Albrecher version in production.
Lewis Formula for European Options
Lewis (2001) derived a Fourier pricing formula that avoids the dampening-parameter sensitivity of Carr-Madan. For a European call with log-strike where :
The integrand is real-valued (after taking the real part) and rapidly decaying. Numerical integration via adaptive Gauss-Legendre or Gauss-Kronrod is standard. This integral does not require a dampening parameter and is numerically stable for .
Derivation sketch. Express the call price as . Write the payoff in terms of the log-price, apply Parseval's identity in Fourier space, and use the characteristic function of the log-price. The denominator arises from the Fourier transform of the call payoff along a contour .