Introduction
Finite difference methods
Example
Derivatives and Risk Management
Lecture 13: Finite difference methods
Søren Hesel
Department of Business and Management
Fall 2022
Søren Hesel DRM
Introduction
Finite difference methods
Example
Outline
1 Introduction
2 Finite difference methods
3 Example
Søren Hesel DRM
Introduction
Finite difference methods
Example
Introduction
Explicit prices Unrealistic modelling assumptions
Closed form approximations Case by case for assets and models
Simple Numerical techniques Binomial, trinomial trees (relevant for
interest rate models)
Monte Carlo simulation requires distribution assumptions
Finite difference Numerical solution of PDE
We want a numerical technique to be fast, flexible, precise,
converging, easily implementable, easily understandable, ...
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
The fundamental PDE
Single state variable xt with risk-neutral dynamics
dxt = µ(xt , t) dt + σ(xt , t) dzQ
t
Asset price given by a function f (x, t), which for all (x, t) ∈ S × [0, T)
solves the PDE (why?)
∂f ∂f 1 ∂2 f
(x, t) + µ(x, t) (x, t) + σ(x, t)2 2 (x, t) − r(x, t)f (x, t) = 0,
∂t ∂x 2 ∂x
along with the boundary condition f (x, T) = H(x) for x ∈ S.
• We focus on finding a numerical solution, i.e. values of f in a
sample of S × [0, T]
▶ 3 finite difference methods: “explicit”, “implicit”, “Crank-Nicolson”
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
The basic idea: discretization
Discretize in value space
• Approximate the state space S × [0, T] by the lattice (matrix)
{x0 , x1 , . . . , xJ } × {0, ∆t, . . . , N∆t}
▶ choice of x0 ≡ xmin and xJ ≡ xmax depends on the specific problem
▶ let fj,n denote f (xj , n∆t) and similarly for µ, σ, and r
∂f fj+1,n −fj−1,n
• Approximate ∂x (xj , n∆t) by Dx fj,n = 2∆x
• Approximate ∂2 f 2 fj+1,n −2fj,n +fj−1,n
∂x2 (xj , n∆t) by Dx fj,n = (∆x)2
Subject to boundary changes
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
The basic idea: discretization
Discretize in time
• Approximate ∂f
∂t (xj , n∆t) by ...
fj,n −fj,n−1
▶ D−
t fj,n = ... the explicit finite difference method
∆t
fj,n+1 −fj,n
▶ D+
t fj,n = ... the implicit finite difference method
∆t
Hence:
Explicit all values fj−1,n , fj,n , fj+1,n are known - find fj,n−1
Implicit Only fj,n+1 is known - need to find fj−1,n , fj,n and fj+1,n
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
The explicit finite difference method
2
∂f ∂ f
• Replace the derivatives ∂x ∂f
, ∂x2 , and ∂t in the PDE by Dx f , D2x f ,
−
and Dt f
• Rewrite resulting equation as
fj,n−1 = αj,n fj−1,n + βj,n fj,n + γj,n fj+1,n ,
where
! !
1 σ2j,n µj,n σ2j,n
αj,n = ∆t − , βj,n = 1 − ∆t rj,n + ,
2 (∆x)2 ∆x (∆x)2
!
1 σ2j,n µj,n
γj,n = ∆t + .
2 (∆x)2 ∆x
• Backward iterative procedure
• “Explicit” ... not necessary to solve system of equations
• Convergence requires small time steps ⇝ simple but
time-consuming method
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
Convergence of the explicit method
• We approximate both ∂f ∂f
∂t and ∂x
• Since we only use one fj,n−1 , the approximation of ∂f
∂t has to be
”precise”
• Rule of thumb:
∆t 1
σ 2
⩽
(∆x) 2
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
The implicit finite difference method
2
∂f ∂ f
• Replace the derivatives ∂x ∂f
, ∂x2 , and ∂t in the PDE by Dx f , D2x f ,
and D+
t f
• Rewrite resulting equation as
aj,n fj−1,n + bj,n fj,n + cj,n fj+1,n = fj,n+1 ,
where
! !
1 σ2j,n µj,n σ2j,n
aj,n = − ∆t − , bj,n = 1 + ∆t rj,n + ,
2 (∆x)2 ∆x (∆x)2
!
1 σ2j,n µj,n
cj,n = − ∆t +
2 (∆x)2 ∆x
• Backward iterative procedure
• Need to fix f0,n and fJ,n or to add equations like
b0,n f0,n + c0,n f1,n = d0,n+1 , aJ,n fJ−1,n + bJ,n fJ,n = dJ,n+1
• “Implicit” ... necessary to solve system of equations
• Convergence ensured as ∆t, ∆x → 0
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
Implicit system of equations
Set of equations, we consider the boundary equations later.
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
The Crank-Nicolson finite difference method
• Takes the average of the “explicit method equation”
fj,n+1 − fj,n 1
+ µj,n+1 Dx fj,n+1 + σ2j,n+1 D2x fj,n+1 − rj,n+1 fj,n+1 = 0
∆t 2
and the “implicit method equation”
fj,n+1 − fj,n 1
+ µj,n Dx fj,n + σ2j,n D2x fj,n − rj,n fj,n = 0,
∆t 2
which results in
Aj,n fj−1,n + Bj,n fj,n + Cj,n fj+1,n = −Aj,n+1 fj−1,n+1 + B∗j,n+1 fj,n+1 − Cj,n+1 fj+1,n+1 ,
where
! !
1 σ2j,n µj,n 1 σ2j,n
Aj,n = ∆t − , Bj,n = −1 − ∆t + rj,n ,
4 (∆x)2 ∆x 2 (∆x)2
! !
1 σ2j,n µj,n 1 σ2j,n
Cj,n = ∆t 2
+ , B∗j,n = −1 + ∆t + rj,n .
4 (∆x) ∆x 2 (∆x)2
• Still requires the solution of a system of linear equations
• Converging faster than the other two methods
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
Other issues
• What to do at the boundaries x0 and xJ ?
▶ Handled on a case-by-case basis
▶ Impose conditions on function values or the derivatives; maybe use
non-standard approximations of derivatives
• How to solve a tridiagonal system of equations? Matrix
inversion is inefficient. Better approach:
1 Gauss elimination (involves only the matrix)
2 Forward substitution
3 Backward substitution
• American-style assets? Two alternatives:
1 At each time step compute fj,n for all j as above. Then overwrite
with max(fj,n , Fj,n ).
2 Implicit and Crank-Nicolson: Build early-exercise check into the
backward substitution procedure. Is more efficient!
• Multiple state variables? Two and three can be handled with
some added complexity
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
Boundary conditions
Has to be done case by case basis
• For some, fix the value at the upper and lower boundaries
▶ fJ,n = k ⇒ aJ,n = 0, bJ,n = 1 and dJ,n+1 = k
▶ f0,n = 0 ⇒ b0,n = 1, c0,n = 0 and d0,n+1 = 0
2
∂ f
• Assuming linear model at the upper, ∂x ∂f
2 = 0 and ∂x is
approximated using one-sided backward-looking difference as in
(16.4) then
fJ,n+1 − fJ,n fJ,n − fJ−1,n
+ µJ,n − rJ,n fJ,n =0 ⇒
∆t ∆x
∆t ∆t
µJ,n fJ−1,n + 1 + rJ,n ∆t − µJ,n fJ,n =fJ,n+1
∆x ∆x
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
American style derivatives
Exercise region
• There are two regions in S × [0, T]
Continuation region The PDS is fulfilled
Exercise region Exercise is optimal
• Border, x̃t , t ∈ [0, T] between continuation and exercise is
unknown
• Add a boundary condition
f (x̃t ) = F(x̃t , t),
where F(x, t) is exercise payoff
Søren Hesel DRM
Introduction Discretization of the fundamental PDE
Finite difference methods The three variants
Example Other issues
American style derivatives
Exercising
• Simplest method: Use max (fj,n , F(xj , n∆t))
• When using implicit method:
fJ,n = max {dj,n+1 /bJ,n , F(xJ , n∆t)}
for j = J − 1J − 2, . . . , 1, 0 :
fj,n = max {[dj,n+1 − cj,n fj+1,n ] /bj,n , F(xj , n∆t)}
Søren Hesel DRM
Introduction
Finite difference methods
Example
Example: The Black-Scholes model
(Tutorial: Hull’s Question 21.18)
Consider a stock price with risk-neutral dynamics
dSt = (r − q)St dt + σSt dzQ
t ,
where S0 = 20, q = 0, r = 0.1, and σ = 0.3.
Use the explicit finite difference to price an American put option with:
4 1
K = 21; T= ; ∆S = 4; ∆t =
12 12
Hints:
• Set Smax = 20 · ∆S = 80
• Boundary conditions: American put ⇝ (21.29)–(21.30):
S = 0 ⇒ P = K; S = Smax ⇒ P ≈ 0
• Also try the implicit finite difference method!
Søren Hesel DRM