Working Paper · 2025–2026 · Yifan Qu & Christina Christara · University of Toronto

Numerical Approximation of the Exercise Boundary of American Options

American options can be exercised at any time before expiry, making their pricing harder than European options. The key difficulty is the exercise boundary — an unknown curve in space-time that must be found as part of the solution. This post walks through the PDE formulation, the penalty method, and nine interpolation schemes for locating the boundary with high accuracy.

PDEs Numerical Finance Free Boundary Interpolation MATLAB Finite Differences
Contents Problem Setup Penalty Method Finite Differences FB Detection Nine Schemes Results References
§ 1

Problem Setup

An American put option gives the holder the right to sell one unit of an asset at strike price $E$ at any time $t \in [0, T]$. Unlike a European option, early exercise may be optimal when the asset price $S$ is sufficiently low. Let $\tau = T - t$ denote backward time (so $\tau=0$ at maturity). The option value $V(S,\tau)$ satisfies the Black–Scholes PDE in the region where exercise is not yet optimal:

Black–Scholes PDE
$$\frac{\partial V}{\partial \tau} = \mathcal{L}V, \qquad \mathcal{L}V \equiv \frac{1}{2}\sigma^2 S^2 \frac{\partial^2 V}{\partial S^2} + rS\frac{\partial V}{\partial S} - rV$$

Here $\sigma$ is volatility and $r$ is the risk-free interest rate. The payoff at maturity ($\tau = 0$) is $V^* = \max(E - S,\, 0)$, and the option must satisfy $V(S,\tau) \geq V^*$ at all times.

The Free Boundary

The domain splits into two regions separated by the unknown free boundary $S^*(\tau)$:

$$\begin{cases} \dfrac{\partial V}{\partial \tau} - \mathcal{L}V > 0, \quad V - V^* = 0 & \text{(stopping / exercise region: } S \leq S^*(\tau)\text{)}\\[1em] \dfrac{\partial V}{\partial \tau} - \mathcal{L}V = 0, \quad V - V^* > 0 & \text{(continuation / PDE region: } S > S^*(\tau)\text{)} \end{cases}$$

The free boundary $S^*(\tau)$ is the asset price below which immediate exercise is optimal. It is unknown and must be determined as part of the solution — this is what makes the problem a free boundary problem. Economically, $S^*(\tau)$ is monotone decreasing in $\tau$ (the boundary moves left as $\tau$ increases toward $T$).

Our goal: Given a numerical PDE solution on a finite grid, accurately locate $S^*(\tau)$ at each time step, achieving monotonicity in time, a consistent order of convergence, and values that agree with published benchmarks.

§ 2

The Penalty Method

Rather than tracking $S^*$ explicitly during the solve, we enforce the early-exercise constraint by adding a penalty term to the PDE [Forsyth & Vetzal, 2002]. The penalized PDE is:

Penalized Black–Scholes PDE
$$\frac{\partial V}{\partial \tau} + \mathcal{L}V + \underbrace{\rho\,\max\!\bigl(E - S - V,\;0\bigr)}_{\text{penalty term}} = 0$$

where $\rho \gg 1$ is a large penalty parameter (we use $\rho = 10^7$).

The logic is elegant:

We use Picard (penalty) iteration at each time step to handle the nonlinearity. The iteration converges when the residual is smaller than $\varepsilon_{\mathrm{tol}} \approx \rho^{-1} = 10^{-7}$.


§ 3

Finite Difference Discretization

Spatial discretization on a nonuniform grid

We use a nonuniform grid in $S$, concentrated near the strike $E$ where the solution has a kink. At an interior node $S_i$ with left spacing $h_L = S_i - S_{i-1}$ and right spacing $h_R = S_{i+1} - S_i$, the central finite difference approximations are:

First derivative (Delta)
$$V'(S_i) \approx -\frac{h_R}{h_L(h_L+h_R)}\,V_{i-1} + \frac{h_R - h_L}{h_L h_R}\,V_i + \frac{h_L}{h_R(h_L+h_R)}\,V_{i+1}$$
Second derivative (Gamma)
$$V''(S_i) \approx \frac{2}{h_L(h_L+h_R)}\,V_{i-1} - \frac{2}{h_L h_R}\,V_i + \frac{2}{h_R(h_L+h_R)}\,V_{i+1}$$

The grid has $N_x = 2^{k-1} \times 33$ spatial nodes at refinement level $k$, with nodes clustered near $S = E$ via a stretching parameter. Parameters: $E=100,\ r=0.05,\ \sigma=0.8,\ T=0.5,\ S \in [0,\,12E]$.

Crank–Nicolson time stepping

With $\theta = 1/2$, the time discretization is:

$$\frac{V^{n+1} - V^n}{\Delta t} = \theta\,\mathcal{L}V^{n+1} + (1-\theta)\,\mathcal{L}V^n$$

This is second-order accurate in both space and time.

Rannacher start-up and adaptive stepping

The non-smooth initial condition $V^* = \max(E-S,0)$ can degrade accuracy. Two techniques address this:


§ 4

Free Boundary Detection

Once the PDE is solved at a given time step, we extract $S^*(\tau)$ by post-processing the numerical solution. The workflow is:

Pipeline: Solve PDE  →  Locate boundary interval  →  Form local interpolant  →  Apply free boundary condition  →  Solve for $S^*$

Locating the interval

We find the leftmost index $i_0$ such that $V_{i_0} - \mathrm{payoff}_{i_0} \geq 2\,\varepsilon_{\mathrm{tol}}$. This is the first grid node in the continuation region. The stencil points for interpolation are then taken as $\{i_0, i_1, i_2\} = \{i_0, i_0+1, i_0+2\}$ (or shifted by one: $\{i_0+1, i_0+2, i_0+3\}$).

Free boundary conditions

At the true free boundary $S^*(\tau)$, two conditions hold simultaneously:

Value matching
$$V(S^*, \tau) = E - S^*$$
Smooth pasting
$$\frac{\partial V}{\partial S}(S^*, \tau) = -1$$

Value matching gives a double root when $V(S) - (E-S)$ is minimized, which makes fsolve unstable. Smooth pasting gives a single root and is much more stable numerically. All nine schemes below exploit the smooth pasting condition.

Specifically, if $p(S)$ is a local interpolant of $V$ (or of $V' = \partial V/\partial S$), we solve:

$$p'(S^*) + 1 = 0 \quad \text{(if } p \text{ interpolates } V\text{)} \qquad \text{or} \qquad p(S^*) + 1 = 0 \quad \text{(if } p \text{ interpolates } V'\text{)}$$

using MATLAB's fsolve with tolerance $10^{-9}$.


§ 5

Nine Interpolation Schemes

We compared nine schemes organized into two families: those that interpolate $V$ directly (solving $p'(S^*)+1=0$), and those that interpolate $V' = \partial V/\partial S$ (solving $p(S^*)+1=0$). The derivative values $V'_i$ and $V''_i$ at grid nodes are obtained from the finite difference matrices applied to the PDE solution.

# 1

H2vdvC

Cubic Hermite on $V$ at 2 points. Uses $V_1,V_2$ and $V'_1,V'_2$. Solves $p'_3(S^*)+1=0$.

V 2 pts deg 3
# 2

H2dvddvC

Same Hermite basis applied to $V'$, using $V'_1,V'_2$ and $V''_1,V''_2$. Solves $p_3(S^*)+1=0$.

V' 2 pts deg 3
# 3

HL3vdvC

Hermite–Lagrange cubic on $V$ at 3 points. Uses $V_1,V_2,V_3$ and the derivative $V'_2$ at the middle node. Solves $p'_H(S^*)+1=0$.

V 3 pts deg 3
# 4

HL3dvddvC

Same Hermite–Lagrange basis on $V'$, using $V'_1,V'_2,V'_3$ and $V''_2$. Solves $p_H(S^*)+1=0$.

V' 3 pts deg 3
# 5

L3vQ

Quadratic Lagrange interpolant through $V_1,V_2,V_3$. A simple quadratic fitted to values. Solves $(2aS^*+b)+1=0$.

V 3 pts deg 2
# 6 ★

L3dvQ

Quadratic Lagrange interpolant through $V'_1,V'_2,V'_3$. Solves $p(S^*)+1=0$ directly. Best performer.

V' 3 pts deg 2
# 7

P3vC

PCHIP ($C^1$, shape-preserving) interpolant on $V_1,V_2,V_3$. Derivative obtained via fnder. Solves $p'(S^*)+1=0$.

V 3 pts deg 3
# 8 ★

P3dvC

PCHIP interpolant directly on $V'_1,V'_2,V'_3$. Solves $p(S^*)+1=0$. Best performer.

V' 3 pts deg 3
# 9

H2vddv5

Quintic Hermite–Birkhoff at 2 points using $V,V',V''$ at each. Six conditions → degree-5 polynomial. Solves $p'_5(S^*)+1=0$.

V V' 2 pts deg 5

Scheme 6 in detail: Quadratic Lagrange on $V'$

Given three stencil nodes $S_1, S_2, S_3$ with derivative values $V'_1, V'_2, V'_3$ from the PDE solution, we fit the quadratic Lagrange interpolant:

$$p(S) = \sum_{k=1}^{3} V'_k \prod_{j \neq k} \frac{S - S_j}{S_k - S_j} = aS^2 + bS + c \;\approx\; \frac{\partial V}{\partial S}$$

Applying the smooth pasting condition $p(S^*) = -1$ gives:

$$aS^{*2} + bS^* + c + 1 = 0$$

This quadratic in $S^*$ is solved by fsolve with initial guess $S_1$ (index $i_0$).

Schemes 7 & 8 in detail: PCHIP

PCHIP (Piecewise Cubic Hermite Interpolating Polynomial) is $C^1$, shape-preserving, and avoids Runge oscillations. Given nodes $S_{\mathrm{vec}} = (S_1,S_2,S_3)$:

Scheme 9 in detail: Quintic Hermite–Birkhoff

Using data $V_j, V'_j, V''_j$ at both endpoints $S_1, S_2$ gives six interpolation conditions, determining a degree-5 polynomial. Define $L_j(S) = (S - S_{3-j})/(S_j - S_{3-j})$. The basis functions are:

$$A_j(S) = \bigl(1 - 3L'_j(S-S_j) + 6(L'_j)^2(S-S_j)^2\bigr)\,L_j(S)^3$$ $$B_j(S) = (S-S_j)\,L_j(S)^3 - 3L'_j(S-S_j)^2\,L_j(S)^3$$ $$C_j(S) = \tfrac{1}{2}(S-S_j)^2\,L_j(S)^3$$

The quintic interpolant is:

$$p_5(S) = \sum_{j=1}^{2}\bigl[V_j A_j(S) + V'_j B_j(S) + V''_j C_j(S)\bigr]$$

The free boundary satisfies $p'_5(S^*) + 1 = 0$.


§ 6

Numerical Results

PDE solution convergence

The underlying PDE solver achieves clean second-order convergence in both option value (ErrV) and delta (ErrD). At refinement $k=6$ ($N_x=2112$) the option value error is below $5 \times 10^{-5}$.

$N_t$$N_x$ErrVErrDOrdVOrdD
2366$3.85\times10^{-2}$$4.99\times10^{-4}$
43132$1.07\times10^{-2}$$9.38\times10^{-5}$1.852.41
82264$2.76\times10^{-3}$$2.28\times10^{-5}$1.952.04
163528$7.07\times10^{-4}$$6.34\times10^{-6}$1.971.85
3271056$1.83\times10^{-4}$$1.63\times10^{-6}$1.951.96
6572112$4.92\times10^{-5}$$4.28\times10^{-7}$1.901.93

Free boundary convergence: Schemes 6 and 8

Both derivative-based schemes (L3dvQ and P3dvC) achieve zero non-monotone timesteps across all refinement levels. The free boundary estimates at $k=5$ ($N_x = 528$) agree to five significant figures.

$k$$N_x$$f_b(T_{\mathrm{end}})$ — L3dvQ$\Delta f_b$Ordernmon
13338.394026520
26637.76019677$-6.34\times10^{-1}$0
313237.43397962$-3.26\times10^{-1}$0.960
426437.33435832$-9.96\times10^{-2}$1.710
552837.32572983$-8.63\times10^{-3}$3.530
6105637.49121832$+1.65\times10^{-1}$−4.260
7211237.34267526$-1.49\times10^{-1}$0.160

Comparison with literature (different parameters)

Using $K=100,\,r=0.1,\,\sigma=0.3,\,T=1$ year, our schemes match published reference values closely:

MethodFree Boundary Value
Wu and Kwok (1997)76.25
Zhu (2006)76.11
Kim et al. (2013)76.10
Wang et al. (2023)76.1632
L3dvQ (ours)76.1595
P3dvC (ours)76.1594

Summary across all nine schemes

All nine schemes — monotonicity and stability at $k=7$
#1
H2vdvC nmon = 30 · Good early convergence, unstable at high $k$
#2
H2dvddvC nmon = 7 · Mostly stable, mostly monotone
#3
HL3vdvC nmon = 1 · Mostly stable, mostly monotone
#4
HL3dvddvC nmon = 44 · Non-monotonicity at high $k$
#5
L3vQ nmon = 13 · Mostly monotone, simple model
#6
L3dvQ ★ nmon = 0 · Fully monotone, reasonably stable
#7
P3vC nmon = 13 · Mostly monotone
#8
P3dvC ★ nmon = 0 · Fully monotone, reasonably stable
#9
H2vddv5 nmon = 76 · Non-monotonicity at all $k$ — worst performer
Key finding: Schemes that interpolate $V'$ directly (the derivative family: #2, #4, #6, #8) and then solve $p(S^*)+1=0$ tend to be more stable than value-based schemes that differentiate the interpolant. Within the derivative family, L3dvQ (quadratic Lagrange) and P3dvC (PCHIP) achieve zero non-monotone steps across all seven refinement levels and closely match published benchmarks.

§ 7

Conclusions and Future Work

We implemented and compared nine interpolation-based schemes for locating the exercise boundary $S^*(\tau)$ in American put option pricing. All schemes use the smooth-pasting condition $\partial V/\partial S = -1$ (rather than value matching) for stability. The main takeaways are:

Future directions:


References

References