Definition of Affine Process¶
An affine process is a class of stochastic processes with particularly tractable properties. Their defining characteristic is that both the drift and diffusion matrix are linear in the state variable, and the short rate is linear in the state.
Learning Objectives
By the end of this section, you will be able to:
- Understand the definition and key properties of affine processes
- Recognize when a process is affine
- Apply the Duffie-Pan-Singleton framework to model interest rates
- Work with the characteristic function of affine processes
Overview¶
Affine processes form a class of continuous-time stochastic processes that are particularly important in financial mathematics, especially for term structure modeling. Their tractability comes from a linearity structure that allows for closed-form or semi-closed-form solutions for bond prices and derivatives.
Mathematical Framework¶
Definition of an Affine Process¶
A state vector \(\mathbf{X}_t \in \mathbb{R}^n\) follows an affine process if its dynamics under a risk-neutral measure \(\mathbb{Q}\) are:
and satisfy the following linearity conditions:
where: - \(a_0 \in \mathbb{R}^n\) and \(a_1 \in \mathbb{R}^{n \times n}\) are constant matrices for the drift - \(c_0 \in \mathbb{R}^{n \times n}\) and \(c_1 \in \mathbb{R}^{n \times n}\) define the volatility structure - \(r_0 \in \mathbb{R}\) and \(r_1 \in \mathbb{R}^n\) define the short rate
Characteristic Function¶
The power of the affine framework lies in the conditional characteristic function:
For an affine process, this takes an affine form:
where: - \(\tau = T - t\) is the time to maturity - \(A(\tau, \mathbf{u})\) and \(\mathbf{B}(\tau, \mathbf{u})\) are determined by Riccati equations - Terminal conditions: \(A(0, \mathbf{u}) = 0\) and \(\mathbf{B}(0, \mathbf{u}) = \mathbf{u}\)
Riccati Equations¶
The functions \(A(\tau, \mathbf{u})\) and \(\mathbf{B}(\tau, \mathbf{u})\) satisfy the system of Riccati equations (with terminal conditions at \(\tau = 0\)):
Or equivalently, integrating backward from maturity:
Bond Pricing¶
The zero-coupon bond price is directly obtained from the characteristic function:
This gives an exponential-affine form for bond prices:
Key Properties¶
1. Closed-Form Bond Prices¶
Once the Riccati equations are solved, bond prices have a closed-form exponential-affine structure. This is a major computational advantage.
2. Solvability¶
The Riccati equations can often be solved: - Analytically for certain specifications (e.g., Vasicek, Hull-White) - Semi-analytically for others - Numerically for complex models
3. Characteristic Function Availability¶
The explicit affine form of the characteristic function enables: - Fourier inversion to compute option prices - Fast computation of bond prices and yields - Closed-form or semi-analytical derivatives
4. State Space Flexibility¶
Affine models can incorporate: - Multiple factors (multidimensional \(\mathbf{X}_t\)) - Regime switching - Jumps (in extended formulations)
Examples of Affine Processes¶
Vasicek Model¶
State variable: \(X_t = r_t\) (short rate), one-dimensional.
Dynamics:
Affine parameters: - \(a_0 = \kappa\theta\), \(a_1 = -\kappa\) - \(c_0 = \sigma^2\), \(c_1 = 0\) - \(r_0 = 0\), \(r_1 = 1\)
This is a classic affine model with analytical Riccati solutions.
Two-Factor CIR + Vasicek¶
State variables: \(X_t = (r_t, s_t)\) where \(r_t\) is a CIR process and \(s_t\) is a Vasicek long-rate factor.
Both components are affine, and the sum is affine, making it suitable for modeling mean reversion with stochastic long rates.
Geometric Brownian Motion (Transformed)¶
The stock price \(S_t\) itself is not affine (see the detailed example in the next section), but \(X_t = \log S_t\) is affine.
Why Affine Processes Matter¶
-
Computational Efficiency: Closed-form or semi-analytical solutions for bond prices eliminate numerical integration.
-
Calibration: The structure enables efficient likelihood-based or moment-matching estimation.
-
Generality: Despite linearity restrictions, affine models are flexible enough for practical applications.
-
Extensions: The framework extends to affine jump-diffusions, multivariate cases, and hybrid models.
Summary¶
An affine process is defined by linearity of: - Drift in the state variable - Diffusion matrix in the state variable - Short rate in the state variable
This structure guarantees that the characteristic function (and hence bond prices) have a closed-form exponential-affine structure, leading to tractable analytical and numerical methods. The Duffie-Pan-Singleton framework provides the theoretical foundation for both single and multi-factor affine term structure models.
Further Reading¶
- Duffie, D., Pan, J., & Singleton, K. (2000). "Transform Analysis and Asset Pricing for Affine Jump-Diffusions." Econometrica, 68(6), 1343-1376.
- Filipović, D. Term-Structure Models: A Graduate Course. Springer, 2009.
- Brigo, D., & Mercurio, F. Interest Rate Models - Theory and Practice. Springer, 2007.
Exercises¶
Exercise 1. Consider a one-dimensional process \(X_t\) with dynamics \(dX_t = (\alpha + \beta X_t)\,dt + \sqrt{\gamma + \delta X_t}\,dW_t\). Identify the affine parameters \(a_0, a_1, c_0, c_1\) and state the conditions on \(\alpha, \beta, \gamma, \delta\) that ensure the process is well-defined on \(\mathbb{R}_{\geq 0}\).
Solution to Exercise 1
The process \(dX_t = (\alpha + \beta X_t)\,dt + \sqrt{\gamma + \delta X_t}\,dW_t\) has diffusion coefficient \((\bar{\sigma}\bar{\sigma}^T)(X_t) = \gamma + \delta X_t\). Comparing with the affine form:
- Drift: \(\bar{\mu}(X_t) = \alpha + \beta X_t\), so \(a_0 = \alpha\) and \(a_1 = \beta\)
- Diffusion: \(\bar{\sigma}\bar{\sigma}^T(X_t) = \gamma + \delta X_t\), so \(c_0 = \gamma\) and \(c_1 = \delta\)
For the process to be well-defined on \(\mathbb{R}_{\geq 0}\), we need:
- Non-negative diffusion: \(\gamma + \delta x \geq 0\) for all \(x \geq 0\). This requires \(\gamma \geq 0\) and \(\delta \geq 0\).
- Drift inward at the boundary: When \(X_t = 0\), the drift must be non-negative to prevent the process from going negative. This requires \(\alpha \geq 0\).
- Feller condition (to ensure the boundary at zero is unattainable or instantly reflecting): \(2\alpha \geq \gamma\). When \(\gamma = 0\) and \(\delta > 0\), this reduces to the standard CIR condition \(2\alpha \geq 0\), which is automatic from condition 2.
There is no sign restriction on \(\beta\); negative \(\beta\) provides mean reversion.
Exercise 2. Starting from the Riccati system
with terminal conditions \(A(0) = 0\) and \(B(0) = 0\), solve explicitly for \(A(\tau)\) and \(B(\tau)\) in the Vasicek model where \(a_0 = \kappa\theta\), \(a_1 = -\kappa\), \(c_0 = \sigma^2\), \(c_1 = 0\), \(r_0 = 0\), \(r_1 = 1\).
Solution to Exercise 2
In the Vasicek model the Riccati equation for \(B\) (with \(c_1 = 0\), \(r_1 = 1\), \(a_1 = -\kappa\)) is:
This is a first-order linear ODE. Solving by the integrating factor \(e^{\kappa\tau}\):
Integrating from \(0\) to \(\tau\):
For \(A(\tau)\), with \(r_0 = 0\), \(a_0 = \kappa\theta\), \(c_0 = \sigma^2\):
Substituting \(B(\tau) = -\frac{1}{\kappa}(1 - e^{-\kappa\tau})\):
Integrating term by term with \(A(0) = 0\):
Defining \(\bar{B}(\tau) = \frac{1}{\kappa}(1-e^{-\kappa\tau})\) so that \(B(\tau)=-\bar{B}(\tau)\), this can be written more compactly as:
Exercise 3. Verify that the zero-coupon bond price \(P(t,T) = e^{A(\tau) + B(\tau)\,r_t}\) in the Vasicek model satisfies the fundamental PDE
by computing the partial derivatives and substituting.
Solution to Exercise 3
Let \(P(t,T) = e^{A(\tau) + B(\tau)r_t}\) with \(\tau = T - t\). Compute the partial derivatives:
Substituting into the PDE and dividing by \(P\):
Collecting constant terms and terms proportional to \(r\):
Terms independent of \(r\):
Terms proportional to \(r\):
The second equation gives \(B'(\tau) = -1 - \kappa B(\tau)\), and the first gives \(A'(\tau) = \kappa\theta B(\tau) + \frac{1}{2}\sigma^2 B(\tau)^2\). These are exactly the Riccati equations derived in Exercise 2 (with the sign convention \(\frac{d}{d\tau}\) since \(\tau = T - t\) and \(\frac{\partial}{\partial t} = -\frac{d}{d\tau}\)). Since \(A(\tau)\) and \(B(\tau)\) were obtained as solutions of these ODEs, the PDE is satisfied identically.
Exercise 4. Let \(\mathbf{X}_t = (X_t^{(1)}, X_t^{(2)})^T\) be a two-factor affine process with independent components, each following a Vasicek process with parameters \((\kappa_i, \theta_i, \sigma_i)\) for \(i=1,2\). Suppose the short rate is \(r_t = X_t^{(1)} + X_t^{(2)}\). Write down the matrices \(a_0, a_1, c_0, c_1\) and vectors \(r_0, r_1\) for this model, and explain why the Riccati system decouples into two independent scalar ODEs.
Solution to Exercise 4
With two independent Vasicek components and \(r_t = X_t^{(1)} + X_t^{(2)}\), the state vector is \(\mathbf{X}_t = (X_t^{(1)}, X_t^{(2)})^T\). The affine parameters are:
Since \(c_1 = 0\), the Riccati equation for \(\mathbf{B} = (B_1, B_2)^T\) is:
This gives two independent scalar ODEs:
The system decouples because \(a_1\) is diagonal (the components are independent) and \(c_1 = 0\) (no quadratic coupling term \(\mathbf{B}^T c_1 \mathbf{B}\)). Each ODE is identical in form to the single-factor Vasicek Riccati equation, so \(B_i(\tau) = -\frac{1}{\kappa_i}(1 - e^{-\kappa_i\tau})\). The equation for \(A(\tau)\) then integrates as \(A'(\tau) = \mathbf{B}^T a_0 + \frac{1}{2}\mathbf{B}^T c_0 \mathbf{B}\), which is a sum of terms involving \(B_1\) and \(B_2\) separately.
Exercise 5. Explain why a geometric Brownian motion \(dS_t = \mu S_t\,dt + \sigma S_t\,dW_t\) is not itself an affine process, but the log-price \(X_t = \log S_t\) is. Write down the affine parameters for \(X_t\) and compute the characteristic function \(\mathbb{E}[e^{iuX_T} \mid X_t]\) in closed form.
Solution to Exercise 5
GBM is not affine in \(S_t\): The dynamics \(dS_t = \mu S_t\,dt + \sigma S_t\,dW_t\) have drift \(\bar{\mu}(S) = \mu S\) and diffusion \(\bar{\sigma}\bar{\sigma}^T(S) = \sigma^2 S^2\). For the process to be affine, the diffusion must be linear in \(S\), i.e., of the form \(c_0 + c_1 S\). But \(\sigma^2 S^2\) is quadratic in \(S\), so the linearity condition fails.
Log-price \(X_t = \log S_t\) is affine: By Ito's lemma:
The affine parameters are:
- \(a_0 = \mu - \frac{\sigma^2}{2}\), \(a_1 = 0\) (constant drift)
- \(c_0 = \sigma^2\), \(c_1 = 0\) (constant diffusion)
Since both drift and diffusion are constant (hence trivially linear in \(X_t\)), the process is affine.
Characteristic function: The Riccati system with \(a_1 = 0\) and \(c_1 = 0\) gives:
Integrating with \(\phi(0) = 0\):
Therefore:
where \(\tau = T - t\). This confirms that \(X_T \mid X_t = x\) is Gaussian with mean \(x + (\mu - \sigma^2/2)\tau\) and variance \(\sigma^2\tau\).
Exercise 6. Consider the CIR process \(dX_t = \kappa(\theta - X_t)\,dt + \sigma\sqrt{X_t}\,dW_t\). Identify the affine parameters and write down the Riccati ODE for \(B(\tau)\). Show that the ODE for \(B\) is a scalar Riccati equation and determine the discriminant \(\Delta = \kappa^2 + 2\sigma^2\) that governs the solution structure.
Solution to Exercise 6
The CIR process \(dX_t = \kappa(\theta - X_t)\,dt + \sigma\sqrt{X_t}\,dW_t\) has affine parameters:
- \(a_0 = \kappa\theta\), \(a_1 = -\kappa\) (drift)
- \(c_0 = 0\), \(c_1 = \sigma^2\) (diffusion)
- \(r_0 = 0\), \(r_1 = 1\) (if used for short rate)
The Riccati ODE for \(B(\tau)\) (with \(\mathbf{u} = 0\) in the bond pricing case) is:
This is a scalar Riccati equation (quadratic in \(B\)) because \(c_1 = \sigma^2 \neq 0\).
To find the discriminant, write the ODE in standard form \(B' = \frac{1}{2}\sigma^2 B^2 - \kappa B - 1\). The steady states satisfy:
By the quadratic formula:
The discriminant is:
Since \(\kappa^2 \geq 0\) and \(\sigma^2 > 0\), we have \(\Delta > 0\), so the Riccati equation always has two distinct real equilibria. Defining \(\gamma = \sqrt{\Delta} = \sqrt{\kappa^2 + 2\sigma^2}\), the solution can be expressed using hyperbolic functions:
The sign and structure of \(\Delta\) determine that \(B(\tau) < 0\) for all \(\tau > 0\), consistent with the economic intuition that higher short rates decrease bond prices.
Exercise 7. Suppose you observe zero-coupon bond prices \(P(0, T_i)\) for maturities \(T_1, T_2, \ldots, T_m\) and wish to calibrate a one-factor affine model. Describe how the exponential-affine form \(P(0, T_i) = e^{A(T_i) + B(T_i) X_0}\) can be used to set up a nonlinear least-squares problem. What parameters need to be estimated, and what is the role of the Riccati equations in this procedure?
Solution to Exercise 7
The exponential-affine form gives, for each observed maturity \(T_i\):
Taking logarithms:
The functions \(A(T_i)\) and \(B(T_i)\) depend on the model parameters \(\boldsymbol{\theta} = (\kappa, \theta, \sigma, \ldots)\) through the Riccati equations, and \(X_0\) is the (unobserved) initial state.
Nonlinear least-squares formulation: Given observed market prices \(P^{\text{mkt}}(0, T_i)\) for \(i = 1, \ldots, m\), minimize:
Parameters to estimate: The model parameters \(\boldsymbol{\theta}\) (e.g., \(\kappa, \theta, \sigma\) for Vasicek or CIR) and the initial state \(X_0\).
Role of the Riccati equations: At each iteration of the optimization, the Riccati ODEs must be solved to compute \(A(T_i; \boldsymbol{\theta})\) and \(B(T_i; \boldsymbol{\theta})\) for the current parameter guess. For models like Vasicek, these have closed-form solutions, so the objective function can be evaluated analytically. For more complex models (e.g., multi-factor CIR), the Riccati equations may need to be solved numerically at each optimization step. The problem is nonlinear because \(A\) and \(B\) depend nonlinearly on \(\boldsymbol{\theta}\), even though the bond price formula is linear in \(X_0\).