Heston SDE and Affine Structure Recap¶
This section serves as the entry point to the characteristic function derivation, recapping the essential elements from the model definition that are needed in the subsequent technical sections. Rather than repeating full proofs, we collect the key formulas, fix notation for the remainder of the characteristic function chapter, and clearly state the mathematical problem to be solved: finding the conditional characteristic function \(\phi(u, \tau)\) of the log-price in closed form.
The derivation of the characteristic function is the central analytical achievement of the Heston model, and it proceeds in three stages: (1) setting up the Feynman-Kac PDE (this section), (2) deriving the Riccati ODE system, and (3) solving the Riccati ODEs in closed form. Readers already familiar with the model definition may use this section as a quick reference.
Learning Objectives
After completing this section, you should be able to:
- Write the Heston bivariate SDE in log-price and variance form
- State the affine drift and covariance conditions for the Heston model
- Define the conditional characteristic function and explain its role in pricing
- Write the Feynman-Kac PDE for the characteristic function
- State the exponential-affine ansatz and the initial conditions
The Heston Bivariate SDE¶
Under the risk-neutral measure \(\mathbb{Q}\), the log-price \(x_t = \ln S_t\) and variance \(v_t\) satisfy (see Heston SDE and Parameters):
The parameters are: \(\kappa > 0\) (mean-reversion speed), \(\theta > 0\) (long-run variance), \(\sigma_v > 0\) (vol-of-vol), \(\rho \in [-1, 1]\) (correlation), and \(v_0 > 0\) (initial variance). The constants \(r \geq 0\) and \(q \geq 0\) are the risk-free rate and continuous dividend yield.
Affine Property Summary¶
The Heston model is an affine diffusion (see Affine Structure and Riccati System). For the characteristic function derivation, the relevant affine properties are:
Affine Conditions for the Characteristic Function
The characteristic function has an exponential-affine form because:
- Drift is affine in \(v\): The \(x\)-drift is \((r - q - \frac{1}{2}v)\) and the \(v\)-drift is \(\kappa\theta - \kappa v\), both affine in \(v\)
- Covariance is affine in \(v\): The instantaneous covariance matrix
is proportional to \(v\) (affine with zero constant term)
- No dependence on \(x\): Neither the drift of \(v\) nor the covariance depends on \(x\)
Property 3 is crucial: because the coefficients of the SDE are functions of \(v\) alone (not of \(x\)), the characteristic function's dependence on \(x\) is trivially through the factor \(e^{iux}\), and the Riccati system involves only \(v\)-related terms.
The Characteristic Function¶
Definition¶
Definition: Conditional Characteristic Function
The conditional characteristic function of the log-price at maturity \(T\) is:
where \(\tau = T - t\) is the time to maturity and \(u \in \mathbb{R}\) (or more generally, \(u\) in the strip of analyticity).
The characteristic function encodes the full probability distribution of \(x_T\): the density can be recovered via Fourier inversion, moments via differentiation at \(u = 0\), and option prices via the Gil-Pelaez or COS methods.
Why the Characteristic Function?¶
In the Black-Scholes model, the log-price distribution is Gaussian and the density is known explicitly. In the Heston model, the log-price distribution is no longer Gaussian (it has stochastic variance), and the density has no simple closed form. However, the characteristic function does have a closed form, thanks to the affine structure. Since Fourier methods can convert a characteristic function into option prices via a one-dimensional numerical integral, the characteristic function is the natural object to compute.
The Feynman-Kac PDE¶
Derivation¶
By the Feynman-Kac theorem, \(\phi\) satisfies the backward Kolmogorov equation associated with the bivariate diffusion \((x_t, v_t)\). The generator of the Heston diffusion is:
The PDE for \(\phi\) written in terms of \(\tau = T - t\) (time to maturity) is:
with initial condition \(\phi(u, 0; x, v) = e^{iux}\).
Sign Convention
With the convention \(\tau = T - t\) (time to maturity increasing forward), the PDE becomes \(\partial\phi/\partial\tau = \mathcal{L}\phi\) with an initial condition at \(\tau = 0\). In the backward time variable \(t\), the PDE would be \(-\partial\phi/\partial t = \mathcal{L}\phi\) with a terminal condition at \(t = T\). Both formulations are equivalent; we use the \(\tau\) convention throughout the characteristic function chapter.
Key Observations¶
Each term in the generator has a clear origin:
| PDE Term | SDE Origin | Coefficient |
|---|---|---|
| \((r-q-\frac{1}{2}v)\,\partial_x\phi\) | Log-price drift | Affine in \(v\) |
| \(\kappa(\theta-v)\,\partial_v\phi\) | Variance drift | Affine in \(v\) |
| \(\frac{1}{2}v\,\partial_{xx}\phi\) | Log-price diffusion squared | Linear in \(v\) |
| \(\rho\sigma_v v\,\partial_{xv}\phi\) | Cross-covariation | Linear in \(v\) |
| \(\frac{1}{2}\sigma_v^2 v\,\partial_{vv}\phi\) | Variance diffusion squared | Linear in \(v\) |
Every coefficient is either constant or linear in \(v\), and none depend on \(x\). This is the affine property in PDE form.
The Exponential-Affine Ansatz¶
Statement¶
Because all PDE coefficients are at most affine in \(v\) and independent of \(x\), we seek a solution of the form:
where \(C\) and \(D\) are complex-valued functions of \(\tau\) and \(u\), independent of the state \((x, v)\).
Initial Conditions¶
At \(\tau = 0\) (the observation time equals the maturity), \(\phi(u, 0; x, v) = e^{iux}\), which requires:
Substitution Strategy¶
Substituting the ansatz into the PDE and dividing by \(\phi\) converts the PDE into an algebraic equation in \(v\):
Since this must hold for all \(v \geq 0\), matching coefficients of \(v^0\) and \(v^1\) gives two ODEs: one for \(C'\) and one for \(D'\). This reduction from a PDE to ODEs is the core computational advantage of the affine approach.
The explicit derivation of these ODEs -- the Riccati system -- is carried out in the next section.
Notation Summary for the CF Chapter¶
For convenience, we collect the notation used throughout the characteristic function derivation:
| Symbol | Meaning |
|---|---|
| \(\phi(u, \tau; x, v)\) | Conditional characteristic function of \(x_T\) |
| \(C(\tau, u)\) | \(v\)-independent term in the exponent |
| \(D(\tau, u)\) | Coefficient of \(v\) in the exponent |
| \(\tau = T - t\) | Time to maturity |
| \(u \in \mathbb{R}\) | Fourier (transform) variable |
| \(\gamma\) | Discriminant: \(\gamma = \sqrt{(\kappa - i\rho\sigma_v u)^2 + \sigma_v^2(iu + u^2)}\) |
| \(g\) | Ratio: \(g = (\kappa - i\rho\sigma_v u - \gamma)/(\kappa - i\rho\sigma_v u + \gamma)\) |
Summary¶
This section has collected the Heston bivariate SDE in log-price form, summarized the affine conditions that make the characteristic function tractable, defined the conditional characteristic function, written the Feynman-Kac PDE, and stated the exponential-affine ansatz with its initial conditions. The stage is set for the Riccati ODE derivation, where we substitute the ansatz into the PDE and extract the ODE system for \(C(\tau, u)\) and \(D(\tau, u)\).
Exercises¶
Exercise 1. Write the Heston bivariate SDE in log-price form: \(dx_t = (r - q - \frac{1}{2}v_t)\,dt + \sqrt{v_t}\,dW_t^{(1)}\) and \(dv_t = \kappa(\theta - v_t)\,dt + \sigma_v\sqrt{v_t}\,dW_t^{(2)}\) with \(\operatorname{Corr}(dW^{(1)}, dW^{(2)}) = \rho\,dt\). Identify the drift vector and diffusion matrix as functions of the state \((x, v)\) and verify the affine property.
Solution to Exercise 1
The Heston bivariate SDE in log-price form under the risk-neutral measure \(\mathbb{Q}\) is:
with \(d\langle W^{(1)}, W^{(2)}\rangle_t = \rho\,dt\).
Drift vector. Writing the state as \(\mathbf{Y}_t = (x_t, v_t)^\top\), the drift is:
This is affine in \(v\) (and independent of \(x\)): \(\boldsymbol{\mu} = \mathbf{a}_0 + \mathbf{a}_1 v\) with constant vectors \(\mathbf{a}_0\) and \(\mathbf{a}_1\).
Diffusion matrix. The diffusion coefficient matrix is:
(using a Cholesky decomposition to decorrelate the Brownian motions). The instantaneous covariance matrix is:
This is linear in \(v\) with zero constant term, hence affine (with \(\mathbf{b}_0 = 0\), \(\mathbf{b}_1 = \begin{pmatrix} 1 & \rho\sigma_v \\ \rho\sigma_v & \sigma_v^2 \end{pmatrix}\)).
Affine property verification: Both the drift vector and the covariance matrix are affine functions of the state variable \(v\), and neither depends on \(x\). This is the defining property of an affine diffusion, which guarantees that the characteristic function has the exponential-affine form \(\varphi = \exp(C + Dv + iux)\).
Exercise 2. The conditional characteristic function is defined as \(\varphi(u, \tau; x, v) = \mathbb{E}[e^{iux_T} \mid x_t = x, v_t = v]\). Show that the initial condition is \(\varphi(u, 0; x, v) = e^{iux}\) by setting \(\tau = 0\).
Solution to Exercise 2
The conditional characteristic function is:
where \(\tau = T - t\). Setting \(\tau = 0\) means \(T = t\), so:
The last equality holds because \(x_t = x\) is known given the conditioning information, so \(e^{iu\,x_t}\) is a constant (not random) equal to \(e^{iux}\). The expectation of a constant is itself.
This initial condition is the defining property of any characteristic function at zero time lag: when you condition on knowing the current state and ask for the distribution at that same instant, there is no uncertainty, and the CF reduces to \(e^{iux}\).
Exercise 3. Write the Feynman-Kac PDE for \(\varphi\) including all terms: the time derivative, the drift terms, the diffusion terms (including the cross-derivative \(\rho\sigma_v v \frac{\partial^2 \varphi}{\partial x \partial v}\)), and the discounting term. Verify that there are six terms in total.
Solution to Exercise 3
The Feynman-Kac PDE for \(\varphi(u, \tau; x, v)\) with \(\tau = T - t\) is:
with initial condition \(\varphi(u, 0; x, v) = e^{iux}\).
There are six terms in total: one on the left (the time derivative \(\partial_\tau\varphi\)) and five on the right. The five right-hand-side terms correspond to the infinitesimal generator \(\mathcal{L}\) of the bivariate Heston diffusion. Term by term:
- (1) arises from the drift of \(x_t\), which is \((r - q - \frac{1}{2}v_t)\)
- (2) arises from the drift of \(v_t\), which is \(\kappa(\theta - v_t)\)
- (3) arises from \(\frac{1}{2}\langle dx, dx\rangle = \frac{1}{2}v\,dt\)
- (4) arises from \(\langle dx, dv\rangle = \rho\sigma_v v\,dt\)
- (5) arises from \(\frac{1}{2}\langle dv, dv\rangle = \frac{1}{2}\sigma_v^2 v\,dt\)
Note: there is no discounting term because the characteristic function is a conditional expectation of \(e^{iux_T}\) (not a discounted payoff). The Feynman-Kac theorem here applies to the pure expectation, not to a pricing PDE.
Exercise 4. Substitute the exponential-affine ansatz \(\varphi = \exp(C(\tau, u) + D(\tau, u)v + iux)\) into the PDE and show that the \(x\)-dependence cancels, leaving ODEs in \(\tau\) only.
Solution to Exercise 4
Substitute \(\varphi = \exp(C(\tau, u) + D(\tau, u)v + iux)\) into the PDE. The partial derivatives are:
Substituting into the PDE and dividing both sides by \(\varphi\) (which is nonzero everywhere):
The crucial observation is that all \(x\)-dependence has been eliminated. The factor \(e^{iux}\) appears in every term of \(\varphi\) and its derivatives, so it cancels when we divide by \(\varphi\). The remaining equation involves only \(\tau\), \(u\), \(v\), and the functions \(C(\tau, u)\), \(D(\tau, u)\).
Since the right-hand side is a polynomial of degree 1 in \(v\) (with no higher powers), and the left-hand side is also degree 1 in \(v\), we can match coefficients:
- \(v^0\) terms: \(C' = (r-q)iu + \kappa\theta D\)
- \(v^1\) terms: \(D' = \frac{1}{2}\sigma_v^2 D^2 + (\rho\sigma_v iu - \kappa)D + \frac{1}{2}(iu - u^2)\)
These are two ODEs in \(\tau\) alone, with \(u\) as a parameter. The reduction from a PDE in \((x, v, \tau)\) to ODEs in \(\tau\) is the central computational advantage of the affine structure.
Exercise 5. State the initial conditions for the Riccati system: \(C(0, u) = 0\) and \(D(0, u) = 0\). Explain why these follow from \(\varphi(u, 0; x, v) = e^{iux}\).
Solution to Exercise 5
The initial conditions for the Riccati system are:
Derivation from the terminal condition. The characteristic function at \(\tau = 0\) must satisfy:
Using the exponential-affine ansatz:
For these two expressions to be equal for all values of \(x\) and \(v\), we need:
This requires \(C(0, u) + D(0, u)\,v = 0\) for all \(v \geq 0\). Since this must hold for every \(v\), the coefficient of \(v\) and the constant term must separately vanish:
- Coefficient of \(v\): \(D(0, u) = 0\)
- Constant term: \(C(0, u) = 0\)
Intuitively, at \(\tau = 0\) there is no time for the drift or diffusion to act, so the variance-dependent and variance-independent accumulations in the exponent are both zero. The characteristic function simply returns \(e^{iux}\), reflecting perfect knowledge of the current log-price \(x\).