chapter 5 finite difference methods - yorku math and...
TRANSCRIPT
Math6911 S08, HM Zhu
Chapter 5 Finite Difference Methods
2Math6911, S08, HM ZHU
References
1. Chapters 5 and 9, Brandimarte
2. Section 17.8, Hull
3. Chapter 7, “Numerical analysis”, Burden and Faires
3Math6911, S08, HM ZHU
Outline
• Finite difference (FD) approximation to the derivatives• Explicit FD method• Numerical issues• Implicit FD method• Crank-Nicolson method• Dealing with American options• Further comments
Math6911 S08, HM Zhu
5.1 Finite difference approximations
Chapter 5 Finite Difference Methods
5Math6911, S08, HM ZHU
Finite-difference mesh
• Aim to approximate the values of the continuous function f(t, S) on a set of discrete points in (t, S) plane
• Divide the S-axis into equally spaced nodes at distance ∆S apart, and, the t-axis into equally spaced nodes a distance ∆t apart
• (t, S) plane becomes a mesh with mesh points on (i ∆t, j∆S)
• We are interested in the values of f(t, S) at mesh points (i ∆t, j∆S), denoted as
( )i , jf f i t , j S= ∆ ∆
6Math6911, S08, HM ZHU
The mesh for finite-difference approximation
t
S
i ∆t
j ∆S
( )i , jf f i t , j S= ∆ ∆
Smax=M∆S
T=N ∆t
?
Math6911, S08, HM ZHU
Black-Scholes Equation for a European option with value V(S,t)
conditionsboundary and finalproper with Tt0 and S0 where
)1.5(021
2
222
<≤+∞<<
=−∂∂
++∂∂ rV
SVrS
SVS
tV
∂∂σ
Notes:This is a second-order hyperbolic, elliptic, or parabolic, forward or backward partial differential equationIts solution is sufficiently well behaved ,i.e. well-posed
8Math6911, S08, HM ZHU
Finite difference approximations
The basic idea of FDM is to replace the partial derivatives by approximations obtained by Taylor expansions near the point of interests
( ) ( ) ( ) ( ) ( )
( )
( ) ( ) ( ) ( )( )
0
2
For example,
for small using Taylor expansion at point t
f S,t f S ,t t f S ,t f S ,t t f S ,tlim
t t tt , S ,t
f S ,tf S ,t t f S ,t t O t
t
∆ →
∂ + ∆ − + ∆ −= ≈
∂ ∆ ∆∆
∂+ ∆ = + ∆ + ∆
∂
Forward-, Backward-, and Central-difference approximation to 1st order derivatives
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )( )2
Forward:
Backward:
Central:2
f t ,S f t t ,S f t ,SO t
t tf t ,S f t ,S f t t ,S
O tt t
f t ,S f t t ,S f t t ,SO t
t t
∂ + ∆ −≈ + ∆
∂ ∆∂ − − ∆
≈ + ∆∂ ∆
∂ + ∆ − − ∆≈ + ∆
∂ ∆
t t+ ∆tt t− ∆
centralbackward forward
10Math6911, S08, HM ZHU
Symmetric Central-difference approximations to 2nd order derivatives
( ) ( ) ( ) ( )( )
( )( )2
222
2f t ,S f t ,S S f t ,S f t ,S SO S
S S
∂ + ∆ − + − ∆≈ + ∆
∂ ∆
( ) ( )( )
( )
( )
Use Taylor's expansions for and
around point
f t ,S S f t ,S S
t ,S :
f t ,S S ?
f t ,S S ?
+ ∆ − ∆
+ ∆ =
+
− ∆ =
11Math6911, S08, HM ZHU
Finite difference approximations
1 1
1 1
1 1 1 1
2 2
Forward Difference:
Backward Difference:
Central Difference:
As to the second
i , j i , j i , j i , j
i , j i , j i , j i , j
i , j i , j i , j i , j
f f f ff f,t t S S
f f f ff f,t t S S
f f f ff f,t t S S
+ +
− −
+ − + −
− −∂ ∂≈ ≈
∂ ∆ ∂ ∆− −∂ ∂
≈ ≈∂ ∆ ∂ ∆
− −∂ ∂≈ ≈
∂ ∆ ∂ ∆
( )
21 1
2
1 12
2
derivative, we have:
=
i , j i , j i , j i , j
i , j i , j i , j
f f f ff SS SS
f f f
S
+ −
+ −
− −⎛ ⎞∂≈ − ∆⎜ ⎟∆ ∆∂ ⎝ ⎠
− +
∆
12Math6911, S08, HM ZHU
• Depending on which combination of schemes we use in discretizing the equation, we will have explicit, implicit, or Crank-Nicolson methods
• We also need to discretize the boundary and final conditions accordingly. For example, for European Call,
Finite difference approximations
( )
( )0
Final Condition:0 for 0 1
Boundary Conditions:0
for 0 1
where
N , j
i ,
r N i ti ,M max
max
f max j S K , , j , ,...,M
f, i , ,...,N
f S Ke
S M S.
− − ∆
= ∆ − =
=⎧⎪ =⎨= −⎪⎩
= ∆
Math6911 S08, HM Zhu
5.2.1 Explicit Finite-Difference Method
Chapter 5 Finite Difference Methods
Math6911, S08, HM ZHU
Explicit Finite Difference Methods
22 2
2
1
1 1
21 1
2 2
12
2
2
In , at point ( ), set
backward difference:
central difference: ,
and
i , j i , j
i , j i , j
i , j i , j i , ji , j
f f frS S rf i t , j St S S
f fft t
f ffS S
f f ff , r f rf , S j SS S
σ
−
+ −
+ −
∂ ∂ ∂+ + = ∆ ∆
∂ ∂ ∂−∂
≈∂ ∆
−∂≈
∂ ∆
+ −∂≈ = = ∆
∂ ∆
Math6911, S08, HM ZHU
Explicit Finite Difference Methods
( )( )
( )
1 1 1
2 2
2 2
2 2
12
1
12
Rewriting the equation, we get an explicit scheme: (5.2)where
* * *i , j j i , j j i , j j i , j
*j
*j
*j
f a f b f c f
a t j rj
b t j r
c t j rj
σ
σ
σ
− − += + +
= ∆ −
= − ∆ +
= ∆ +
1 2 1 0 1 2 1for and i N - , N - , ..., , j , , ..., M - .= =
Math6911, S08, HM ZHU
Numerical Computation Dependency
x
x
x
x
t
S
i∆t
j∆S
Smax=M∆S
T=N ∆t00
(i-1)∆t
(j+1)∆S
(j-1)∆S
17Math6911, S08, HM ZHU
Implementation
1. Starting with the final values , we apply (5.2) to solveWe use the boundary condition
to determine
2. Repeat the process to determine and so on
N , jf1 for 1 1N , jf j M .− ≤ ≤ −
1 0 1 and N , N - ,Mf f .−
2N , jf −
18Math6911, S08, HM ZHU
Example
We compare explicit finite difference solution for a European put with the exact Black-Scholes formula, where T = 5/12 yr, S0=$50, K = $50, σ=30%, r = 10%.
Black-Scholes Price: $2.8446EFD Method with Smax=$100, ∆S=2, ∆t=5/1200: $2.8288EFD Method with Smax=$100, ∆S=1, ∆t=5/4800: $2.8406
19Math6911, S08, HM ZHU
Example (Stability)
We compare explicit finite difference solution for a European put with the exact Black-Scholes formula, where T = 5/12 yr, S0=$50, K = $50, σ=30%, r = 10%.
Black-Scholes Price: $2.8446EFD Method with Smax=$100, ∆S=2, ∆t=5/1200: $2.8288EFD Method with Smax=$100, ∆S=1.5, ∆t=5/1200: $3.1414EFD Method with Smax=$100, ∆S=1, ∆t=5/1200: -$2.8271E22
Math6911 S08, HM Zhu
5.2.2 Numerical Stability
Chapter 5 Finite Difference Methods
21Math6911, S08, HM ZHU
Numerical Accuracy
• The problem itself• The discretization scheme used• The numerical algorithm used
22Math6911, S08, HM ZHU
Conditioning Issue
( )
( ) ( )
Suppose we have mathematically posed problem: where is to evaluated given an input .Let for small change
If hen is near then we call the problem is
*
*
y f xy x
x x x x.
f x f x ,
well - co
δ δ
=
= +
. Otherwise, it is ill-posed/ill-conditioned. nditioned
23Math6911, S08, HM ZHU
Conditioning Issue
• Conditioning issue is related to the problem itself, not to the specific numerical algorithm; Stability issue is related to the numerical algorithm
• One can not expect a good numerical algorithm to solve an ill-conditioned problem any more accurately than the data warrant
• But a bad numerical algorithm can produce poor solutions even to well-conditioned problems
24Math6911, S08, HM ZHU
Conditional Issue
( ) ( )( )
( )( )
The concept "near" can be measured by further information aboutthe particular problem:
0
where C is called of this problem. If C is large,the problem is ill-conditioned.
*f x f x xC f x
xf x
condition number
δ−≤ ≠
25Math6911, S08, HM ZHU
Floating Point Number & Error
( )
( ) xxfled
xxxx.x xflx
xx.x x x
i
ed
ed
−
≤≤≠±=≈
±=
: or integer boundedan :
systempoint floating theofprecision integer,an : 9,0 0, where
10 :numberpoint floating Truncated
10 :expansion decimal Infinite number. realany be Let
1
21
21
errorroundoffpoint Floating
26Math6911, S08, HM ZHU
Error Propagation
( )
( )( )
00040011.0 :npropagatioError
0003.0 :errorpoint Floating3. where
10667.0 and 6667.0Let : errors.point floating theseofon accumulati
an istheredone, arenscalculatioadditionalWhen
22
0
=−
−=−=
−=−=
xxfl
xxfld
xfl x Example
27Math6911, S08, HM ZHU
Numerical Stability or Instability
( )
Stability ensures if the error between the numerical soltuion and the exact solution remains bounded as numerical computation progresses.
That is, (the solution of a slightly perturbed problem)
is n
*f x
( )( )
( )
ear the computed solution
Stability concerns about the behavior of
as numerical computation progresses for fixed discretization steps and S.
*
i , j
f x .
f f i t , j S
t
− ∆ ∆
∆ ∆
28Math6911, S08, HM ZHU
Convergence issue
( )( )
Convergence of the numerical algorithm concerns about
the behavior of as S 0 for fixed
values .
For well-posed linear initial value problem, Stability Convergence(Lax's eq
i , jf f i t , j S t,
i t , j S
− ∆ ∆ ∆ ∆ →
∆ ∆
⇔uivalence theorem, Richtmyer and Morton, "Difference
Methods for Initial Value Problems" (2nd) 1967)
29Math6911, S08, HM ZHU
Numerical Accuracy
• These factors contribute the accuracy of a numerical solution. We can find a “good” estimate if our problem is well-conditioned and the algorithm is stable
( ) ( )( ) ( )
( ) ( )Stable:
Well-conditioned:
* *
*
*
f x f xf x f x
f x f x
⎫≈ ⎪ ≈⎬≈ ⎪⎭
Math6911 S08, HM Zhu
5.2.3 Financial Interpretation of Numerical Instability
Chapter 5 Finite Difference Methods
Math6911, S08, HM ZHU
Financial Interpretation of instability(Hall, page 423-4)
2
1 1 1 1 1
1
11
2If and are assumed to be the same at ( ) as they are at ( ), we obtain equations of the form:
(5.3)where
=
i , j j i , j j i , j j i , j
j
f S f S i , ji, j
ˆˆ ˆf a f b f c f
a
+ − + + +
∂ ∂ ∂ ∂ +
= + +
( )
2 2
2 20
2 2
11
1 111 1
1 11 1
1 2 1 0 1 2 1
1 12 2
1 1 2 2
for and
d
j
j u
t j t r jr t r t
b j tr t r t
c t j t r jr t r t
i N - , N - , ..., , j , , ..., M - .
σ π
σ π
σ π
⎛ ⎞∆ − ∆ =⎜ ⎟+ ∆ + ∆⎝ ⎠
= − ∆ =+ ∆ + ∆
⎛ ⎞= ∆ + ∆ =⎜ ⎟+ ∆ + ∆⎝ ⎠= =
Math6911, S08, HM ZHU
Explicit Finite Difference Methods
ƒi , j ƒi +1, j
ƒi +1, j –1
ƒi +1, j +1
These coefficients can be interpreted as probabilities times a discount factor. If one of these probability < 0, instability occurs.
πd
π0
πu
Math6911, S08, HM ZHU
Explicit Finite Difference Method as Trinomial Tree
[ ]
( ) ( )
0
2 220
Check if the mean and variance of the Expected value of the increase in asset price during t: E 0Variance of the increment:
E 0
d u
d
S S rj S t rS t
S S
π π π
π π π
∆
∆ = −∆ + + ∆ = ∆ ∆ = ∆
⎡ ⎤∆ = − ∆ + + ∆⎣ ⎦ ( )
[ ] [ ] ( )
2 2 2 2 2
22 2 2 2 2 2 2 2 Var E E
which is coherent with geometric Brownian motion in a risk-neutral world
u j S t S t
S t r S t S t
σ σ
σ σ
= ∆ ∆ = ∆
⎡ ⎤∆ = ∆ − ∆ = ∆ − ∆ ≈ ∆⎣ ⎦
34Math6911, S08, HM ZHU
Change of Variable
2 2 2
2
2 21 1 1 1 1 1 1 1 1 1 1
2
2 2
22 2 2
Define The B-S equation becomes
The corresponding difference equation is
or
i , j i , j i , j i , j i , j i , j i , ji , j
Z ln S.
f f fr rft Z Z
f f f f f f fr rf
t Z Z
f
σ σ
σ σ+ + + + − + + + − + +
=
⎛ ⎞∂ ∂ ∂+ − + =⎜ ⎟∂ ∂ ∂⎝ ⎠
− − − +⎛ ⎞+ − + =⎜ ⎟∆ ∆ ∆⎝ ⎠
1 1 1 1 1 5 4( )* * *i , j j i , j j i , j j i , jf f f .α β γ+ − + + += + +
35Math6911, S08, HM ZHU
Change of Variable
2 2
2
22
2 2
2
11 2 2 2
1 11
11 2 2 2
3
where
It can be shown that it is numerically most efficient if
*j
*j
*j
t trr t Z Z
tr t Z
t trr t Z Z
Z t .
σ σα
β σ
σ σγ
σ
⎡ ⎤⎛ ⎞ ∆ ∆= − − +⎢ ⎥⎜ ⎟+ ∆ ∆ ∆⎝ ⎠⎣ ⎦
∆⎛ ⎞= −⎜ ⎟+ ∆ ∆⎝ ⎠⎡ ⎤⎛ ⎞ ∆ ∆
= − +⎢ ⎥⎜ ⎟+ ∆ ∆ ∆⎝ ⎠⎣ ⎦
∆ = ∆
36Math6911, S08, HM ZHU
Reduced to Heat Equation
Get rid of the varying coefficients S and S² by using change of variables:
Equation (5.1) becomes heat equation (5.5):
( ) ( ) ( ) ( )
⎟⎠⎞
⎜⎝⎛=
=−==+−−−
2
1411
21
2
21
,,,2,2
σ
τσττ
rk
xueEtSVTtEeSkxkx
2
2 (5.5)
for and 0
u ux
x
∂ ∂∂τ ∂
τ
=
− ∞ < < +∞ >
Math6911, S08, HM ZHU
( )
( )( )
( )( )( ) ( )( )
( )
( ) ⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜
⎝
⎛
==≤≤=
+−+=
++−
=+−
=
+−
−++
−++
δτ
T,...M,mNn-N
uuuu
δxOδτO
δxOδx
uuuδτO δτ
uu
x,mδnuu
mn
mn
mn
mn
mn
mn
mn
mn
mn
mn
2
2
111
2
22
111
21
10 and for ,x
where
21by this
eapproximatcan we, and of termsIgnoring
2
:form theof equations difference finite of system a solving involves this,With
σ
δδτα
ααα
τδ
Explicit Finite Difference Method
38Math6911, S08, HM ZHU
Stability and Convergence(P. Wilmott, et al, Option Pricing)
( )2
1 ,2
: The solution of Eqn (5.5) is
1 1 i) Stable if 0 ; ii) Unstable if 2 2x
:
If 0 then the explicit finite-difference approximation
converges to the exact solution as ,
δτα αδ
α
δτ δ
< = ≤ >
< ≤
Stability
Convergence
( )( )
,mn
x 0 (in the sense that as , x 0)
is O
u u n x mδ δτ δτ δ
δτ
→
→ →
Rate of Convergence
Math6911 S08, HM Zhu
5.3.1 Implicit Finite-Difference Method
Chapter 5 Finite Difference Methods
Math6911, S08, HM ZHU
Implicit Finite Difference Methods
22 2
2
1
1 1
21 1
2 2
12
2
2
,j ,
, ,
, , ,
In , we use
difference:
central difference: ,
and
i i j
i j i j
i j i j i ji , j
f f frS S r ft S S
f fft t
f ffS S
f f ff , rf rfS S
σ
∂∂
∂∂
∂∂
+
+ −
+ −
∂ ∂ ∂+ + =
∂ ∂ ∂−
≈∆
−≈
∆
+ −≈ =
∆
forward
Math6911, S08, HM ZHU
Implicit Finite Difference Methods
( )( )( )
1 1 1
2 2
2 2
2 2
1
, , ,
Rewriting the equation, we get an implicit scheme: = (5.6)where
1 =2
1 2
for
j i j j i j j i j i , j
j
j
j
a f b f c f f
a t j rj
b t j r
c t j rj
σ
σ
σ
− + ++ +
∆ − +
= + ∆ +
= − ∆ +
1 2 1 0 1 2 1 and i N - , N - , ..., , j , , ..., M - .= =
Math6911, S08, HM ZHU
Numerical Computation Dependency
x
x
x
x
t
S
i∆t
j∆S
Smax=M∆S
T=N ∆t00
(i-1)∆t
(j+1)∆S
(j-1)∆S
(i+1)∆t
Implementation
( )1
1 2 3 1 1 0 1
Equation (5.6) can be rewritten in matrix form:5 7
where and are ( 1) dimensional vectors
0 0 0
and is ( 1) ( 1) symmetric
i i i
i iT T
i i , i , i , i ,M i i , M i ,M
.M
f , f , f , f , a f , , , , , c f
M M
+
− −
= +
−
= = − −⎡ ⎤ ⎡ ⎤⎣ ⎦ ⎣ ⎦− × −
Cf f bf b
f b
C
1 1
2 2 2
3 3
2
1 1
matrices0 0
0 0
0 0M
M M
b ca b c
a bc
a b−
− −
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
C
44Math6911, S08, HM ZHU
Implementation
1. Starting with the final values , we need to solve a linear system (5.7) to obtain using LU factorization or iterative methods. We use the boundary condition to determine
2. Repeat the process to determine and so on
N , jf1 for 1 1N , jf j M− ≤ ≤ −
1 0 1 and N , N - ,Mf f .−
2N , jf −
45Math6911, S08, HM ZHU
Example
We compare implicit finite difference solution for a European put with the exact Black-Scholes formula, where T = 5/12 yr, S0=$50, K = $50, σ=30%, r = 10%.
Black-Scholes Price: $2.8446IFD Method with Smax=$100, ∆S=2, ∆t=5/1200: $2.8194IFD Method with Smax=$100, ∆S=1, ∆t=5/4800: $2.8383
46Math6911, S08, HM ZHU
Example (Stability)
We compare implicit finite difference solution for a European put with the exact Black-Scholes formula, where T = 5/12 yr, S0=$50, K = $50, σ=30%, r = 10%.
Black-Scholes Price: $2.8846IFD Method with Smax=$100, ∆S=2, ∆t=5/1200: $2.8288IFD Method with Smax=$100, ∆S=1.5, ∆t=5/1200: $3.1325IFD Method with Smax=$100, ∆S=1, ∆t=5/1200: $2.8348
Math6911, S08, HM ZHU
Implicit vs Explicit Finite Difference Methods
ƒi +1, jƒi , j
ƒi , j –1
ƒi , j +1
Implicit Method
(always stable)
ƒi , j ƒi +1, j
ƒi +1, j –1
ƒi +1, j +1
Explicit Method
48Math6911, S08, HM ZHU
Implicit vs Explicit Finite Difference Method
• The explicit finite difference method is equivalent to the trinomial tree approach:– Truncation error: O(∆t) – Stability: not always
• The implicit finite difference method is equivalent to a multinomial tree approach:– Truncation error: O(∆t) – Stability: always
Math6911, S08, HM ZHU
Other Points on Finite Difference Methods
• It is better to have ln S rather than S as the underlying variable in general
• Improvements over the basic implicit and explicit methods:– Crank-Nicolson method, average of
explicit and implicit FD methods, trying to achieve • Truncation error: O((∆t)2 ) • Stability: always
Math6911 S08, HM Zhu
5.3.2 Solving a linear system using direct methods
Chapter 5 Finite Difference Methods
51Math6911, S08, HM ZHU
Solve Ax=b
A x=b
Various shapes of matrix A
Lower triangular Upper triangular General
Math6911 S08, HM Zhu
5.3.2.A Triangular Solvers
53Math6911, S08, HM ZHU
Example: 3 x 3 upper triangular system
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
2010
100
400110164
3
2
1
xxx
46565*61004
51054/20
1
231
32
3
=∴=−−=⇒
=−=⇒==⇒
xxxx
xxx
54Math6911, S08, HM ZHU
Solve an upper triangular system Ax=b
( )
1,1,
,,1,00 2
1
−=⎟⎟⎠
⎞⎜⎜⎝
⎛−=
=⇒
==+=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
∑
∑
>
>
niaxabx
abx
nibxaxa
x
xx
aa
iiij
jijii
nnnn
iij
jijiii
n
inii …
55Math6911, S08, HM ZHU
Implementation
Function x = UpperTriSolve(A, b)n = length(b); x(n) = b(n)/A(n,n);for i = n-1:-1:1
sum = b(i);for j = i+1:n
sum = sum - A(i,j)*x(j);endx(i) = sum/A(i,i);
end
Math6911 S08, HM Zhu
5.3.2.B Gauss Elimination
57Math6911, S08, HM ZHU
To solve Ax=b for general form A
To solve Ax = b :
Suppose A = LU. Then
Ax = LUx = b
⇓ z
= *
Solve two triangular systems :
1) solve z from Lz = b
2) solve x from Ux = z
58Math6911, S08, HM ZHU
Gauss Elimination = *
Goal: Make A an upper triangular matrix through using
fundamental row operations
For example, to zero the elements in the lower triangular part of A
1) Zero a21
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−−=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
333231
11
132123
11
122122
131211
333231
232221
131211
11
21 0
100
01001
aaaa
aaaa
aaa
aaa
aaaaaaaaa
aa
⇓E 21A
59Math6911, S08, HM ZHU
Gauss Elimination = *
2) Zero a31
11 12 13 11 12 13
21 13 21 1321 12 21 1222 23 22 23
11 11 11 1131
31 32 33 31 12 31 1311 32 33
11 11
1 0 00 1 0 0 0
0 10
a a a a a aa a a aa a a aa a a a
a a a aa
a a a a a a aa a aa a
⎡ ⎤⎡ ⎤ ⎢ ⎥⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥− − = − −⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥− ⎢ ⎥⎣ ⎦⎢ ⎥ − −⎢ ⎥⎣ ⎦
⎣ ⎦
11 12 13
22 23
32 33
00
= a a a
a aa a
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
⇓E 31 E 21A
60Math6911, S08, HM ZHU
Gauss Elimination = *
3) Zero
11 12 13 11 12 13
22 23 22 23
32 32 33 32 2333
22 22
1 0 00 1 0 0 0
00 1 0 0
a a a a a aa a a a
a a a a aaa a
⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ = ≡⎢ ⎥ ⎢ ⎥⎢ ⎥⎢ ⎥ ⎢ ⎥⎢ ⎥⎣ ⎦⎢ ⎥ ⎢ ⎥− −⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦
U
32a
⇓E 32 E 31 E 21A = U
⇓lower triangular
61Math6911, S08, HM ZHU
Gauss Elimination = *
Claim 1: 21
32 31 2111
31 32
11 22
1 0 0
1 0
1
aaa aa a
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥
= −⎢ ⎥⎢ ⎥⎢ ⎥
− −⎢ ⎥⎣ ⎦
E E E
Claim 2:
( ) 1 2132 31 21
11
31 32
11 22
1 0 0
1 0
1
aaa aa a
−
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥
= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
E E E
62Math6911, S08, HM ZHU
LU Factorization = *
Therefore, through Gauss Elimination, we have
E 32 E 31 E 21A = U
A = E 32 E 31 E 21( )−1U
A = LU
It is called LU factorization. When A is symmetric,
which is called Cholesky DecompositionT=A LL
63Math6911, S08, HM ZHU
To solve Ax=b for general form A
To solve Ax = b becomes
1) Use Gauss elimination to make A upper triangular, i.e.
L−1Ax = L−1b ⇒ Ux = z
2) Solve x from Ux = z
This suggests that when doing Gauss elimination, we can do it
to the augmented matrix A b[ ] associated with the linear system.
64Math6911, S08, HM ZHU
An exercise
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−−
−
400
21121
12
3
2
1
xxx
% build the matrix A A = [2, -1, 0; -1, 2, -1; 0, -1, 2]
% build the vector b x_true = [1:3]'; b = A * x_true;
% lu decomposition of A [l, u] = lu(A)
% solve z from lz = b where z = ux z = l\b;
% solve x from ux = z x = u\z
65Math6911, S08, HM ZHU
General Gauss Elimination
row i
row j -a ji
aii
∗row i
66Math6911, S08, HM ZHU
What if we have zero or very small diagonal elements?
LUPA
LUA
PA
A
=⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=
=⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡
⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡=
⎥⎦
⎤⎢⎣
⎡
.9999011
10.000101
1110.0001
0110
9999-010.0001
110,00001
1110.0001
=
1032
3210
0110
3210
=
exampleFor pivoting. partial
called is This LU.=PA i.e., stably, computedor computed becan neliminatio Gauss that soA of rows permute toneed weSomtimes,
67Math6911, S08, HM ZHU
Can we always have A = LU?
( )( )1 1 0 1 1nxn
No!If : , : for = ,..., - ,
then A has an LU factorization. Proof: See Golub and Loan, Matrix Computation, 3rd edition
det k k k n≠
∈
A
R
Math6911 S08, HM Zhu
Chapter 5 Finite Difference Methods
5.4.1 Crank-Nicolson Method
Math6911, S08, HM ZHU
Explicit Finite Difference Methods
( )
( )
( )( )
22 2
2
1
21 1 1 1 1 1 1 1 12 22
21
12
212 2
W ith ,
we can obtain an explicite form:
i , j i , j
i , j i , j i , j i , j i , j
i , j
f f frS S rft S S
f fO t
tf f f f f
rj S j SS S
rf O S
σ
σ
+
+ + + − + + + − +
+
∂ ∂ ∂+ + =
∂ ∂ ∂
−+ ∆ =
∆− + −
− ∆ − ∆∆ ∆
+ + ∆
Math6911, S08, HM ZHU
Implicit Finite Difference Methods
( )
( )
( )( )
22 2
2
1
21 1 1 12 22
2
12
212 2
W ith ,
we can obtain an implicit form :
i , j i , j
i , j i , j i , j i , j i , j
i , j
f f frS S r ft S S
f fO t
tf f f f f
rj S j SS S
rf O S
σ
σ
+
+ − + −
∂ ∂ ∂+ + =
∂ ∂ ∂
−+ ∆ =
∆− + −
− ∆ − ∆∆ ∆
+ + ∆
Math6911, S08, HM ZHU
Crank-Nicolson Methods: average of explicit and implicit methods(Brandmarte, p485)
( )( )
( )
( ) ( )( )
21
1 1 1 1 1 1
2 1 1 1 1 1 1 12 22 2
21
2 2 2
2 214
2
i , j i , j
i , j i , j i , j i , j
i , j i , j i , j i , j i , j i , j
i , j i , j
f fO t
tf f f frj S
S S
f f f f f fj S
S Sr f f O S
σ
+
+ + + − + −
+ + + − + + −
+
−+ ∆ =
∆− −⎛ ⎞∆
− +⎜ ⎟∆ ∆⎝ ⎠+ − + −⎛ ⎞
− ∆ +⎜ ⎟∆ ∆⎝ ⎠
+ + + ∆
Math6911, S08, HM ZHU
Crank-Nicolson Methods
( )( )
( )
1 1
1 1 1 1 1
2 2
1
1
R ew riting the equa tion , w e ge t an C rank-N ico lson schem e:
(5 .5 )
w here
=4
j i , j j i , j j i , j
j i , j j i , j j i , j
j
j
f f f
f f f
t j rj
α β γ
α β γ
α σ
β
− +
+ − + + +
− + − − =
+ + +
∆−
= − ( )
( )
2 2
2 2
2
1 2 1 0 1 2 1
4
fo r and
j
t j r
t j rj
i N - , N - , ..., , j , , ..., M - .
σ
γ σ
∆+
∆= +
= =
Math6911, S08, HM ZHU
Numerical Computation Dependency
x
x
x
x
t
S
i∆t
j∆S
Smax=M∆S
T=N ∆t00
(i-1)∆t
(j+1)∆S
(j-1)∆S
(i+1)∆t
x
x
x
x
Implementation
( ) ( )
1 2 1
1 2 3 1
1 0 1 0 1 1
1 2
1
0
Equation (5.5) can be rewritten in matrix form:
where and are ( ) dimensional vectors
and and are (
i i
i iT
i i , i , i , i ,M
T
i , i , M i ,M i ,M
M
f , f , f , f ,
f f , , f f
M
α γ
+
−
+ − +
= +
−
= ⎡ ⎤⎣ ⎦
⎡ ⎤= + +⎣ ⎦−
M f M f bf b
f
b
M M
1 1
2 2 2
1 3
2
1 1
1 11 0 0
1 00
0 0 1
) ( ) symmetric matrices
M
M M
Mβ γ
α β γα
γα β
−
− −
× −
− −⎡ ⎤⎢ ⎥− −⎢ ⎥⎢ ⎥=⎢ ⎥−⎢ ⎥⎢ ⎥− −⎣ ⎦
M
75Math6911, S08, HM ZHU
Implementation
1 1
2 2 2
2 3
2
1 1
and 1 0 0
1 00
0 0 1M
M M
β γα β γ
αγ
α β−
− −
+⎡ ⎤⎢ ⎥+⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥+⎣ ⎦
M
76Math6911, S08, HM ZHU
Example
We compare Crank-Nicolson Methods for a European put with the exact Black-Scholes formula, where T = 5/12 yr, S0=$50, K = $50, σ=30%, r = 10%.
Black-Scholes Price: $2.8446CN Method with Smax=$100, ∆S=2, ∆t=5/1200: $2.8241CN Method with Smax=$100, ∆S=1, ∆t=5/4800: $2.8395
77Math6911, S08, HM ZHU
Example (Stability)
We compare Crank-Nicolson Method for a European put with the exact Black-Scholes formula, where T = 5/12 yr, S0=$50, K = $50, σ=30%, r = 10%.
Black-Scholes Price: $2.8446CN Method with Smax=$100, ∆S=1.5, ∆t=5/1200: $3.1370CN Method with Smax=$100, ∆S=1, ∆t=5/1200: $2.8395
78Math6911, S08, HM ZHU
Example: Barrier Options
Barrier options are options where the payoff depends on whether the underlying asset’s price reaches a certain level during a certain period of time.
Types: knock-out: option ceases to exist when the asset price reaches a barrierKnock-in: option comes into existence when the asset price reaches a barrier
79Math6911, S08, HM ZHU
Example: Barrier Option
We compare Crank-Nicolson Method for a European down-and-out put, where T = 5/12 yr, S0=$50, K = $50, Sb=$50 σ=40%, r = 10%.
What are the boundary conditions for S?
80Math6911, S08, HM ZHU
Example: Barrier Option
We compare Crank-Nicolson Method for a European down-and-out put, where T = 5/12 yr, S0=$50, K = $50, Sb=$50 σ=40%, r = 10%.
Boundary conditions are
Exact Price (Hall, p533-535): $0.5424CN Method with Smax=$100, ∆S=0.5, ∆t=1/1200: $0.5414
( ) ( )0 0 and max bf t ,S f t ,S= =
Math6911 S08, HM Zhu
Appendix A.
Matrix Norms
82Math6911, S08, HM ZHU
Vector Norms
( )
??, ?, 3]. 1- 4 [2 example,For
max
normEuclidean theis 2p
norm a define to ways variousare There -any for
any for
0 iff 0 ;any for 0
s.t. number real a to mappingfunction a is normA vector -matrix aor vector a oflength themeasure way toa as serve Norms -
21
1
1
1
n
====−
≡
=⎟⎠
⎞⎜⎝
⎛≡
ℜ∈+≤+•
ℜ∈=•
==≠>•
ℜ∈
∞
≤≤∞
=∑
vvvv
x
x
yxyxyx
xx
xx0xx
xx
ini
pn
i
pip
n
x
x
,
ccc
Matrix Norms
( )( ) { }BB
AAA
AA
Ax
AxA
BABABA
AA
0A0A0AA
AA
x
of eigenvaluean is :max
wherenorm, spectral the,
maxmax
sup
normsmatrix usedcommonly Various -any for
any for
iff ;any for 0
s.t. number real a to mappingfunction a is normmatrix a Similarly, -
2
11111
21
1 1
2
0
nm
kk
T
n
jij
mi
m
iij
nj
m
i
n
jijF
p
pp
nm
aa
a
,
ccc
λλρ
ρ
≡
≡
≡≡
⎟⎟⎠
⎞⎜⎜⎝
⎛≡≡
ℜ∈+≤+•
ℜ∈=•
==≠>•
ℜ∈
∑∑
∑∑
=≤≤∞
=≤≤
= =≠
×
×
84Math6911, S08, HM ZHU
An Example
??
??
132513142
1
2
==
==
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
−=
∞
FAA
AA
A
85Math6911, S08, HM ZHU
Basic Properties of Norms
.5
.4
number real a is where .3
.2
0 and ;0 .1Then . and Let
BABA
xAAx
xx
yxyx
0xxxyx,B A,
≤
≤
=
+≤+
=⇔=≥
ℜ∈ℜ∈ ×
ααα
nnn
86Math6911, S08, HM ZHU
Condition number of a square matrix
( )n m n
n n1 2
1 2
1
All norms in are equivalent. That is, if and are norms
on then 0 such that for all we have
: , where A
The
n n
, c ,c ,c c
C .
α β
α β α
×
− ×
ℜ ℜ • •
ℜ ∃ > ∈ℜ
≤ ≤
≡ ∈ℜ
xx x x
Condition Number of A Matrix A A
condition number gives a measure of how close a matrix is close to singular. The bigger the C, the harder it is to solve .Ax = b
87Math6911, S08, HM ZHU
- vectors xk converges to x ⇔ xk − x converges to 0
- matrix Ak → 0 ⇔ A k − 0 → 0
Convergence
Math6911 S08, HM Zhu
Appendix B.
Basic Row Operations
89Math6911, S08, HM ZHU
Basic row operations = *
Three kinds of basic row operations:
1) Interchange the order of two rows or (equations)
0 1 0
1 0 0
0 0 1
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
a11 a12 a13
a21 a22 a23
a31 a32 a33
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=a21 a22 a23
a11 a12 a13
a31 a32 a33
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
90Math6911, S08, HM ZHU
Basic row operations = *
2) Multiply a row by a nonzero constant
3) Add or subtract rows
c 0 0
0 1 0
0 0 1
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
a11 a12 a13
a21 a22 a23
a31 a32 a33
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=ca11 ca12 ca13
a21 a22 a23
a31 a32 a33
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
1 0 0
−1 1 0
0 0 1
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
a11 a12 a13
a21 a22 a23
a31 a32 a33
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥
=a11 a12 a13
a21 − a11 a22 −a12 a23 −a13
a31 a32 a33
⎡
⎣
⎢ ⎢ ⎢
⎤
⎦
⎥ ⎥ ⎥