Académique Documents
Professionnel Documents
Culture Documents
The model has made option pricing accessible to MBA students and Önance
practitioners preparing for the CFA: It is a very useful tool for conveying the
ideas of delta hedging and no arbitrage, in addition to the subtle concept of risk
neutrality and option pricing. Here the model is considered in a slightly more
mathematical way. The basic assumptions in option pricing theory consist of
two forms, key:
! No arbitrage opportunities
and relaxable
1
! Perfect liquidity
! an assetís worth can change to one of only two possible new values at
each time step.
2
Suppose the share price in íTrump Independent Tradersí today is 100p, on
GSE (Geniusís Stock Exchange). We write a call option on these shares with
a strike of 100p that expires tomorrow. Tomorrowís share price will be either
Method 1: Calculate the expected value of the call. If the share is 101p then
we exercise the option for 100p to obtain a 1p proÖt. On the other hand if the
share is 99p tomorrow then the option is worthless. The expected value is
3
Method 2: Set up a portfolio ! consisting of a long position in a call option
and short the shares
! = C # "S:
C is the value of the call; " the number of shares; S is the stock price of
Trump Independent Traders.
The delta means there is one degree of freedom so arrange the above so that
at T , the portfolio has the same value regardless if S = 101p or S = 99p.
C = 1p if S = 101p
C = 0p if S = 99p
=)
)
4
thus equating the 2 expressions for ! gives
1 # "101 = #"99
" = 12 ; ! = C # "S = #49:50p
So tomorrow the portfolio takes the value #49:50p regardless of whether the
stock rises or falls. We have created a perfectly risk free portfolio. If the
portfolio is worth #49:50p tomorrow, and interest rates are zero, how much
is the portfolio worth today? It must also be worth this amount today - this is
an example of no arbitrage. There are two ways to ensure we have #49:50p.
5
So we calculate the option value by writing
1 1
C#
2
" 100 = # " 99
2
C = 21
So clearly the part of the model we didnít need was the probability of the stock
rising or falling. This is saying that when option pricing the stock growing or
decreasing in value is irrelevant, i.e. the stock growth rate. This is because
we have hedged the option with the stock. Whilst we are not interested in the
direction that the stock moves, we do care about the stock price range (101
and 99), as that is related to the volatility. The larger the vol, the greater that
range is. Later we will see that the drift does not appear in the model when
pricing derivatives.
Example: A share price is currently £80. At the end of three months, it will be
either £84 or £76. Ignoring interest rates, calculate the value of a three-month
European call option with exercise price £79.
6
Binomial tree for share price is
84
80
76
Now set up a Black-Scholes hedged portfolio, V # "S , then binomial tree for
its value is
5 # 84"
V # 80"
#76"
7
For risk-free portfolio choose " such that 5 # 84" = #76" ) " = 58 . So
in absence of arbitrage, V # 80" = #76", and V = 2:5.
8
Earlier we had
1 # "101 = #"99
" =
1#0
= 12
101 # 99
Note it is purely a coincident in this example that delta has the same value as
the option. Note
Range of option payo§s
=
V+#V#
"= +
S # S# Range of stock prices
This model is discrete time, discrete stock. When we go to continuous time
continuous stock delta " will become @V @S :
9
Now discount tomorrowís value to get to todays
So the portfolio value today must be the Present Value of the portfolio value
tomorrow.
Consider a portfolio !; long an option and short " assets. V & denotes the
option value corresponding to asset price S & :
S+ V+
S % V %
& S# & V#
! = V # "S
10
At time T there are two possible outcomes:
! # = V # # "S #
! + = V + # "S +
Choosing " so !# = !+ gives
V+#V#
"= +
S # S#
This choice of " makes ! risk-free, so no-arbitrage suggests that the return
on ! equal the risk-free rate, i.e.
erT ! = !# = !+
+ #
= S
V #V #
V # # "S # = V # #
!
S+ # S#
V # +
S #S # #
#S V #V+ #
=
$ % $ %
S+ # S#
= :
V #S + # S #V +
+
S #S #
11
Hence we can write
=
V #S + # S #V +
erT (V # "S )
S+ # S#
# + # + + #
erT V =
V S #S V
+
V #V
Se rT
+
!
# S+ # S#
erT S # S # + + rT
= V + V
S #e S #
$ S #S % !
S+ # S# S+ # S#
= qV + + (1 # q ) V #
and Önally we can write
V = e#rT qV + + (1 # q ) V #
$ %
where we deÖne
erT S # S #
q=
$ %
S+ # S#
with 0 < q < 1:
12
If compounding is discrete
(1 + rT ) S0 # S #
q=
$ %
S+ # S#
and the option price becomes
V = (1 # rT ) qV + + (1 # q ) V # :
$ %
13
Example: A share price is currently £63. At the end of each three-month
period, it will change by going up £3 or going down £3. Calculate the value of
a six-month European put option with strike price £61. The risk-free interest
rate is 4% per annum with continuous compounding.
14
If we set up a Black-Scholes delta hedged portfolio P1 # "1S; for P1; then
the binomial tree for its value is
#69"1
%
P1 # 66"1
&
#63"1
For a risk-free portfolio, we choose "1 s.t. #69"1 = #63"1; i.e. "1 = 0:
Then in the absence of arbitrage it must earn at the risk-free interest-rate and
P1 # 66"1 = e#0:04"(3=12) (#69"1) ! P1 = 0:
If we set up a Black-Scholes delta hedged portfolio P2 # "2S; for P2; then
the binomial tree for its value is
#63"2
%
P2 # 60"2
&
4 # 57"2
15
For a risk-free portfolio, we choose "2 s.t. #63"2 = 4 # 57"2; i.e. "2 =
#2=3: Then in the absence of arbitrage it must earn at the risk-free interest-
rate and
P1 # 66"
%
P # 63"
&
P2 # 60"
For a risk-free portfolio, we choose " s.t.
=
P1 # P2 #P2
P1 # 66" = P2 # 60" ! " =
6 6
= #0:263:
16
Then in an arbitrage free market, the portfolio earns at the risk-free rate
17
The one period model - Replication
18
Stock su Option: xu
% %
s V
& &
sd xd
t=0 t=1 t=0 t=1
dBt = rBtdt; B0 = 1:
Integrating over [t; T ] ; where t = 0; T = 1 gives B1 = er :
19
have an initial value of
! = 7s +
Now with this money we can buy or sell bonds or stocks in order to obtain
a new portfolio at time-step 1: At this new time-step there exist two possible
outcomes
!+ = 7su + er
!# = 7sd + er
! + = xu ; ! # = xd
Can we construct a hedging strategy which will guarantee to pay o§ the option,
whatever happens to the asset price?
20
The Hedging Strategy
We arrange the portfolio so that its value is exactly that of the required option
pay-out at the terminal time regardless of whether the stock moves up or down.
This is because having two unknowns 7; ; the amount of stock and bond,
and we wish to match the two possible terminal values, xu; xd; the option
payo§s. Thus we need to have
xu = 7su + er ;
xd = 7sd + er :
Subtracting the two expressions and rearranging gives
7= :
x u # xd
su # sd
Then substituting for 7 in either equation yields
x s u # xu s d
= e#r d
su # sd
21
This is a hedging strategy.
su # sd su # sd
22
DeÖne
q= ;
er s # sd
su # sd
then we conclude that
The option price can be viewed as the discounted expected value of the option
pay-o§ X with respect to the probabilities q;
V (1 # q ) xd)
= Eq e#r X :
= e#rh (qxu +
i
23
The fact that the risk neutral/fair value (or q#value) of a call is less than the
expected value of the call (under the real probability p), is not a puzzle.
Pricing a call using the real probability, p, you will probably make a proÖt, but
you might also might make a loss. Pricing an option using the risk-neutral
probability, q , you will certainly make neither a proÖt nor a loss.
24
Example: A stock is currently trading at 100: In one year it will have risen
to 103 or fallen to 98. If interest rates are zero, use a replicating strategy to
price a one year call option with strike K = 100:
Asset:
103 S (1) > 100
% Payo§ = 3
S (0) = 100
&
98 S (1) < 100
Payo§ = 0
Option:
V1 = 3
%
V0
&
V2 = 0
25
7 stocks and units of bonds.
1037 + = 3
987 + = 0
! 7 = 3=5; = #294=5
)
300 294
) V0 = S (0) " 7 + "1= = 1:2
5
#
5
q (up) = ; q (down) =
erts # sd su # erts
su # sd su # sd
where r = 0:
! 1 100 103
2
=
100 # 98
q (! 1) =
103 # 98 5
! 2 100 98
3
=
103 # 100
q (! 2 ) =
103 # 98 5
26
So the risk neutral probabilities are
2 3
;
5 5
) *
where r = 0; t = 0; T = 1;
EQ [X ] = q (! i ) X (! i )
!
X
2 3
=
5
" 3 + " 0 = 1:2
5
27
Using Sample Paths
A binary option (also called a digital option) pays one dollar at time t = T if
the asset price is above a Öxed strike level K and is worthless otherwise.
28
Asset:
11 S (2) > K Payo§ = 1
%
7
% &
S (0) = 4 6 S (2) > K Payo§ = 1
& %
3
&
1 S (2) < K Payo§ = 0
29
Option:
1
%
V1
% &
V0 1
& %
V2
&
0
Replicate backwards over each time period ísub-modelí:
Stock 11 Option: 1
% %
7 V1
& &
6 1
30
Replicate with 7 units of stock and units of bonds/riskless asset: V =
7S + ert
117 + = 1
=1
67 + = 1
! 7 = 0;
)
Stock 6 Option: 1
% %
3 V2
& &
1 0
Replicate with 7 units of stock and units of bonds/riskless asset: V =
7S + ert
67 + = 1
7+ =0
! 7 = 15 ; = # 15
)
31
Stock 7 Option: 1
% %
4 V0
& &
3 0:4
Replicate with 7 units of stock and units of bonds/riskless asset: V =
7S + ert
77 + = 1
37 + = 0:4
! 7 = 0:15; = #0:05
)
Now calculate the risk-neutral probabilities and use these to validate the option
price calculated above.
32
q (up) = ; q (down) =
erts # sd su # erts
su # sd su # sd
where r = 0:
! 1 4 7 11
1
=
4#3 7#6
q (! 1) = "
7 # 3 11 # 6 20
!2 4 7 6
1
=
4 # 3 11 # 7
q (! 2 ) = "
7 # 3 11 # 6 5
!3 4 3 6
3
=
7#4 3#1
q (! 3 ) = "
7#3 6#1 10
33
!4 4 3 1
9
=
7#4 6#3
q (! 4 ) = "
7#3 6#1 20
So the expected value (under the risk-neutral probabilities/measure) is
Q
E e #r(T #t) X
h i
where r = 0; t = 0; T = 1;
EQ [X ] = q (! i ) X (! i )
!
X
1 1 3 9
=
20
"1+ "1+
5 10
"1+
20
"0
= 0:55
hence veriÖed.
34
Binomial Model II
Assume an asset which has value S and during a time step <t can either rise
to uS or fall to vS with 0 < v < 1 < u: So as earlier probabilities of a rise
and fall in turn are p and 1 # p:
uS
%
S
&
vS
<t
| {z }
V +"uS
%
V # "S
&
V #"vS
<t
| {z }
35
Also set uv = 1 so that after an up and down move, the asset returns to S:
To implement the Binomial model we need a model for asset price evolution
p
to predict future possible spot prices. So use <S = >S<t + ?S7 <t: The
3 constants u; v; p are chosen to give the binomial model the same drift and
di§usion as the SDE. For the correct drift, choose
pu + (1 # p) v = e><t (a)
and for the correct standard deviation set
2
pu2 + (1 # p) v 2 = e(2>+? )<t (b)
36
(u + v ) e><t = pu2 + uv # puv + pvu + v 2 # pv 2:
Rearrange to get
(u + v ) e><t = pu2 + + (1 # p) v 2 + uv
2
and we know from (b) that pu2 + (1 # p) v 2 = e(2>+? )<t and uv = 1:
Hence we have
37
We have
2 b
a
(u + v ) = e#><t + e(>+? )<t + #
c
a
uv = 1 +
hence u and v satisfy
(x # u) (x # v ) = 0
to give the quadratic
x2 # (u + v ) x + uv = 0 )
(u + v ) & (u + v )2 # 4uv
x=
q
2
so with u > 1
38
In this model, the hedging argument gives
V + # "uS = V # # "vS
which leads to " = : Because all other terms are known choose "
V+#V#
(u # v ) S
to eliminate risk.
(1 + r<t) V = V +
#v + 1 + r<t u # 1 # r<t
+V#
! !
(u # v ) (u # v )
39
where the risk-neutral probabilities are
q =
#v + 1 + r<t
(u # v )
:
u # 1 # r<t
1#q =
(u # v )
So (1 + r<t) V = V +q + V # (1 # q ) :
Finally we have
V = +
V+#V# uV # # vV +
(u # v ) (1 + r<t) (u # v )
With continuous compounding we have
q =
er<t # v
(u # v )
u # er<t
1#q =
(u # v )
40
The Continuous Time Limit
u , 2
2
(1 # ><t + - - - ) + 1 + > + ? <t + - - - +
1$ $ $ % %%
2 2 2
e
1 #2><t
2
+ 2e? <t + e2(>+? )<t # 4
) *1
1 2 2 2
= 1 + ? <t + - - - + 1 # 2><t + 2 + 2? <t + 1 + 2><t + 2? <t # 4 + - - -
2 2
) *
1$ %
1 2
= 1 + ? <t + - - - +
2 2
4? <t + - - - 2
) *
1$ 2 %1
3
Ignoring the terms of order <t 2 and higher we get the result
1 1 2
= 1+ ?<t 2 + ? <t + - - -
2
) *
41
Since uv = 1 this implies that v = u#1. Using the expansion for u obtained
earlier we have
1 1 2
v = 1+ ?<t 2 + ? <t + - - -
2
) *#1
1 1 1
= 1+ ?<t 2 1 + ?<t 2 - - -
2
) ) * *#1
1 1 1 1 1 1
= 1# ?<t 2 1+ ?<t 2 + ?<t 2 1+ ?<t 2
2 2
+ ---
) * ) *2 !!
1 1
= 1 # ?<t 2 # ? 2<t + ? 2<t + - - -
2
1 1
= 1 # ?<t 2 + ? 2<t
2
42
So we have
1p
u , 1 + ? <t + ? 2<t
2
p 1
v , 1 # ? <t + ? 2<t
2
So to summarise we can write
p
u = ?
e p <t
v = e#? <t
q =
er<t # v
(u # v )
and use these to build the asset price tree using u and v; and then value the
option backwards from T using
er<tV (S; t) = qV (uS; t + <t) + (1 # q ) V (vS; t + <t)
and at each stage the hedge ratio " is obtained using
"= =
V+#V# V (uS; t + <t) # V (vS; t + <t)
(u # v ) S (u # v ) S
43
Now expand
@V p @V 1 2 2 @ 2V
V+ + ? <tS + 2 ? <tS ;
@t @S @S 2
= V (uS; t + <t) , V + <t
@V p @V 1 2 2 @ 2V
V # + 2 ? <tS :
@t @S @S 2
= V (vS; t + <t) , V + <t # ? <tS
Note that
p
2? <tS @V @V
"=
V+#V#
p @S =
@S
,
(u # v ) S 2? <tS
Then
V = +
V+#V# uV # # vV +
(u # v ) (1 + r<t) (u # v )
p
2? <tS @V 1 + ? <t V # 1 # ? <t V
= +
$ p % # $ p % +
p p
2? <t @S (1 + r<t) 2? <t
44
Rearranging to give
+ +
p p
(1 + r<t) 2? <tV = 2? <tS (1 + r<t) ;
@S
+ V # V +? <t V + V
@V $ # % p $ # %
and so
p p @V p @V
(1 + r<t) 2? <tV = 2? <tS (1 + r<t) +
@S
# 2? <tS
p 1 2 2 @ 2V @V
2? <t V + 2 ? <tS 2
+ <t ;
@S @t
@S!
@V @V @ 2V @V
(1 + r<t) V = S (1 + r<t) + V + 12 ? 2<tS 2 2 + <t ;
@S @S @S @t
#S
!
45
Finite Di§erence Methods
Model Problem
Consider the following Black-Scholes pricing problem for the value of a Euro-
pean Call Option V = V (S; t) :
@V 1 2 2 @ 2V @V
+ & S 2
+ ( r D ) S
@t 2 @S @S
! ! rV = 0
V (0; t) = 0
S!1
lim V (S; t) ! S
V (S; T ) = max (S ! E; 0) ;
S 2 [0; 1) ; t 2 [0; T ]
46
The problem is to be solved over the following region:
S
Boundary
Condition
Final
Condition
t
Boundary
Condition
47
V (S; t) = V (n,S; m,t) = Vnm: ,S = S %=N where S % & E is a suitably
large value of S ; ,t = T =M:
S = n,S 0'n'N
t = m,t 0 ' m ' M:
48
Taylor Series Approximations
We begin with the Taylor-series approximations for the 1st and 2nd order
derivatives:
@V @V 1 @ 2V 2
V (S; t) + ,S + ,t + ,S
@S @t 2 @S 2
1 @ 2V 2 @ 2V 3 3
+ 2
,t + ,S,t + O ,S ; ,t
2 @t @S@t
! "
Consider
@V 2
V (S; t + ,t) = V (S; t) + ,t + O ,t
@t
! "
49
and rearranging gives a forward di§erence
@V
= + O (,t) :
V (S; t + ,t) ! V (S; t)
@t ,t
Let us use a backward time di§erence
@V
= + O (,t) ;
V (S; t) ! V (S; t ! ,t)
@t ,t
which becomes, in Önite di§erence form
@V
:
Vnm ! Vnm!1
@t ,t
(n,S; m,t) (
We now derive approximations for derivative terms involving S: Start by
considering V at S + ,S and S ! ,S
@V 1 @ 2V 2 3
V (S + ,S; t) = V (S; t) + ,S + ,S + O ,S (1)
@S 2 @S 2
! "
@V 1 @ 2V 2 3
,S + (2)
@S
V (S ! ,S; t) = V (S; t) !
2 @S 2
,S ! O ,S
! "
50
(1) ! (2) gives
@V 3
,S + O ,S
@S
V (S + ,S; t) ! V (S ! ,S; t) = 2
! "
and hence
@ 2V V (S+,S; t)!2V (S;t)+V (S!,S; t) 2
= ,S 2
+ O ,S
@S 2
! "
51
and hence a Önite di§erence approximation for the second derivative
@ 2V Vn!1 n n+1
m ! 2V m + V m
2
(n,S; m,t) = + O ,S
@S 2 ,S 2
! "
@V @V Vn+1 n!1
m !V m
; ; (3)
Vnm !Vnm!1
@t ( ,t @S ( 2,S
@ 2V Vn!1 n n+1
m !2V m +V m
@S 2
( ,S 2
2 n+1
1 (r ! D ) n V m ! V m
n!1 ! rVn
! "
= 0
52
and rearrange to obtain a backward marching scheme in time
m!1
Vn m m
= Vn + ,t n & Vn!1 ! 2Vn + Vn+1m
2
# $
1 2 2! m "
1 m
+,t m !Vm
(r ! D) n Vn+1 n!1 ! rVn
# ! " $
m m
) F Vn!1; Vn ; Vn+1m
! 2 "
Now for the RHS collect coe¢cients of each variable term V; to get
m +5 Vm+6 Vm (4)
Vnm!1 = 4nVn!1 n n n n+1
where
2 2
5 n = 1 ! r + n & ,t;
2 ! "
6n =
2
n & + n (r ! D) ,t
1! 2 2 "
53
(4) is a linear di§erence equation. We will use this to march backwards in
time, i.e. given a solution at time step m we can use (4) to approximate
a solution at the next time step (m ! 1) :The di§erence equation (4) is not
valid at the boundaries.
Boundary conditions:
54
The problem arises at n = N: We cannot use our di§erence equation at the
boundary, as we end up with a term VNm+1, which is not deÖned. So we use
the gamma condition mentioned above.
Vn!1 n n+1
m ! 2V m + V m
= 0; which upon rearranging gives at
,S 2
We know 4 (
n=N
VNm+1 = 2VNm ! VNm!1
and substituting in the di§erence equation gives
55
In summary, the scheme is
Vnm!1 = m
4nVn!1 + 5 nVnm m
+ 6 nVn+1
D.E
)
M > m + 1; 1'n'N !1
VnM
Final Payo§ Condition
= max (n,S ! E; 0)
)
0 ' n ' N;
=
V0m!1 5 0V0m
BC at (S = 0)
)
M +m+1
VNm!1 = + (5 N + 26 N ) VNm
BC at S %
(4N ! 6 N ) VNm!1
S = N ,S
)
M + m + 1;
56
Fourier Stability (Von Neumannís) Method
A method is called step-wise unstable if for a Öxed grid (i.e. ,t; ,S constant)
there exists an initial perturbation which "blows up" as t ! 1; i.e. as we
march in time. Here in a backward marching scheme we have t ! 0 (m ! 0) :
The question we wish to answer is "do small errors propagate along the grid
and grow exponentially?". We hope not!
where Enm is the associated error. Then Enm also satisÖes the di§erence
Vbnm = Vnm + Enm
57
Put
Enm = am exp (in! ) (6)
which is oscillatory of amplitude a and frequency !: Substituting (6) into
(4) gives
am!1e(in!) = 4namei(n!1)! + 5 namein! + 6 namei(n+1)!
which becomes
a!1 = 4ne!i! + 5 n + 6 nei! :
Now stability criteria arises from the balancing of the time dependency and
di§usion terms, so that
@V 1 2 2 @ 2V
+ & S 2
=0
@t 2 @S
From (5) we take the following contributions
1 1
4n = n2& 2,t; 5 n = 1 ! n2& 2,t; 6 n = n2& 2,t
2 2
58
a!1 = n & ,t e + e !i!
2
+ 1 ! n2& 2,t
1 2 2 ! i! "
!
2
' '
' '
1
(7)
& N
,t ' 2 2
so ,t ( O N !2 :
! "
The beauty of the explicit method lies in its simplicity, both in numerical and
computational terms.
59
However, the main disadvantage is associated with the stability criteria, given
by (7) :
1
Given that ,t = O 2
; we see that the accuracy can be improved by
N
# $
60
Variable Parameters
There are a number of parameters in the BSE, which need not be constant.
FDM can easily handle problems involving non-constant parameters. Suppose
the volatility, dividend yield and interest rates are functions of asset price and
time, such that the pricing equation becomes
@V 2
@t @S = r (t) V:
+ 12 & (S; t)2 S 2 @@SV2 + (r (t) ! D (S; t)) S @V
m 2 2
5 n = 1 ! rn + (& n ) n ,t;
2 ! "
6n = m
2
(& n ) n + (rn ! Dn ) n ,t
1! m 2 2 "
61
Early Exercise Feature - American Options
If we can exercise an option during some time interval, before its expiry date,
then the no-arbitrage argument tells us that the value of the option V can
not be less than the payo§ P (S; t) during that time period, so
V + P (S; t) :
62
This strategy of checking the early exercise constraint is called the cuto§
method. Thus the explicit FDM can be expressed in compact form as
m +5 Vm+6 Vm
Unm!1 = 4nVn!1 n n n n+1
Unm!1
=
if Unm!1 + Pnm!1
Vnm!1
(
63
Implicit Finite Di§erence Approximations
By using the same notation as in the explicit case we will obtain an implicit
di§erence method for the Black-Scholes equation.
64
We begin with the Taylor-series approximations for the 1st and 2nd order deriv-
atives, where V (S; t) = V (n,S; m,t) = Vnm :
@V
+ O (,t) ;
Vnm ! Vnm!1
@t ,t
(
m!1 m!1
@V Vn+1 ! Vn!1 2
+ O ,S ;
@S
(
2,S
! "
m!1 m!1
@ 2V Vn!1 ! 2Vnm!1 + Vn+1 2
2 2
+ O ,S
@S ,S
(
! "
cn = ! & n + n (r ! D) ,t (9)
2
1! 2 2 "
65
This expression is accurate to 2
O ,S ; ,t :
! "
The chief attraction of this method lies in its instability - it is stable for all
values of ,t and we call this scheme unconditionally stable.
As we know Vnm before Vnm!1; the system is implicit for the Vnm!1 term.
66
Boundary conditions:
As before we know
m!1 m!1
Vn!1 ! 2Vnm!1 + Vn+1
= 0:
,S 2
4(
67
and substituting in the di§erence equation gives
m!1 m!1
a !1 + bN VN = VNm!1;
where
b N VN b
a bN = 1 ! (N (r ! D) ! r) ,t;
In summary, the scheme is:
b N = N (r ! D ) ,t; b
m!1 m!1
anVn!1 + bnVnm!1 =
+ cnVn+1 Vnm
D.E
)
M + m + 1; 1'n'N !1
VnM
Final Payo§ Condition
= max (n,S ! E; 0)
)
0 ' n ' N;
=
(1 + r,t) V0m!1 V0m
Boundary condition at (S = 0)
)
M +m+1
m!1
a !1 Boundary condition at S %
S = N ,S
)
+ bbN VNm!1 = VNm
M + m + 1;
b N VN
68
We can write the problem as a system of linear equations, called a linear system,
0 a2 b2 c2 . V2m
10 1
V2m!1
0 1
m!1
CB
..
.
B C B C
VN !1
CB
aN !1 bN !1 cN !1 VN !1
B C B C
VNm
CB
0 0 aN VNm!1
B CB C=B C
... ...
B C@ C @
A A
@ A
b bbN
69
So we are solving
AV m!1 = V m;
at each time step for the unknown vector V m!1: We note that the matrix A
is extremely sparse. A matrix consisting of a main diagonal together with one
above (super-diagonal) and one below (sub-diagonal) is called a tri-diagonal
matrix.
This linear system can now be solved directly or iteratively using e.g. the
Gauss-Seidel Method.
70
Note on Forward Marching
t = T ! m,t;
so that m = 0 represents t = T and m = M gives t = 0:The increasing m
from 0 to M gives a forward marching scheme
m+1 m+1
anVn!1 + bnVnm+1 + cnVn+1 = Vnm
with an; bn; cn given by (4) :
71
Stability
Suppose that the payo§ contains small errors. These will propagate as we
march backwards in time. As with the explicit scheme write
Vbnm = Vn m + Enm
where Enm is the associated error. Then Enm also satisÖes the di§erence
equation (8) to give
m!1 m!1
anEn!1 + bnEnm!1 + cnEn+1 = Enm: (10)
By general Fourier analysis we consider harmonic perturbations of the form
72
which on simpliÖcation becomes
ane!i! + bn + cnei! = a:
Now stability criteria arises from the balancing of the time dependency and
di§usion terms, so that
@V 1 2 2 @ 2V
+ & S =0
@t 2 @S 2
From (9) we take the following contributions
1 1
an = ! n2& 2,t; bn = 1 + n2& 2,t; cn = ! n2& 2,t
2 2
=2 cos !
| {z }
73
Using the trigonometric identity cos 2x = 1 ! 2 sin2 x; we have
!
a = 1 + 2n2& 2 sin2 ,t
2
In order that errors do not grow as we step backwards in time, we require
jaj + 1,
!
' '
' '
,t > 0;
so stability is guaranteed for all values of ,t and the disturbances will die out
as we time-step back from expiry.
74
The Crank-Nicolson Scheme
The fully implicit method has the same order of accuracy (in time and asset
price) as the explicit scheme but is unconditionally stable , i.e. 8 ,t > 0:
The Crank-Nicolson method whilst being unconditionally stable has the addi-
tional advantage that it is also second order accurate in time.
75
Consider satisÖed at the midpoint
n,S; m ! 12 ,t and replace VS and VSS by means of a FD approxi-
! ! a PDE" being
"
2 2
1 (m + (m ! 1)) ! m ! 1 :
! "
1 ,t 1 @V (n,S; m,t) +
@S 2 2 @S
@V n,S; m ! (
! ! " "
2 @S
1 @V (n,S; (m ! 1) ,t)
@ 2V 1 1 @ 2 V (n,S; m,t) +
@S 2 2 @S 2
n,S; m ! 2 ,t (
! ! " "
2 @S 2
1 @ 2 V (n,S; (m ! 1) ,t)
76
and substitute into the BSE as earlier - keeping note of the fact that we are
stepping backwards in time. The resulting di§erence equation is
m!1 m!1 m +B Vm+C Vm
anVn!1 + bnVnm!1 + cnVn+1 = AnVn!1 n n n n+1
where
an = ! & n ! n (r ! D) ,t
4
1! 2 2 "
bn = 1+ & n + r ,t
2
1! 2 2 "
cn = ! & n + n (r ! D) ,t:
4
1! 2 2 "
1 2 2
An =
4
& n ! n (r ! D) ,t
! "
Bn = 1! & n + r ,t
2
1! 2 2 "
Cn =
4
& n + n (r ! D) ,t:
1! 2 2 "
77
The F!Method
While the attraction of the fully implicit scheme lies in its unconditionally
stability, it is only Örst order accurate in time. The CrankñNicolson scheme is
an equally weighted average of both implicit and explicit methods and enjoys
second order accuracy in time. Now we construct a generalisation of the Crank-
Nicolson to obtain a weighted average of the two schemes with a weighted
parameter F such that F 2 [0; 1]. On a simple heat equation it would be
m+1 m+1
Vn+1 !2Vnm+1 +Vn!1
= F
Vnm+1 !Vnm
,t ,S 2
!
Vn+1 n n!1
m !2V m +V m
+(1 ! F) ,S 2 ;
# $
78
where
an = ! F & n ! n (r ! D) ,t
1 ! 2 2 "
bn = 2 2
1 + # & n + r ,t
2 ! "
cn = ! F & n + n (r ! D) ,t:
2
1 ! 2 2 "
1 2 2
An =
2
(1 ! F) & n ! n (r ! D) ,t
! "
Bn = 2 2
1 ! (1 ! F) & n + r ,t
! "
1 2 2
Cn =
2
(1 ! F) & n + n (r ! D) ,t:
! "
When F = 0; 12 and 1 the F method becomes the Explicit, Crank Nicolson and
Fully Implicit scheme, in turn.
79
For a general value of F the local truncation error is
1 1
O ,t + ,S 2 ! F,t; ,S 4; ,t2 :
2 12
# $
But if
1 ,S 2
F= !
2 12,t
then the local truncation error is improved.
80
Three time-level methods
V m+1 = g V m!1; V m
! "
Again, we would do this if it gave us a better local truncation error or had better
convergence properties. We already know that the centred time di§erence
Vnm+1 ! Vnm!1
2,t
is unstable for all values of ,t: However the scheme
Vnm+1 ! Vnm!1
= Vn+1 n
0 1
2
! "
2,t ,S
!V
=!2Vn m
1 B m m+1 ! V m!1 + V m C
@ n!1 A
| {z n }
81
Solving the linear System
We need to solve
b0 c0 0 ... ... 0 V0m!1
.. V0m
a1 b1 c1 . V1m!1 V1m
.. ..
0
... ...
0 a2 . . V2m
10 1 0 1
m!1
CB
..
.
B C B C
VN !1
CB
aN !1 bN !1 cN !1 VN !1
B C B C
VNm
CB
0 0 an VNm!1
B CB C=B C
... ...
B C@ C @
A A
@ A
which is written as
b bbn
MVm!1 = Vm
which in principle is
Vm!1 = M!1Vm
which presents us with a highly ine¢cient way of solving this linear system.
82
1 LU Decomposition (factorisation) of M: Only advantageous if the matrix
is non-time dependent, i.e. one factor model.
83
The LU Decomposition
Consider the matrix inversion problem
M:y = p
It is often advantageous to think of Gaussian elimination as constructing a lower
tridiagonal matrix L and an upper triangular matrix U; so that LU = M: The
problem becomes
M:y = (LU) :y
= L (U:y) = p
We introduce an intermediate vector z = Uy so that
Lz = p; Uy = z:
1 0 ... ... ... 0 d0 u0 0 ... ... 0
.. ..
l1 1 0 . 0 d1 u1 .
... .. ..
0 l2 1 . 0 0 d2 u2 .
0 1 0 1
.. ..
. 1 0 . 0
B C B C
lN !1 dN !1 uN !1
0 0 1 0 0 0
L=B C; =B C
84
It is trivial to solve
Lz = p
by forward substitution.
1 0 0 z0 p0
... ... ...
..
l1 1 0 . z1 p1
... .. .. p2
0 l2 1 . .
0 10 1 0 1
.. .. .. ..
.
... ... ...
. . .
B
..
CB C B C
. 1 0 zN !1 pN !1
B
lN !1 pN
CB C=B C
0 0 1 zN
B
lN
CB C B C
... ...
B C@ A @ A
@ A
85
Having obtained z we Önd y by solving Uy = z;
d0 u0 0 ... ... 0 y0 z0
..
0 d1 u1 . y1 z1
.. .. ..
0 0 d2 u2 . . .
0 1 0 1 0 1
..
CB C B C
. 0 yN !1 zN !1
B
dN !1 uN !1
CB C=B C
0 0 0 yN zN
B
dN
CB C B C
... ...
B C@ A @ A
@ A
..
. ln!1 ln!1;n!1 0
B C
B C0
..
. 0 un!1;n!1 un!1;n
B C
0 0 0 unn
B C
... ...
B C
@ A
86
If lii = 1 8 1 ' i ' n as mentioned in the earlier discussion, this ensures a
unique solution and is called Doolittleís method. Croutís method requires
uii = 1 8 1 ' i ' n:
87
Iterative Techniques
The linear system
Mv = w
can be written
anvn!1 + bnvn + cnvn+1 = wn:
Rearranging allows us to write as
1
vn = (wn ! anvn!1 ! cnvn+1) ;
bn
and forms the basis of an iterative scheme. If the initial guess to the solution
(0)
(k+1) 1 (k) k
= ;
is vbn ; then we have the following iterative scheme
bn
# $
1 wn
vn = (!anvn!1 ! cnvn+1) + :
bn bn
88
So the unknown vector approximation becomes
v
Recalling from linear algebra, a matrix M with entries Mij is strictly diagonally
b (k+1) = Tv
b (k) + c
dominant if
jMiij >
j6=i
X '' '
'
'Mij ' ;
So in this case
jbnj > janj + jcnj
and hence the scheme will converge to the solution of the original problem,
(k)
k!1
Suppose the matrix M can be written in the form
lim vbn = vn
M=L+D+U
where D is a matrix with the diagonal elements of M (zero everywhere else).
89
L is a strictly lower-triangular part of M:
b0 c0 0 . . .
a1 b1 c1
0 1
0 a2 . . . . . .
B C
M
| {z }
0 0 0 ... b0 0 0 ... 0 c0 0 . . .
0 1 0 0 c1
0 1 0 1 0 1
A B C
The scheme now becomes
| {z } | {z } | {z }
v
b (k+1) = B!1w ! B!1 (A + C) v
b (k):
90
B!1 (A + C) is another matrix which premultiplies the iteration vector, call
this IM; to write
v
b (k+1) = B!1w ! IMv
b (k)
91
The Gauss Seidel Method
We can now reÖne the Jacobi method very simply by using the most up-to-date
(k+1) 1 (k+1) k
vbk+1 available to us, by writing
= :
bn
# $
(k+1)
vbn wn ! anvbn!1 ! cnvbn+1
(k)
Note that at iteration step (k + 1), we are using the most recent vbn!1 ;
anteed if the coe¢cient matrix is strictly diagonally dominant. Write the above
instead of vbn!1 which is used in Jacobi. Again, iteration convergence is guar-
as
(k+1) (k+1) k
(A + B ) v
Write
b (k+1) = w ! Cv
b (k):
Q = (A + B) ; IM = Q!1C
92
so our iteration problem becomes
v
As before convergence of this GS method is proved theoretically by showing
b (k+1) = Q!1w ! IMv
b (k):
that the spectral radius of the iteration matrix IM <1; but we will not be
implementing in terms of the iteration matrix.
93
Successive-Over-Relaxation (SOR) Methods
A large part of numerical analysis is based upon the need to improve the ef-
Öciency and speed of existing techniques. Although we have seen from the
Gauss-Seidel method that it is superior to Jacobi in this regard, we can never-
theless continue to look for improvements in convergence speed. In this section
we will brieáy look at a method called successive-over-relaxation.
Let x
b 2 Rn be an approximation to the actual solution for Ax = b:
r = b ! Ax
In Jacobi/Gauss-Seidel methods a residual vector is associated with each cal-
b
94
SOR can be applied to either the Jacobi or the Gauss-Seidel method.
(k) (k)
k!1
be speeded up. This is the essence of SOR. To see how this works, begin by
The sequence of approximate solutions vbn such that lim vbn !! vn; can
writing
(k+1) (k) (k+1) (k)
= + :
# $
(k+1) (k)
vbn vbn vbn ! vbn
(k)
Of interest is the term vbn ! vbn
(k+1)
bn = vbn + ! vbn ! vbn
95
SOR correction for Jacobi
(k) 1 (k) k
u =
bn
# $
(k) 1 (k+1) k
u =
bn
# $
For 0 < ! < 1; the procedures are called under-relaxation methods and used
vbn = vbn + ! GS u
bn ! vbn
For ! > 1; the procedures are called over-relaxation methods which are
used to accelerate convergence of systems which are convergent by Jacobi or
Gauss-Seidel.
96