Setup
The Black-Scholes PDE as a Parabolic Problem
The Black-Scholes PDE for a European option price C(t,S) is:
∂t∂C+21σ2S2∂S2∂2C+rS∂S∂C−rC=0,(t,S)∈[0,T)×(0,∞).
This is a parabolic PDE (heat equation type) in the variables t and S. It is solved backwards in time from the terminal condition C(T,S)=g(S) (the payoff function).
Log-Spot Transformation
The variable coefficient σ2S2 in the second-order term introduces numerical difficulty. Setting x=lnS and reversing time τ=T−t (time to expiry), the PDE becomes:
∂τ∂C=21σ2∂x2∂2C+(r−21σ2)∂x∂C−rC,
with constant coefficients. This is the canonical form used in finite difference implementations. It reduces to a heat equation modulo first-order and zero-order terms.
Grid Setup
Discretise on a uniform grid in x and τ:
- xi=xmin+iΔx, for i=0,1,…,M.
- τj=jΔτ, for j=0,1,…,N; so τN=T.
Let Cij≈C(xi,τj). Boundary conditions:
- At xmin (far-left, S≈0): Cij=0 for a call.
- At xmax (far-right, S→∞): Cij=exi−Ke−rτj for a call (forward price minus discounted strike).
Initial condition (τ=0): Ci0=g(exi) (the payoff at expiry).
Explicit Scheme (FTCS)
Discretisation
Forward in time, central in space (FTCS — Forward Time, Centred Space):
ΔτCij+1−Cij=2σ2Δx2Ci+1j−2Cij+Ci−1j+(r−2σ2)2ΔxCi+1j−Ci−1j−rCij.
Define λ=2Δx2σ2Δτ, ν=2Δx(r−σ2/2)Δτ. Rearranging:
Cij+1=(λ−ν)Ci−1j+(1−2λ−rΔτ)Cij+(λ+ν)Ci+1j.
This is explicit: each new value Cij+1 is computed directly from the previous time level. No linear system to solve. Cost per time step: O(M).
Stability: Von Neumann Analysis
Assume Cij=ξjeiαxi for some complex amplitude ξ. Substituting into the FTCS stencil (considering only the diffusion term for clarity):
ξ=1+2λ(cos(αΔx)−1).
Stability requires ∣ξ∣≤1 for all frequencies α. Since cos(αΔx)−1∈[−2,0]:
∣ξ∣max=∣1−4λ∣≤1⟹λ≤21⟹Δx2σ2Δτ≤1.
This is the CFL (Courant-Friedrichs-Lewy) condition for the parabolic problem. In physical variables: Δt≤Δx2/σ2. The time step is quadratically constrained by the spatial step — a serious limitation for fine grids.
Accuracy
Truncation error: Taylor-expanding each term shows the FTCS scheme is O(Δτ)+O(Δx2): first-order in time, second-order in space. The overall convergence rate is O(Δτ)+O(Δx2).
Implicit Scheme (BTCS)
Discretisation
Backward in time, central in space (BTCS):
ΔτCij+1−Cij=2σ2Δx2Ci+1j+1−2Cij+1+Ci−1j+1+(r−2σ2)2ΔxCi+1j+1−Ci−1j+1−rCij+1.
Rearranging into standard tridiagonal form:
−(λ−ν)Ci−1j+1+(1+2λ+rΔτ)Cij+1−(λ+ν)Ci+1j+1=Cij.
This is a tridiagonal linear system of size (M−1)×(M−1). Solved in O(M) operations by the Thomas algorithm (forward elimination + back substitution).
Stability
Von Neumann analysis on the BTCS scheme gives:
ξ=1+2λ(1−cos(αΔx))1.
Since the denominator is always ≥1, we have ∣ξ∣≤1 for all α and all λ>0. The BTCS scheme is unconditionally stable: no constraint between Δτ and Δx. Large time steps are permitted. The accuracy remains O(Δτ)+O(Δx2).
Crank-Nicolson Scheme
Discretisation
The θ-method averages the explicit and implicit discretisations with weights θ and 1−θ:
ΔτCij+1−Cij=θ⋅Lj+1Ci+(1−θ)⋅LjCi,
where L is the finite difference operator for the spatial terms. Crank-Nicolson sets θ=1/2: