Skip to main content
01Paper · October 15, 2026

American Option Pricing Around Scheduled Earnings Announcements

A Kou Jump-Diffusion with an Event Jump, an IMEX Finite-Difference Solver, and Evidence from 2020 to 2025 Equity Option Chains

A scheduled earnings announcement concentrates much of a short-dated option's variance at one known instant.

Download the paper (PDF)1.8 MB · 150 pagesCode on GitHub (opens in a new tab)Gleb Alikhver · J.D. candidate, UGA School of Law
earnings announcements priced
9,996
firms, 2020 to 2025
1,281
option quotes priced
151,969
of the benchmark's holdout error removed by Kou-SEJ-Q
0.80
observed order of convergence
2.00
largest gap to the reference American put values
2.3 × 10⁻⁵
Eq. 15 · the American problem
∂τu−Lu≥0,u≥φ(ex),(∂τu−Lu)(u−φ(ex))=0\begin{aligned}&\partial_\tau u-\mathcal{L}u\ge 0,\qquad u\ge\varphi(e^{x}),\\&\big(\partial_\tau u-\mathcal{L}u\big)\big(u-\varphi(e^{x})\big)=0\end{aligned}
K100σ0.25r0.04T9.0dtE4.5dorder2.00τ9.00d

A surface of the American put value V(S, t) from the paper's IMEX-CNAB finite-difference solver, with strike K = 100, volatility 0.25, rate 0.04, 9.0 trading days to expiry and the announcement at 4.5 trading days. Today the at-the-money put is worth 4.634. Across the announcement the value drops by up to 3.14 at S = 100: the announcement optionality V(S, t_E minus) - V(S, t_E), which is never negative. The early-exercise boundary S*(t) starts today at 69.945, falls toward the bottom of the grid as t rises to the announcement, so the put is never exercised just before it, and rejoins the no-announcement boundary at 92.918 right after it.

Fig. H1 · American put value V(S, t)

Fig. H1. American put value from the paper's IMEX-CNAB solver on the (1600, 800) grid, nine trading days to expiry, announcement at day 4.5. The pointer orbits the camera on a mouse or trackpad.

Overview

Kou-SEJ, the model of Leung and Santoli (2014), adds to Kou's double-exponential jump-diffusion one compensated jump on the known announcement date. In the paper's base case, nine trading days to expiry with the announcement at day 4.5, that single jump carries 86 percent of the variance of the log price at expiry.

The American put solves a partial integro-differential linear complementarity problem with a jump condition at the announcement. The paper proves that a put holder never exercises into a compensated announcement whose law has full support, that the put's exercise boundary collapses to zero as the announcement approaches, and that the IMEX-CNAB scheme keeps its scalar jump model stable exactly when the jump intensity times the time step is at most one, a bound earlier work stated without proof.

Gleb wrote the solver: a finite-difference scheme in log price, Crank-Nicolson for the differential part and second-order Adams-Bashforth for the jump integral, two time legs on one grid with the announcement applied once between them as an exact hat-function quadrature of the shifted density, and three solvers for the early-exercise constraint.

Refined in space and time together, the solver converged at observed order two against Fourier-cosine prices and matched the American put reference values of Salmi and Toivanen (2011) to within 2.3 × 10⁻⁵.

The empirical study priced 151,969 option quotes under a plan written before any pricing error was computed: a development sample through 2021, on which the specification could change, and a holdout from 2022 to April 2025, priced only after a recorded specification freeze on 14 October 2026.

02The Math

The model, the pricing problem, the free boundary, the scheme, and its order of convergence

Every numbered equation below is the paper's LaTeX source, rendered on the server, with the number the PDF prints. The holographic figures read the solver's output files; the simulated paths carry their seed.

  1. 2.1Dynamics and the Event Jump(4) (5)
  2. 2.2The Pricing Problem(12) (13)
  3. 2.3The Free Boundary(15) (20)
  4. 2.4The IMEX-CNAB Step(33) (35)
  5. 2.5Order Twoorder 2.00
2.1Dynamics and the Event Jump

In the base case, nine trading days to expiry with the announcement at day 4.5, the one scheduled jump carries 86 percent of the variance of the log price at expiry.

Eq. 4The scheduled announcement jump
StE=StE−exp⁡(Z−κE),Z∼DE(pE,η1,E,η2,E),η1,E>1, η2,E>0, pE∈[0,1],S_{\tE}=S_{\tE^-}\exp\big(Z-\kE\big),\qquad Z\sim\DE(\pE,\etaE{1},\etaE{2}),\qquad \etaE{1}>1,\ \etaE{2}>0,\ \pE\in[0,1],

On the known announcement date the price moves once by a double-exponential log return, shifted by its compensator.

tE\tE
the announcement date, known in advance: day 4.5 of 9 in the base case
StE−S_{\tE^-}
the price just before the announcement
ZZ
the announcement log return, drawn once
κE\kE
its log compensator, 0.00696867 in the base case
DE(pE,η1,E,η2,E)\DE(\pE,\etaE{1},\etaE{2})
the double-exponential law: up-move probability and the two tail rates, DE(0.5, 12, 12) in the base case
Eqs. 4 and 6 · the scheduled jump and its compensation
StE=StE−exp⁡(Z−κE),E[StE ∣ FtE−]=StE− E[eZ−κE]=StE−\begin{gathered}S_{t_E}=S_{t_E^-}\exp\big(Z-\kappa_E\big),\\ \mathbb{E}\big[S_{t_E}\,\big|\,\mathcal{F}_{t_E^-}\big]=S_{t_E^-}\,\mathbb{E}\big[e^{Z-\kappa_E}\big]=S_{t_E^-}\end{gathered}
paths48seed20261015up21down27sd(jump)0.1040sd at T0.1155sd at t0.0000

A seeded simulation (seed 20261015) of 48 price paths under the model, starting at 100 and running 9.0 trading days with the announcement at 4.5 days. At the announcement every path jumps at once: 21 move up and 27 move down, and the standard deviation of the announcement log moves across the paths is 0.1040. At expiry the standard deviation of ln(S_T / S_0) across the paths is 0.1155.

Fig. H3 · Simulation · 48 seeded pathsModel simulation · seed 20261015

Fig. H3. Simulated paths of the model under the pricing measure, seed 20261015, with the announcement jump at day 4.5.

Supporting Equations · The Dynamics

Kou dynamics between announcements

dStSt−=(r−q−λκ) dt+σ dWt+d(∑k=1Nt(eYk−1)),t≠tE,\frac{\dd S_t}{S_{t^-}}=(r-q-\lambda\kappa)\,\dd t+\sigma\,\dd W_t +\dd\Big(\sum_{k=1}^{N_t}\big(e^{Y_k}-1\big)\Big),\qquad t\neq\tE ,
Between announcements the price follows a diffusion plus compensated Poisson jumps whose log sizes are double-exponential.

Martingale condition across the announcement

E[StE ∣ FtE−]=StE− E[eZ−κE]=StE−.\E\big[S_{\tE}\,\big|\,\mathcal F_{\tE^-}\big]=S_{\tE^-}\,\E\big[e^{Z-\kE}\big]=S_{\tE^-} .
No calendar time passes across the announcement, so the jump itself must leave the expected price unchanged.

Compensator of the Poisson jumps

κ=E[eY]−1=p η1η1−1+(1−p) η2η2+1−1=pη1−1−1−pη2+1\kappa=\E\big[e^{Y}\big]-1=\frac{p\,\eta_1}{\eta_1-1}+\frac{(1-p)\,\eta_2}{\eta_2+1}-1 =\frac{p}{\eta_1-1}-\frac{1-p}{\eta_2+1}
The mean relative jump size enters the drift so that the discounted price stays a martingale between announcements.
Eq. 5Log compensator of the announcement
κE=ln⁡E[eZ]=ln⁡(1+pEη1,E−1−1−pEη2,E+1)\kE=\ln\E\big[e^{Z}\big]=\ln\Big(1+\frac{\pE}{\etaE{1}-1}-\frac{1-\pE}{\etaE{2}+1}\Big)

The shift is the logarithm of the expected price multiplier, in closed form from the three parameters of the announcement law.

E[eZ]\E\big[e^{Z}\big]
the expected price multiplier of the announcement
E∣Z∣\E\abs{Z}
0.0833 in the base case, a standard deviation of 0.1179
Var⁡Z\Var Z
0.013889 of a total 0.016121 for the log price at expiry: 86 percent
Eq. 2 · the double-exponential law, announcement parameters
fE(z)=pE η1,Ee−η1,Ez 1{z≥0}+(1−pE) η2,Eeη2,Ez 1{z<0}\begin{aligned}f_E(z)&=p_E\,\eta_{1,E}e^{-\eta_{1,E}z}\,\mathbf{1}_{\{z\ge0\}}\\&\quad+(1-p_E)\,\eta_{2,E}e^{\eta_{2,E}z}\,\mathbf{1}_{\{z<0\}}\end{aligned}
p0.50η₁12.00η₂12.00E|Z|0.0833sd(Z)0.1179κE0.00697z0.000

The announcement jump's double-exponential density on log returns, f_E(z) = p eta1 exp(-eta1 z) for z at least 0 and (1 - p) eta2 exp(eta2 z) below 0, drawn as a solid of revolution whose radius at each z is the density there. Here p = 0.50, eta1 = 12.00, and eta2 = 12.00: the mean up-move is 0.083 and the mean down-move 0.083 in log return, E|Z| = 0.0833, the standard deviation is 0.1179, and the compensator kappa_E = ln E[exp Z] = 0.00697.

Fig. H2 · Announcement jump density f_EModel code · DE(0.50, 12.0, 12.0)

Fig. H2. Double-exponential density of the announcement log return, DE(0.5, 12, 12). The solid revolves the density about the z axis: its radius at each log return is the density there.

Supporting Equations · The Jump Law

Double-exponential jump density

fY(y)=p η1e−η1y 1{y≥0}+(1−p) η2eη2y 1{y<0},p∈[0,1],η1>1,η2>0.f_Y(y)=p\,\eta_1 e^{-\eta_1 y}\,\ind{y\ge0}+(1-p)\,\eta_2 e^{\eta_2 y}\,\ind{y<0}, \qquad p\in[0,1],\quad \eta_1>1,\quad \eta_2>0 .
A log jump is upward with probability p and downward otherwise, and each side is exponential with its own rate.
2.2The Pricing Problem

Between announcements the option value solves a partial integro-differential equation; at the announcement one integral condition carries it across the jump.

Eq. 12Pricing PIDE in log price
∂τu=Lu,τ≠τE,Lu=12σ2 ∂xxu+(r−q−λκ−12σ2)∂xu−(r+λ) u+λ∫Ru(x+y,τ) fY(y) dy.\begin{aligned} \partial_\tau u&=\Lop u,\qquad \tau\ne\tauE,\\ \Lop u&=\tfrac12\sigma^2\,\partial_{xx}u+\big(r-q-\lambda\kappa-\tfrac12\sigma^2\big)\partial_x u -(r+\lambda)\,u+\lambda\int_{\R}u(x+y,\tau)\,f_Y(y)\,\dd y . \end{aligned}

Away from the announcement the option value solves a partial integro-differential equation whose jump integral reads the value at higher and lower log prices.

u(x,τ)u(x,\tau)
the option value in log price x and time to expiry τ
L\Lop
the pricing operator: diffusion, drift, discounting, and the jump integral
λ, fY\lambda,\ f_Y
the intensity and the double-exponential density of the background Kou jumps
Eq. 13Announcement jump condition
u(x,τE+)=(PEu(⋅,τE−))(x),(PEw)(x)=∫Rw(x+z−κE) fE(z) dz=∫Rw(x+y) fE(y+κE) dy.\begin{aligned} u(x,\tauE^{+})&=\big(\Eop u(\cdot,\tauE^{-})\big)(x),\\ (\Eop w)(x)&=\int_{\R}w\big(x+z-\kE\big)\,f_E(z)\,\dd z=\int_{\R}w(x+y)\,f_E(y+\kE)\,\dd y . \end{aligned}

At the announcement the value on one side equals the value on the other side integrated against the shifted announcement density.

τE−, τE+\tauE^{-},\ \tauE^{+}
the two sides of the announcement in time to expiry
PE\Eop
the announcement operator: the value averaged against the shifted announcement density
fEf_E
the density of Z, DE(0.5, 12, 12) in the base case
Eq. 15 · the American problem
∂τu−Lu≥0,u≥φ(ex),(∂τu−Lu)(u−φ(ex))=0\begin{aligned}&\partial_\tau u-\mathcal{L}u\ge 0,\qquad u\ge\varphi(e^{x}),\\&\big(\partial_\tau u-\mathcal{L}u\big)\big(u-\varphi(e^{x})\big)=0\end{aligned}
K100σ0.25r0.04T9.0dtE4.5dorder2.00τ9.00d

A surface of the American put value V(S, t) from the paper's IMEX-CNAB finite-difference solver, with strike K = 100, volatility 0.25, rate 0.04, 9.0 trading days to expiry and the announcement at 4.5 trading days. Today the at-the-money put is worth 4.634. Across the announcement the value drops by up to 3.14 at S = 100: the announcement optionality V(S, t_E minus) - V(S, t_E), which is never negative. The early-exercise boundary S*(t) starts today at 69.945, falls toward the bottom of the grid as t rises to the announcement, so the put is never exercised just before it, and rejoins the no-announcement boundary at 92.918 right after it.

Fig. H1 · American put value V(S, t)
  1. 01 Expiryu(x, 0) = (K − eˣ)⁺At expiry the put is worth its payoff.
  2. 02 Leg AEq. 33IMEX-CNAB steps from expiry back to the announcement, the exercise constraint enforced at every level.
  3. 03 Jump conditionEq. 13The announcement operator is applied once; the second leg restarts with four Rannacher half steps.
  4. 04 Leg BEq. 33The march continues from the announcement back to today on the same grid.
  5. 05 TodayV(K, 0) = 4.634190The American put at the money, against 4.611245 for the European put on the same grid.

The teal plane is the newest time level of the solve, from expiry back to today; on a wide screen the scroll drives it, on a phone it plays once, and with reduced motion it rests on the finished solve. Across the announcement the curtain is the announcement optionality, V(S, tE−) − V(S, tE) = 3.135454 at the money.

Supporting Equations · The Pricing Problem

American value as optimal stopping

V(S,t)=sup⁡ϑ∈Tt,TE[e−r(ϑ−t)φ(Sϑ) ∣ St=S],V(S,t)=\sup_{\stopt\in\mathcal T_{t,T}}\E\big[e^{-r(\stopt-t)}\payoff(S_\stopt)\,\big|\,S_t=S\big],
The American price is the largest discounted expected payoff over every exercise rule available up to expiry.

Characteristic function behind the COS benchmark

ϕϱT(υ)=exp⁡{T[iυμ−12σ2υ2+λ(ϕY(υ)−1)]}⋅e−iυκE ϕZ(υ),\cf_{\ret_T}(\upsilon)=\exp\Big\{T\Big[\ii\upsilon\mu-\tfrac12\sigma^2\upsilon^2 +\lambda\big(\cf_Y(\upsilon)-1\big)\Big]\Big\}\cdot e^{-\ii\upsilon\kE}\,\cf_Z(\upsilon),
The terminal log return's characteristic function is the Kou factor times the announcement factor, and the Fourier-cosine benchmark prices European options from it.

Mixture representation of the European price

VEur(S0,0)=∫RVBS(S0ez−κE,0) fE(z) dz,V^{\mathrm{Eur}}(S_0,0)=\int_{\R}V^{\BS}\big(S_0e^{z-\kE},0\big)\,f_E(z)\,\dd z ,
Without background jumps a European price is the announcement-density average of Black-Scholes prices, a second benchmark that shares no code with the cosine expansion.
2.3The Free Boundary

A put holder never exercises into an announcement whose law has full support, and the exercise boundary collapses to zero as the announcement approaches.

Eq. 15Linear complementarity problem
∂τu−Lu ≥ 0,u ≥ φ(ex),(∂τu−Lu)(u−φ(ex))=0on R×((0,T]∖{τE}),\partial_\tau u-\Lop u\ \ge\ 0,\qquad u\ \ge\ \payoff(e^{x}),\qquad \big(\partial_\tau u-\Lop u\big)\big(u-\payoff(e^{x})\big)=0\qquad\text{on }\R\times\big((0,T]\setminus\{\tauE\}\big),

At every point either the PIDE holds with equality or the option is worth its exercise value, and the product of the two slacks is zero.

φ(ex)\payoff(e^{x})
the exercise value, (K − e^x)⁺ for the put
∂τu−Lu\partial_\tau u-\Lop u
the slack of the PIDE, zero wherever the holder continues
u−φu-\payoff
the slack of the constraint, zero wherever the holder exercises
Eq. 20Collapse of the exercise boundary
lim⁡t↑tES∗(t)=0.\lim_{t\uparrow\tE}S^*(t)=0 .

As the announcement approaches, the put's exercise boundary falls to zero, and right after it the boundary jumps back to its no-event level.

S∗(t)S^*(t)
the early-exercise boundary: the put is exercised below it
S∗(0)S^*(0)
69.945 with the announcement ahead, 90.671 without it
S∗(tE)S^*(\tE)
92.918, the no-event boundary, right after the announcement
S*(0)69.945no event90.671floor45.68S*(tE)92.918
Fig. B1 · Early-exercise boundary S*(t)IMEX-CNAB 1600 × 800 · 249 levels shown

Fig. B1. Early-exercise boundary from the same solve: 69.945 today, the grid floor 45.68 just before the announcement, an empty exercise region at the announcement, then 92.918.

With the announcement four and a half trading days away, a put with volatility 0.25 is exercised today only when it is about thirty percent in the money: the exercise boundary today is 69.945, against 90.671 without the announcement.

As the announcement approaches, the boundary falls to the grid floor at 45.68 and the exercise region empties; at the announcement it rejoins the no-event boundary at 92.918.

At the money the announcement multiplies the early-exercise premium by 2.7, and the put's value drops by 3.135454 across the announcement, the announcement optionality of Theorem 3.3.

Supporting Equations · The Free Boundary

Continuation value across the announcement

CE(S)=E[V(SeZ−κE,tE)],V(S,tE−)=max⁡{φ(S), CE(S)},C_E(S)=\E\big[V\big(Se^{Z-\kE},\tE\big)\big],\qquad V(S,\tE^-)=\max\{\payoff(S),\,C_E(S)\},
Just before the announcement the holder compares exercising now with holding the option through the jump.

No exercise at the announcement instant

CE(S) ≥ E[φ(SeZ−κE)] ≥ φ(S),C_E(S)\ \ge\ \E\big[\payoff\big(Se^{Z-\kE}\big)\big]\ \ge\ \payoff(S),
Jensen's inequality puts the continuation value above the payoff, so a put holder never exercises into an announcement whose law has full support.
2.4The IMEX-CNAB Step

Each step is Crank-Nicolson for the differential part and second-order Adams-Bashforth for the jump integral: one tridiagonal solve and one evaluation of the jump sum, linear in the grid size.

Eq. 33IMEX-CNAB time step
AVn+1=BVn+Δτ(32 JVn−12 JVn−1),n≥2,A\Vn{n+1}=B\Vn{n}+\dtau\Big(\tfrac32\,J\Vn{n}-\tfrac12\,J\Vn{n-1}\Big),\qquad n\ge2,

Each step is Crank-Nicolson for the differential part and second-order Adams-Bashforth for the jump integral, with one tridiagonal solve.

A=I−Δτ2DA=I-\tfrac{\dtau}{2}D
the implicit Crank-Nicolson matrix, tridiagonal
B=I+Δτ2DB=I+\tfrac{\dtau}{2}D
its explicit half
JJ
the discrete jump operator, applied at the two previous levels with weights 3/2 and −1/2
ρ₁ = e^(−η₁Δx)0.91027A₁0.04704w₀0.04557Σ wk − 16.7 × 10⁻¹⁶dense − recursion1.8 × 10⁻¹⁵
Fig. M1 · One IMEX-CNAB step and the linear-time jump sumDE(0.50, 12.0, 12.0) · Δx = 0.00783 · 41 nodes

Fig. M1. One step of Eq. 33 and the jump sum of Eq. 32 by the recursions of Eq. 56, with the hat weights of Eq. 27 for DE(0.5, 12, 12) on the space step of the (200, 100) grid. The browser computes every weight and both sums; the readouts compare the recursion with the dense sum.

Eq. 35Stability polynomial of the scheme
(1+α2)z2−(1−α2+3β2)z+β2=0,α=(a+λ)Δτ,β=λθ Δτ.\Big(1+\frac{\alpha}{2}\Big)z^2-\Big(1-\frac{\alpha}{2}+\frac{3\beta}{2}\Big)z+\frac{\beta}{2}=0, \qquad\alpha=(a+\lambda)\dtau,\quad\beta=\lambda\theta\,\dtau .

The roots of this quadratic are the amplification factors, and they stay in the unit disc for every jump symbol exactly when the jump intensity times the time step is at most one.

zz
an amplification factor of the scheme for the scalar jump model
θ\theta
the normalized symbol of the jump operator, |⁠θ| ≤ 1
λΔτ≤1\lambda\dtau\le1
Lemma 4.3: both roots stay in the closed unit disc for every a ≥ 0 and |⁠θ| ≤ 1 exactly when this holds
0.051.00 · the bound1.60
max |z|, a = 01.0000|z₋|, θ = −11.0000λΔτ1.00

λΔτ ≤ 1: every root in the closed unit disc.

At a = 0 and λΔτ = 1 the polynomial factors as (3z − 1)(z − θ) = 0, so the root z = θ runs along the unit circle itself. In every production run of the paper λΔτ sits orders of magnitude below one: accuracy sets the time step.

Fig. M2 · Root locus of Eq. 35, a = 0, |θ| = 1Lemma 4.3 · Schur-Cohn, root-locus form

Fig. M2. Both roots of Eq. 35 for every jump symbol on the unit circle, computed in the browser for the λΔτ the slider sets.

Supporting Equations · The Numerical Method

Implicit and explicit parts of the operator

Du=12σ2 ∂xxu+μ ∂xu−(r+λ) u,Ju=λ∫Ru(x+y,τ) fY(y) dy,\Dop u=\tfrac12\sigma^2\,\partial_{xx}u+\mu\,\partial_xu-(r+\lambda)\,u,\qquad \Jop u=\lambda\int_{\R}u(x+y,\tau)\,f_Y(y)\,\dd y,
The solver treats the differential part implicitly and the nonlocal jump integral explicitly.

Geometric hat-function weights

wk=A1ρ1 k  (k≥1),wk=A2ρ2 ∣k∣  (k≤−1),A1=4p sinh⁡2(η1Δx/2)η1Δx,A2=4(1−p) sinh⁡2(η2Δx/2)η2Δx,\begin{aligned} w_k&=A_1\rho_1^{\,k}\ \ (k\ge1),\qquad w_k=A_2\rho_2^{\,\abs{k}}\ \ (k\le-1),\\ A_1&=\frac{4p\,\sinh^2(\eta_1\dx/2)}{\eta_1\dx},\qquad A_2=\frac{4(1-p)\,\sinh^2(\eta_2\dx/2)}{\eta_2\dx}, \end{aligned}
Exact integrals of the double-exponential kernel against piecewise-linear hats are geometric on each side of zero and conserve probability mass on any grid.

Discrete jump operator

(JV)i=λ∑j=0Mw~ijVj+λ taili(τ),w~ij=wj−i (0<j<M),w~i0=w−i+,w~iM=wM−i−.(J\mathbf V)_i=\lambda\sum_{j=0}^{\Mx}\tilde w_{ij}V_j+\lambda\,\mathrm{tail}_i(\tau),\qquad \tilde w_{ij}=w_{j-i}\ (0<j<\Mx),\qquad \tilde w_{i0}=w^{+}_{-i},\qquad \tilde w_{i\Mx}=w^{-}_{\Mx-i}.
The jump integral becomes a weighted sum over the grid plus closed-form tails, indexed so that an up-jump reads a higher node.

Linear-time recursion for the jump integral

Ui=ρ1(V^i+1+Ui+1),  UM=0;Li=ρ2(V^i−1+Li−1),  L0=0;(JV)i=λ(w0Vi+A1Ui+A2Li)+λ taili(τ)\begin{aligned} U_i&=\rho_1\big(\hat V_{i+1}+U_{i+1}\big),\ \ U_{\Mx}=0;\qquad L_i=\rho_2\big(\hat V_{i-1}+L_{i-1}\big),\ \ L_0=0;\\ (J\mathbf V)_i&=\lambda\big(w_0V_i+A_1U_i+A_2L_i\big)+\lambda\,\mathrm{tail}_i(\tau) \end{aligned}
Two first-order recursions evaluate the whole jump sum in a number of operations proportional to the grid size.

Rannacher start-up

(I−Δτ2D)Vk+12=Vk+Δτ2 JVk,k=0,12,1,32,\Big(I-\tfrac{\dtau}{2}D\Big)\Vn{k+\frac12}=\Vn{k}+\tfrac{\dtau}{2}\,J\Vn{k},\qquad k=0,\tfrac12,1,\tfrac32,
Four implicit Euler half steps start each leg of the march and damp the high-frequency error that the payoff kink excites.

Discrete announcement step

(PEhV)i=∑j=0Mw~ijEVj+tailiE(τE),wkE=∫Rψk(y) fE(y+κE) dy,(\Eop^{h}\mathbf V)_i=\sum_{j=0}^{\Mx}\tilde w^{E}_{ij}V_j+\mathrm{tail}^{E}_i(\tauE),\qquad w^{E}_k=\int_{\R}\psi_k(y)\,f_E(y+\kE)\,\dd y,
The solver applies the jump condition once on the grid as an exact hat-function quadrature of the shifted density plus closed-form tails.

Operator splitting for early exercise

AV~n+1=bn+Δτ μn,Vn+1=max⁡(V~n+1−Δτ μn, φ),μn+1=μn+Vn+1−V~n+1Δτ ≥0,\begin{aligned} A\tilde{\mathbf V}^{n+1}&=\mathbf b^{n}+\dtau\,\bm\mu^{n},\qquad \Vn{n+1}=\max\big(\tilde{\mathbf V}^{n+1}-\dtau\,\bm\mu^{n},\ \bm\payoff\big),\\ \bm\mu^{n+1}&=\bm\mu^{n}+\frac{\Vn{n+1}-\tilde{\mathbf V}^{n+1}}{\dtau}\ \ge0 , \end{aligned}
One tridiagonal solve and one projection per step enforce the exercise constraint through a multiplier, with no iteration.
2.5Order Two

Each halving of the space and time steps cut the error through the announcement step by a factor of four: observed order 2.00 at every level of the ladder.

ObservedObserved order of convergence
eΔx=∣VFD(S0)−Vref(S0)∣,p^=log⁡2e2ΔxeΔx=2.00e_{\dx}=\abs{V_{\mathrm{FD}}(S_0)-V_{\mathrm{ref}}(S_0)},\qquad \hat p=\log_2\frac{e_{2\dx}}{e_{\dx}}=2.00

Refining the space and time steps together cut the error at the money by a factor of four per halving against the cosine benchmark, an observed order of 2.00 at every level.

VrefV_{\mathrm{ref}}
the Fourier-cosine price of the European put, 4.61125402
Δx\dx
the space step, halved with the time step from the (200, 100) grid to the (3200, 1600) grid
p^\hat p
the observed order between two consecutive grids
order2.00e(200, 100)6.04 × 10⁻⁴e(3200, 1600)2.36 × 10⁻⁶
Fig. A1 · Convergence through the announcement stepEuropean put vs COS · log-log

Fig. A1. Error of the European put against the cosine benchmark through the announcement step, grids (200, 100) to (3200, 1600), observed order 2.00.

largest gap to the American put reference values of Salmi and Toivanen (2011)
2.3 × 10⁻⁵
probability mass the exact hat weights lose on the (400, 200) grid
3.4 × 10⁻¹⁵
gap between the cosine expansion and the mixture quadrature, which share no code
2.5 × 10⁻¹³
smallest margin of continuation over exercise at the announcement: the projection never binds
3.67 × 10⁻⁴

For the Kou European put at the money the error fell from 8.37 × 10⁻² on the (100, 50) grid to 1.95 × 10⁻⁵ on the (6400, 3200) grid, at observed orders 2.05 to 2.00. On the finest grid the Kou American put matched the reference values of Salmi and Toivanen (2011) at spots 90, 100, and 110 to within 2.3 × 10⁻⁵; at the money the Richardson limit, 2.807879, lies 2.3 × 10⁻⁷ from the reference value, which the paper reads as agreement within a few 10⁻⁶.

Supporting Equations · Accuracy

Cumulants of the terminal log return

c1=T(μ+λ(pη1−1−pη2))+m1−κE,c2=T(σ2+2λ(pη12+1−pη22))+m2−m12,c4=24λT(pη14+1−pη24)+m4−4m3m1−3m22+12m2m12−6m14,\begin{aligned} c_1&=T\Big(\mu+\lambda\Big(\frac{p}{\eta_1}-\frac{1-p}{\eta_2}\Big)\Big)+m_1-\kE,\qquad c_2=T\Big(\sigma^2+2\lambda\Big(\frac{p}{\eta_1^2}+\frac{1-p}{\eta_2^2}\Big)\Big)+m_2-m_1^2,\\ c_4&=24\lambda T\Big(\frac{p}{\eta_1^4}+\frac{1-p}{\eta_2^4}\Big)+m_4-4m_3m_1-3m_2^2+12m_2m_1^2-6m_1^4, \end{aligned}
The first, second, and fourth cumulants add the announcement's moments to the Kou terms and set the truncation range of the cosine expansion.
03Results

Nine models priced on every announcement, the holdout only after the freeze

Black-Scholes with historical volatility missed pre-event mid prices by 11.29 volatility points in the development sample and 13.71 in the holdout, root-mean-square and vega-scaled as pre-registered.

announcements on which all nine models are defined
6,893
development announcements, 19,373 quotes, through 2021
1,386
holdout announcements, 87,516 quotes, 2022 to April 2025
5,507
specification frozen at 22:05 UTC; the plan was written on 13 October 2026
14 Oct 2026

Error Removed

Share of the benchmark's dollar error each model removed

With the option-implied announcement variance, Kou-SEJ removed 0.80 of the benchmark's holdout dollar error, against 0.42 with the law fitted to the firm's past announcements; the flat at-the-money market volatility, which fits the at-the-money level by construction, removed 0.82.

Mispricing captured is one minus the ratio of summed absolute dollar errors against Black-Scholes with historical volatility, as pre-registered; whiskers are 90 percent event-bootstrap intervals.

Mkt-ATM
Black-Scholes with the quote's own at-the-money implied volatility, the market reference
Mkt-ATM: 0.82, 90 percent interval 0.81 to 0.83
0.82
DJ-implied
Gaussian announcement jump with option-implied background and announcement variance
DJ-implied: 0.82, 90 percent interval 0.81 to 0.83
0.82
Kou-SEJ-Q
Kou-SEJ calibrated to the option-implied announcement variance, the primary specification
Kou-SEJ-Q: 0.80, 90 percent interval 0.79 to 0.81
0.80
Kou-SEJ-Q-prereg
The literal pre-registered variant, with the asymmetry matched to the slope of the smile
Kou-SEJ-Q-prereg: 0.74, 90 percent interval 0.73 to 0.75
0.74
BS-IVlong
Black-Scholes with the at-the-money implied volatility of the longer expiration
BS-IVlong: 0.59, 90 percent interval 0.57 to 0.61
0.59
DJ-hist
Gaussian announcement jump on Black-Scholes, variance from the firm's past moves (Dubinsky and Johannes)
DJ-hist: 0.45, 90 percent interval 0.43 to 0.47
0.45
Kou-SEJ-P
Kou-SEJ with the announcement law fitted to the firm's past announcements; uses no option price
Kou-SEJ-P: 0.42, 90 percent interval 0.40 to 0.44
0.42
CRR-HV
Binomial American price with the same volatility
CRR-HV: 0.03, 90 percent interval 0.03 to 0.04
0.03

Pricing Error

Pre-event error by model, in volatility points

Root-mean-square error of the pre-event mid price, each error divided by the quote's Black-Scholes vega, averaged across announcements.

Away from the money a double-exponential law with the asymmetry of the firm's past moves fitted worse than a Gaussian jump with the same calibrated level.

BS-HV
Black-Scholes with trailing historical volatility, the benchmark
BS-HV: 11.29 in the development sample, 13.71 in the holdout
13.71
CRR-HV
Binomial American price with the same volatility
CRR-HV: 10.96 in the development sample, 13.19 in the holdout
13.19
Kou-SEJ-P
Kou-SEJ with the announcement law fitted to the firm's past announcements; uses no option price
Kou-SEJ-P: 8.46 in the development sample, 8.76 in the holdout
8.76
DJ-hist
Gaussian announcement jump on Black-Scholes, variance from the firm's past moves (Dubinsky and Johannes)
DJ-hist: 8.62 in the development sample, 8.37 in the holdout
8.37
BS-IVlong
Black-Scholes with the at-the-money implied volatility of the longer expiration
BS-IVlong: 6.23 in the development sample, 7.88 in the holdout
7.88
Kou-SEJ-Q-prereg
The literal pre-registered variant, with the asymmetry matched to the slope of the smile
Kou-SEJ-Q-prereg: 4.00 in the development sample, 4.92 in the holdout
4.92
Kou-SEJ-Q
Kou-SEJ calibrated to the option-implied announcement variance, the primary specification
Kou-SEJ-Q: 3.81 in the development sample, 4.24 in the holdout
4.24
Mkt-ATM
Black-Scholes with the quote's own at-the-money implied volatility, the market reference
Mkt-ATM: 3.58 in the development sample, 4.04 in the holdout
4.04
DJ-implied
Gaussian announcement jump with option-implied background and announcement variance
DJ-implied: 3.58 in the development sample, 4.04 in the holdout
4.04

Variance Premium

Option-implied over realized announcement variance

Option-implied announcement variance exceeded realized variance by ratios of 1.70 in the development sample and 1.14 in the holdout; the paper reads the gap as the difference between the risk-neutral and the realized law of the move and reports no mispricing.

With maturities counted in trading days and announcement weeks resampled, the holdout ratio is 1.06, its interval 0.99 to 1.13.

Development
Development: 1.70, 90 percent interval 1.60 to 1.82
1.70
Holdout
Holdout: 1.14, 90 percent interval 1.09 to 1.19
1.14
Holdout, trading days
Holdout, trading days: 1.06, 90 percent interval 0.99 to 1.13
1.06
implied = realized

Later Sample

141 later announcements, scored on an expiration no calibrated model uses

On 141 later announcements by 28 large firms, from May 2025 to October 2026, priced before the freeze and scored on an expiration that no calibrated model uses, the double-exponential shape again did not help: it priced worse than a Gaussian law at the money, and worse in the wings as a point estimate.

Replacing the Gaussian announcement jump by the double-exponential law, with the same fitted at-the-money levels, raised the error by 5.6 percent in the wings and 11.2 percent at the money.

The paper priced this sample before the freeze, and it informed the frozen specification: it serves as an out-of-calibration check on an expiration that no calibrated model uses.

BS-HV
BS-HV: 11.93 RMSE, volatility points
11.93
Kou-SEJ-P
Kou-SEJ-P: 8.18 RMSE, volatility points
8.18
DJ-hist
DJ-hist: 8.08 RMSE, volatility points
8.08
Kou-SEJ-Q
Kou-SEJ-Q: 3.00 RMSE, volatility points
3.00
DJ-implied
DJ-implied: 2.97 RMSE, volatility points
2.97
BS-IVlong
BS-IVlong: 2.83 RMSE, volatility points
2.83
Kou-SEJ-Q-Am
Kou-SEJ-Q-Am: 2.83 RMSE, volatility points
2.83
Mkt-ATM
Mkt-ATM: 2.40 RMSE, volatility points
2.40
04What Failed

Four of eight pre-registered predictions failed in both samples

Of the eight pre-registered predictions, P5 and P7 held in both samples, P3 and P8 in the holdout only, and P1, P2, P4, and P6 failed in both. The plan was written on 13 October 2026, before any pricing error was computed, with the rule that decides a failure: an estimate of the opposite sign, or a 90 percent interval that excludes the predicted magnitude by more than its own width.

  1. P1

    Event-jump models cut the pre-event error of Black-Scholes with historical volatility by at least 30 percent; after the announcement the cut is within 5 percent of zero.

    The pre-event half held for Kou-SEJ-Q, which cut the error by 66.26 and 69.08 percent. The post-event half failed: Kou-SEJ-Q stayed 30.63 and 20.57 percent ahead, because only DJ-hist and Kou-SEJ-P share the benchmark's background volatility after the announcement.

    Development
    fails
    Holdout
    fails
    Later sample
    holds
  2. P2

    The cut is larger out of the money than at the money, and larger for firms with large past announcement moves.

    All four event models cut the error by less in the wings than at the money, by 9.2 and 9.8 percentage points for Kou-SEJ-Q. The past-move half held in the holdout for all four.

    Development
    fails
    Holdout
    fails
    Later sample
    fails
  3. P3

    No model has a lower pre-event error at the money than the market's own at-the-money implied volatility.

    DJ-implied beat the market reference by 0.0003 volatility points on the out-of-calibration quotes of the development sample, a comparison the paper calls close to an identity; the rule counts any negative estimate as a failure.

    Development
    fails
    Holdout
    holds
    Later sample
    holds
  4. P4

    Residual errors are largest in the top VIX tercile and in the top relative-spread tercile.

    Kou-SEJ-Q's residuals peaked in the top VIX tercile and fell short in the top spread tercile, by 0.53 points in the development sample and 0.002 in the holdout. The plan named no model, and the spread half holds for five of the other models.

    Development
    fails
    Holdout
    fails
    Later sample
    fails
  5. P5

    Option-implied announcement variance beats the variance of the firm's past announcement moves.

    DJ-implied cut the error of DJ-hist by 58.4 and 51.7 percent; Kou-SEJ-Q cut that of Kou-SEJ-P by 55.0 and 51.6 percent.

    Development
    holds
    Holdout
    holds
    Later sample
    holds
  6. P6

    The double-exponential shape helps mainly away from the money and changes the error at the money by less than 5 percent.

    The shape's gain was 11.8 and 10.1 percentage points smaller in the wings than at the money, and at the money it raised the error by 10.0 and 10.4 percent, outside the 5 percent band.

    Development
    fails
    Holdout
    fails
    Later sample
    fails
  7. P7

    Black-Scholes with historical volatility under-prices across moneyness, and a Gaussian announcement jump under-prices the wings relative to the money.

    Both clauses held. An exploratory breakdown, outside the plan, shows that the second clause measures the background equity smile: puts under-priced and calls over-priced away from the money.

    Development
    holds
    Holdout
    holds
    Later sample
    holds
  8. P8

    Option-implied announcement volatility exceeds the realized move, more in high-VIX quarters; the risk-neutral model fits mid prices better and the historical model forecasts payoffs better.

    The premium held in both samples, with the ratio exceeding one by 0.70 and 0.14. The payoff clause held in the holdout and went unjudged in the development sample, which has too few weekly announcements.

    Development
    inconclusive
    Holdout
    holds
    Later sample
    fails

Verdicts as the paper reports them, by the pre-registered rule. The later sample applies a simpler reading on the out-of-calibration expiration: every stated component must hold, without intervals, and the post-event half of P1 is not evaluated.

The Paper's Reading

Three kinds of failure

01

Misdescribed the design

The post-event half of P1 assumed every event model shares the benchmark's background volatility after the announcement; P3 failed in the development sample by 0.0003 points on a near identity; P8 could not be judged there.

02

Underspecified

P4 named no model, and its spread half holds or fails depending on whose residuals are tested.

03

Failed for substance

The wing half of P2 and P6: the gains of the event models concentrated at the money, where the option-implied models are fitted, and the double-exponential shape taken from the firm's past moves did not improve on a Gaussian law away from it.

Three lessons for pre-registering a study of this kind

  1. 1.State a prediction about a calibrated model for what the calibration leaves free: the smile away from the calibration strikes and the expirations outside the pair.
  2. 2.Name the model, the statistic, and the rule for combining components in each prediction.
  3. 3.Give each component a minimum sample, so a handful of events cannot decide a prediction about a secondary sample.

What held: the specification froze before any holdout quote was priced, the pricing code and its inputs carry recorded hashes, every component is reported under both error metrics, and the literal pre-registered variant is reported beside the primary one.

05The Paper

American Option Pricing Around Scheduled Earnings Announcements

A Kou Jump-Diffusion with an Event Jump, an IMEX Finite-Difference Solver, and Evidence from 2020 to 2025 Equity Option Chains

A scheduled earnings announcement concentrates much of a short-dated option's variance at one known instant.

Author
Gleb Alikhver, J.D. candidate, UGA School of Law
Date
October 15, 2026
Length
150 pages, PDF, 1.8 MB
On this page
25 of the paper's 68 numbered equations
Classification
MSC2020 91G20, 91G60, 65M06, 65M12, 45K05. JEL C63, G13, C58.
  • American options
  • jump-diffusion
  • Kou model
  • earnings announcements
  • IMEX time stepping
  • linear complementarity problem
  • finite differences

The work became a master's project in Malcolm Wardlaw's derivatives course at the Terry College of Business, University of Georgia.

The paper is academic research and gives no investment advice. It evaluates pricing errors against end-of-day quotes and reports no trading strategy.