Skip to content

Affine jump diffusion

An affine jump diffusion makes conditional transforms exponential-affine in a chosen state. See how Riccati equations, jump compensation and moment domains govern its use in pricing.

An affine jump diffusion is a Markov model whose drift, instantaneous covariance and jump-arrival measure depend affinely—constant plus linear—on a chosen state vector. Under the appropriate regularity conditions, its conditional transforms are exponential-affine in that state. This structure lets a quant compute distributions and many derivative values through ordinary differential equations and transform inversion, even when a convenient transition density is unavailable.
The term names a family, not one stock-price equation. Its common thread is tractable transforms. A particular member still needs a state space, admissible parameters, a jump law and a specified probability measure.

What is affine, exactly?

Write the state as Xt∈D⊆RdX_t\in D\subseteq\mathbb{R}^d. An affine map has the form a+Bxa+Bx. For a jump diffusion, the relevant quantities are the drift b(x)b(x), covariance a(x)=σ(x)σ(x)⊤a(x)=\sigma(x)\sigma(x)^\top, and jump kernel K(x,dz)K(x,dz). The diffusion loading σ(x)\sigma(x) itself need not be affine: a square-root loading can produce an affine covariance.

The characteristic function then takes the form

ϕ(τ,u;x)=E ⁣[eiu⊤Xt+τ∣Xt=x]=exp⁡ ⁣(A(τ,u)+B(τ,u)⊤x),u∈Rd.\phi(\tau,u;x) =\mathbb{E}\!\left[e^{iu^\top X_{t+\tau}}\mid X_t=x\right] =\exp\!\left(A(\tau,u)+B(\tau,u)^\top x\right), \qquad u\in\mathbb{R}^d.
At τ=0\tau=0, A(0,u)=0A(0,u)=0 and B(0,u)=iuB(0,u)=iu. The exponent is affine in xx; the transform itself generally is not. This does not say option prices are linear in spot.
The state choice matters. In the Merton jump-diffusion model, X=log⁡SX=\log S has constant coefficients and additive log jumps. In spot coordinates the diffusion variance is proportional to S2S^2, so the same affine description does not hold in SS. The Heston model uses (log⁡S,v)(\log S,v): its covariance entries are proportional to variance vv. Heston without jumps is a diffusion member of the broader family; adding suitable jumps can preserve affinity. Neither model defines the entire family. Duffie, Pan and Singleton, §2, develops the transform framework.

Why Riccati equations appear

A transparent finite-activity specification uses a fixed jump-size distribution ν\nu, an uncompensated jump convention, and

b(x)=b0+Fx,a(x)=a0+∑j=1dxjaj,λ(x)=λ0+ℓ⊤x,M(z)=∫ez⊤yν(dy).\begin{aligned} b(x)&=b_0+Fx,\\ a(x)&=a_0+\sum_{j=1}^d x_j a_j,\\ \lambda(x)&=\lambda_0+\ell^\top x,\\ M(z)&=\int e^{z^\top y}\nu(dy). \end{aligned}

Here K(x,dy)=λ(x)ν(dy)K(x,dy)=\lambda(x)\nu(dy). Substitute exp⁡(A+B⊤x)\exp(A+B^\top x) into the backward generator equation and divide by that exponential. The jump contribution becomes λ(x)[M(B)−1]\lambda(x)[M(B)-1]. Matching constants and each state coefficient gives

∂τA=b0⊤B+12B⊤a0B+λ0[M(B)−1],∂τBj=(F⊤B)j+12B⊤ajB+ℓj[M(B)−1],j=1,…,d.\begin{aligned} \partial_\tau A &=b_0^\top B+\tfrac12 B^\top a_0B +\lambda_0[M(B)-1],\\ \partial_\tau B_j &=(F^\top B)_j+\tfrac12 B^\top a_jB +\ell_j[M(B)-1],\qquad j=1,\ldots,d. \end{aligned}
These are generalized Riccati equations: the jump transform adds a generally non-polynomial term. A compensated-jump or truncation convention reallocates linear terms between the drift and jump integral; formulas must use one consistent convention. More general affine jump kernels require the corresponding integrals, rather than just one intensity times a fixed law.
For pricing, an affine short rate r(x)=r0+ρ⊤xr(x)=r_0+\rho^\top x allows discounting inside the transform: subtract r0r_0 from the AA equation and ρj\rho_j from the BjB_j equation. This is an extra pricing specification. An affine process does not need a short-rate model to be defined. The ODEs may require numerical solution; an affine transform does not guarantee an elementary formula for every payoff. Duffie, Pan and Singleton, §2.2, states the transform and its integrability conditions.

One member, with two useful checks

Consider a fictional stock model specified directly under the risk-neutral measure Q\mathbb{Q}. Time is in years, rr and qq are continuous annual rates, and
XT=X0+bT+σWT+∑j=1NTJj,X0=log⁡S0,ST=eXT.X_T=X_0+bT+\sigma W_T+\sum_{j=1}^{N_T}J_j, \qquad X_0=\log S_0,\qquad S_T=e^{X_T}.
WW, the Poisson process NN of intensity λ\lambda, and the independent identically distributed log jumps Jj∼N(μJ,δJ2)J_j\sim\mathcal{N}(\mu_J,\delta_J^2) are mutually independent. Thus the jump sum is a compound Poisson process. A jump multiplies the stock by eJe^J; it does not add JJ currency units. This construction follows Merton’s original model, §2.

To obtain the required stock expectation, use

κJ=E[eJ−1]=eμJ+δJ2/2−1,b=r−q−12σ2−λκJ.\kappa_J=\mathbb{E}[e^J-1] =e^{\mu_J+\delta_J^2/2}-1, \qquad b=r-q-\tfrac12\sigma^2-\lambda\kappa_J.
The correction involves the mean proportional stock jump, not the mean log jump μJ\mu_J. For S0=100S_0=100, r=0.03r=0.03, q=0q=0, σ=0.20\sigma=0.20, λ=0.40\lambda=0.40, μJ=−0.10\mu_J=-0.10, δJ=0.15\delta_J=0.15 and T=1T=1,
κJ=−0.0849256864,b=0.0439702746.\kappa_J=-0.0849256864, \qquad b=0.0439702746.

Independence gives an explicit family member:

ϕ(T,u;X0)=exp⁡ ⁣(A(T,u)+iuX0),A(T,u)=T[iub−12σ2u2+λ(eiuμJ−δJ2u2/2−1)].\begin{aligned} \phi(T,u;X_0)&=\exp\!\left(A(T,u)+iuX_0\right),\\ A(T,u)&=T\left[iub-\tfrac12\sigma^2u^2 +\lambda\left(e^{iu\mu_J-\delta_J^2u^2/2}-1\right)\right]. \end{aligned}

Here B(T,u)=iuB(T,u)=iu stays constant: all the time evolution sits in AA. Direct evaluation gives ϕ(1,1)≈−0.0998774454−0.9687610170i\phi(1,1)\approx-0.0998774454-0.9687610170i. Its complex value encodes the distribution; it is not an option price.

Two checks catch common implementation errors:

  • Normalization: ϕ(T,0)=1\phi(T,0)=1.
  • Stock moment: extending to u=−iu=-i gives ϕ(T,−i)=EQ[ST]=S0e(r−q)T=103.0454534\phi(T,-i)=\mathbb{E}^{\mathbb{Q}}[S_T]=S_0e^{(r-q)T}=103.0454534.

For these Gaussian log jumps, the necessary exponential moments exist. At u=−iu=-i, the diffusion correction and jump correction cancel their respective moment contributions, leaving A(T,−i)=(r−q)TA(T,-i)=(r-q)T.

Fictional one-year Merton model: the logarithm of characteristic-function modulus falls from zero at frequency zero to −2.3298 at frequency ten, where modulus is 0.0973. The dashed diffusion-only component has log modulus −2 and modulus 0.1353 at frequency ten.
Fictional one-year Merton model: the logarithm of characteristic-function modulus falls from zero at frequency zero to −2.3298 at frequency ten, where modulus is 0.0973. The dashed diffusion-only component has log modulus −2 and modulus 0.1353 at frequency ten.
Original transform comparison for the stated fictional parameters. The jump term changes the distribution encoded by the transform. The vertical axis is log modulus, not a price, a return or an event probability; the diffusion-only curve isolates one component rather than a fitted competing model.

The boundaries of the family

Admissibility comes before computation. Covariance must remain positive semidefinite, intensities nonnegative, and the dynamics must respect the state space. A nonnegative variance factor cannot accept arbitrary negative jumps. On the whole real line, a scalar affine intensity λ0+ℓx\lambda_0+\ell x cannot stay nonnegative for every xx unless ℓ=0\ell=0. An algebraically solvable Riccati system alone does not establish a valid stochastic model. Duffie, Filipović and Schachermayer, Definition 2.6 and Theorem 2.7, gives precise parameter restrictions on its canonical state space.
Characteristic functions and moments have different domains. For real uu, ∣eiu⊤X∣=1|e^{iu^\top X}|=1. Real exponential moments and shifted complex arguments used in pricing need additional integrability. Some affine models have finite moment domains or moment explosion at a finite horizon. Check the jump transform’s domain and the relevant Riccati solution over the full maturity; do not substitute any complex argument merely because a formula accepts it. Keller-Ressel and Mayerhofer, §2, treats this distinction and the role of minimal solutions.
Affinity is measure-specific. Parameters fitted to historical returns describe P\mathbb{P}. Pricing uses Q\mathbb{Q}, with jump and volatility risk premia potentially changing the dynamics. A suitable change of measure can preserve the affine family, but an arbitrary change need not. Setting the stock drift to r−qr-q does not identify all jump-risk premia or make an incomplete market complete. Duffie, Pan and Singleton, §3, separates physical and pricing specifications.
For a worked continuation, SelfMadeQuant’s Fourier Transform Pricing lesson develops the compound-Poisson and Merton transforms in §7.5. The public page is a preview; the full lesson requires membership.

Sources

Last updated
  • affine processes
  • jump diffusion
  • characteristic functions
  • riccati equations
  • risk neutral pricing
← Back to the glossaryBack to top ↑