Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 112 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
112
Dung lượng
569,17 KB
Nội dung
PRICING OPTIONS USING PREDICTOR-CORRECTOR SCHEMES
THIBAUT HILPERT
(Ecole Centrale Paris)
A THESIS SUBMITTED
FOR THE DEGREE OF MASTER OF
SCIENCE
DEPARTMENT OF MATHEMATICS
NATIONAL UNIVERSITY OF SINGAPORE
2011
ii
To my parents and sister.
iii
Acknowledgements
I would like to take this opportunity to express my sincere gratitude to all the
people who have provided me their support, advice and guidance throughout this
thesis.
First of all, I would like to thank my supervisor, Professor Tan Hwee Huat, for
his guidance and assistance during my study and research. His ideas and expertise
are crucial to the completion of this thesis. I would like to thank him for spending
his valuable time revising this thesis.
I also would like to thank and express all my love to my family. To my parents,
Philippe and Christine, who have always supported me in all the things I have done.
To my sister, Mathilde, who have always believed in me.
iv
Contents
Acknowledgements
iv
Summary
ix
List of Tables
x
List of Figures
xi
Notation
xiii
1 Introduction
1.1
1.2
1.3
1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1.1.1
Explicit Schemes . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.1.2
Implicit Schemes . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.1.3
Predictor-Corrector Schemes . . . . . . . . . . . . . . . . . . .
7
The Black & Scholes model . . . . . . . . . . . . . . . . . . . . . . .
7
1.2.1
European Options
. . . . . . . . . . . . . . . . . . . . . . . .
7
1.2.2
American Options . . . . . . . . . . . . . . . . . . . . . . . . .
9
The free boundary problem . . . . . . . . . . . . . . . . . . . . . . .
12
v
2 A Predictor-Corrector finite difference scheme using a front-fixing
technique for valuing American puts
14
2.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
2.2
The Front-Fixing Technique . . . . . . . . . . . . . . . . . . . . . . .
16
2.3
The Predictor-Corrector Scheme . . . . . . . . . . . . . . . . . . . . .
19
2.4
Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . .
24
2.4.1
Case 1: The initial asset price is equal to the strike . . . . . .
25
2.4.2
Case 2: In the money . . . . . . . . . . . . . . . . . . . . . . .
25
2.4.3
Case 3: Out of the money . . . . . . . . . . . . . . . . . . . .
27
2.4.4
Order of Convergence . . . . . . . . . . . . . . . . . . . . . . .
29
Conclusion : advantages and drawbacks . . . . . . . . . . . . . . . . .
33
2.5
3 A linearly implicit predictor-corrector scheme using a penalty method
approach for valuing American options.
35
3.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
3.2
The Black & Scholes model . . . . . . . . . . . . . . . . . . . . . . .
36
3.3
The Penalty Method . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
3.4
The linearly implicit predictor-corrector scheme . . . . . . . . . . . .
38
3.5
Numerical experiments . . . . . . . . . . . . . . . . . . . . . . . . . .
41
3.5.1
Case 1: The initial asset price is equal to the strike . . . . . .
42
3.5.2
Case 2: In the money . . . . . . . . . . . . . . . . . . . . . . .
42
3.5.3
Case 3: Out of the money . . . . . . . . . . . . . . . . . . . .
44
3.5.4
Order of Convergence . . . . . . . . . . . . . . . . . . . . . . .
46
Conclusion : advantages and drawbacks . . . . . . . . . . . . . . . . .
49
3.6
vi
3.7
Comparison of the two schemes . . . . . . . . . . . . . . . . . . . . .
4 Predictor-Corrector Schemes for Jump-Diffusion Processes
50
53
4.1
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
53
4.2
The Jump-Diffusion Stochastic Differential Equation . . . . . . . . .
54
4.2.1
The General Theory . . . . . . . . . . . . . . . . . . . . . . .
54
4.2.2
The Merton Jump-Diffusion Model . . . . . . . . . . . . . . .
55
Predictor-Corrector Schemes . . . . . . . . . . . . . . . . . . . . . . .
55
4.3.1
The Regular Predictor-Corrector Scheme . . . . . . . . . . . .
55
4.3.1.1
The General Theory . . . . . . . . . . . . . . . . . .
56
4.3.1.2
The Merton Jump-Diffusion Model . . . . . . . . . .
56
The Jump-Adapted Predictor-Corrector Scheme . . . . . . . .
57
4.3.2.1
The General Theory . . . . . . . . . . . . . . . . . .
57
4.3.2.2
The Merton Jump-Diffusion Model . . . . . . . . . .
58
4.4
Monte-Carlo Simulation . . . . . . . . . . . . . . . . . . . . . . . . .
58
4.5
Numerical Experiments . . . . . . . . . . . . . . . . . . . . . . . . . .
59
4.5.1
The Regular Predictor-Corrector Scheme . . . . . . . . . . . .
62
4.5.1.1
Case 1: The initial asset price is equal to the strike .
63
4.5.1.2
Case 2: In the money . . . . . . . . . . . . . . . . .
64
4.5.1.3
Case 3: Out of the money . . . . . . . . . . . . . . .
66
The Jump-Adapted Predictor-Corrector Scheme . . . . . . . .
69
4.5.2.1
Case 1: The initial asset price is equal to the strike .
70
4.5.2.2
Case 2: In the money . . . . . . . . . . . . . . . . .
71
4.5.2.3
Case 3: Out of the money . . . . . . . . . . . . . . .
73
4.3
4.3.2
4.5.2
vii
4.6
Conclusion: advantages and drawbacks . . . . . . . . . . . . . . . . .
76
5 Conclusion
78
Bibliography
81
A Codes
85
A.1 Code for the front-fixing Predictor-Corrector Scheme . . . . . . . . .
85
A.2 Code for the linearly implicit predictor-corrector using a penalty method 89
A.3 Codes for the Predictor-Corrector Schemes for Jump-Diffusion Processes 92
A.3.1 Code for the exact value of the European call option . . . . .
92
A.3.2 Code for the Regular Predictor-Corrector Scheme . . . . . . .
93
A.3.3 Code for the Jump-Adapted Predictor-Corrector Scheme . . .
96
viii
Summary
Widely used explicit and implicit schemes each have their own advantages and
drawbacks. Predictor-Corrector schemes are designed to be a compromise of the two
by retaining both the stability property of the implicit schemes and the computational efficiency of the explicit schemes. I will present in this thesis three different
Predictor-Corrector schemes used in the valuation of options. First, I will consider
a Predictor-Corrector finite difference scheme using a front-fixing technique for pricing American puts. Secondly, I will introduce a linearly implicit Predictor-Corrector
scheme using a penalty method approach for valuing American options. Lastly, I will
develop Predictor-Corrector schemes for Jump-Diffusion stochastic differential equations which will be used in Monte Carlo simulations and I will introduce the special
case of the valuation of European options. In each section, I focus on the theory and
then I give some numerical experiments using my implemented codes.
Keywords : Predictor–Corrector Schemes, Finite Difference Scheme, Monte Carlo
Simulation, Jump Diffusions, Penalty Method, Black-Scholes Equation, Option Pricing.
ix
List of Tables
2.1
Order of convergence in asset price . . . . . . . . . . . . . . . . . . .
32
2.2
Order of convergence in time . . . . . . . . . . . . . . . . . . . . . . .
33
3.1
Order of convergence in asset price . . . . . . . . . . . . . . . . . . .
49
3.2
Order of convergence in time . . . . . . . . . . . . . . . . . . . . . . .
50
3.3
Number of steps and CPU time for the same accuracy (10−2 ) . . . . .
51
3.4
Order of convergence (calculated numerically) . . . . . . . . . . . . .
52
x
List of Figures
2.1
Case S0 = X: Convergence with the number of time steps . . . . . .
26
2.2
Case S0 = X: Convergence with the number of steps in the S direction 27
2.3
In the money: Convergence with the number of steps in the S direction 28
2.4
In the money: Convergence with the number of time steps . . . . . .
2.5
Out of the money: Convergence with the number of steps in the S
29
direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
2.6
Out of the money: Convergence with the number of time steps . . . .
31
3.1
Case S0 = X: Convergence with the number of steps in the S direction 43
3.2
Case S0 = X:: Convergence with the number of time steps . . . . . .
3.3
In the money: Convergence with the number of steps in the S direction 45
3.4
In the money: Convergence with the number of time steps . . . . . .
3.5
Out of the money: Convergence with the number of steps in the S
44
46
direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
3.6
Out of the money: Convergence with the number of time steps . . . .
48
4.1
Case S0 = X: Convergence with the number of simulated paths . . .
64
4.2
Case S0 = X: Standard error of the simulated option prices
65
xi
. . . . .
4.3
In the money: Convergence with the number of simulated paths . . .
66
4.4
In the money: Standard error of the simulated option prices . . . . .
67
4.5
Out of the money: Convergence with the number of simulated paths .
68
4.6
Out of the money: Standard error of the simulated option prices . . .
69
4.7
Case S0 = X: Convergence with the number of simulated paths . . .
71
4.8
Case S0 = X: Standard error of the simulated option prices
. . . . .
72
4.9
In the money: Convergence with the number of simulated paths . . .
73
4.10 In the money: Standard error of the simulated option prices . . . . .
74
4.11 Out of the money: Convergence with the number of simulated paths .
75
4.12 Out of the money: Standard error of the simulated option prices . . .
76
xii
Notation
We use the following definitions :
V = price of the option
S = price of the underlying asset
σ = volatility of the underlying asset
r = risk free interest rate
q = dividend yield of the underlying asset
X = strike price of the option
T = expiry time of the option
t = current time
S¯ = optimal exercise price
xiii
Chapter 1
Introduction
1.1
Introduction
Hofmann and Platen [11] for pure diffusion stochastic differential equations and
Higham and Kloeden [9] [10] for jump-diffusion stochastic differential equations, have
shown that explicit schemes have narrower regions of numerical stability compare to
implicit schemes. That is what explains the recent developments concerning implicit
methods. Nevertheless, despite a better stability, implicit schemes are much more
demanding in terms of computational capacity because they usually require the solution of an algebraic equation at each time step involving large matrices. Therefore
the user has to choose between stability and computational efficiency.
To find a compromise between these two aspects, a new kind of scheme was developed:
the Predictor-Corrector schemes. The first significant schemes were introduced by
Moulton [20] and Milne [19]. Their idea was to build schemes that can retain both
the stability property of the implicit schemes and the computational efficiency of the
1
explicit schemes by avoiding to solve an algebraic equation at each time step. This
is achieved by using the following general procedure : first an explicit scheme - the
so-called predictor - generates an approximated solution of the next step; then in a
second part, an implicit scheme - the corrector - uses this predicted value instead of
solving the algebraic equation involving the unknown value at step n + 1 in order
to become also explicit. Therefore both the predictor and the corrector are explicit
due to the use of the predicted value, what brings a greater computational efficiency.
Moreover, the fact of using an implicit scheme in the second part increases the stability of the scheme.
Thus in this thesis, we will present three different predictor-corrector schemes used
in the valuation of options. First, we will consider a predictor-corrector finite difference scheme using a front-fixing technique for pricing American puts. Secondly, we
will introduce a linearly implicit predictor-corrector scheme using a penalty method
approach for valuing American options. We will then draw a comparison between
these two finite difference schemes in terms of order of convergence and computational efficiency. Lastly, we will develop predictor-corrector schemes for jump-diffusion
stochastic differential equations which will be used in Monte Carlo simulations. We
will then apply the results to the special case of the valuation of European options.
In each section, we focus on the theory and then we give some numerical experiments
using our implemented codes.
2
1.1.1
Explicit Schemes
An explicit scheme is a numerical method that calculates the state of a system at a
later time from the state of the system at the current time. Therefore it only uses
data that we have already calculated. If Y (t) refers to the state of the system at time
t, an explicit scheme can be written under the form:
Y (t + ∆t) = f (Y (t))
(1.1)
This presents several advantages:
- there is no need to solve complicated algebraic equations that involve a lot of calculation
- these methods are easy to implement
Nevertheless, the main drawback of these methods is that they are conditionally convergent : there are only valid in a limited region.
We now consider the Black and Scholes equation and use it to show an example
of explicit scheme.
∂V
1
∂ 2V
∂V
+ σ 2 S 2 2 + (r − q)S
− rV = 0
∂t
2
∂S
∂S
(1.2)
We then discretize the problem in time and in the stock price. Using a finite difference
method, we are only able to solve this equation on a bounded domain. The time t
belongs to [0, T ] but the stock price verifying S ≥ 0 is not bounded. Therefore in order
to truncate the domain in the S direction, we introduce Smax which is the highest
stock price that will be taken into account. Let ∆t =
direction and h =
Smax
M
T
N
be the step in the time t
be the step size in the S direction. We consider the mesh {
3
tn = n∆t,
Si = ih,
n = 0, 1, ..., N,
i = 0, 1, ..., M }. We denote V (Si , tn ) = Vin ,
the option value at time tn for the stock price Si .
In order to obtain an explicit scheme, we need to use the following difference
discretizations at the point (Si , tn+1 ):
∂V
∂S
∂ 2V
∂S 2
(1.3)
n+1
n+1
− 2Vin+1
+ Vi−1
Vi+1
+ O(h2 )
=
2
h
(1.4)
Vin+1 − Vin
=
+ O(∆t)
∆t
(1.5)
(Si ,tn+1 )
(Si ,tn+1 )
∂V
∂t
n+1
n+1
− Vi−1
Vi+1
=
+ O(h2 )
2h
(Si ,tn+1 )
The Black and Scholes equation then becomes:
n+1
n+1
n+1
V n+1 + Vi−1
Vi+1
− Vi−1
− 2Vin+1
Vin+1 − Vin 1 2
+ σ (ih)2 i+1
+
(r
−
q)ih
− rVin+1 = 0
∆t
2
h2
2h
(1.6)
i.e.
Vin = (1−σ 2 i2 ∆t−r∆t)Vin+1 +
1
1
1 22 1
n+1
n+1
σ i + ri ∆tVi+1
+ σ 2 i2 − ri ∆tVi−1
(1.7)
2
2
2
2
Therefore, by knowing the pay-off condition at the expiry T , we are able to obtain
the initial value of the option by applying the scheme given in equation (1.7) and
solving it in a backward manner. This scheme is explicit because we did not need to
solve algebraic equations: the only values we need in the scheme have already been
calculated during the previous time step.
Nevertheless, this scheme is conditionally stable as shown by Isaacson and Keller in
[6] : this method is convergent only if the following condition is verified:
∆t ≤ Ch2
4
(1.8)
This condition is often unacceptable because when we want to refine our calculation
by taking a new step in the stock price direction equal to
h
n
then we have to take
∆t
n2
in t. That is what motivates mathematicians to develop other more stable methods:
the implicit schemes.
1.1.2
Implicit Schemes
An implicit scheme is a numerical method that calculates the state of a system at a
later time by solving an equation involving both the current state of the system and
the later one. Therefore it involves data that we have not already calculated. If Y (t)
refers to the state of the system at time t, an implicit scheme can be written under
the form :
f (Y (t), Y (t + ∆t)) = 0
(1.9)
This method presents the advantage of being very stable but the counterpart is that
it is more demanding in terms of computational capacity because it usually requires
the solution of an algebraic equation at each time step involving large matrices.
We consider again the Black and Scholes equation (1.2) and use it to introduce
an example of implicit scheme.
We consider the same mesh as in Section 1.1.1. We then introduce the fully
implicit scheme.
For this scheme we use the following difference discretizations at the point (Si , tn ):
∂V
∂S
∂ 2V
∂S 2
(Si ,tn )
(Si ,tn )
=
n
n
− Vi−1
Vi+1
+ O(h2 )
2h
(1.10)
n
n
Vi+1
+ Vi−1
− 2Vin
+ O(h2 )
h2
(1.11)
=
5
∂V
∂t
(Si ,tn )
Vin+1 − Vin
+ O(∆t)
=
∆t
(1.12)
The Black and Scholes equation then becomes:
n+1
n+1
n+1
Vi+1
− Vi−1
V n+1 + Vi−1
− 2Vin+1
Vin+1 − Vin 1 2
+ σ (ih)2 i+1
+
(r
−
q)ih
− rVin+1 = 0
∆t
2
h2
2h
(1.13)
i.e.
(1 + σ 2 i2 ∆t + r∆t)Vin −
1 22 1
1
1
n
n
σ i + ri ∆tVi+1
− σ 2 i2 − ri ∆tVi−1
= Vin+1 (1.14)
2
2
2
2
We see that this scheme involve, in the calculation of Vin , the value Vin+1 at time tn+1
n
n
but also two other values Vi−1
and Vi+1
at the current time tn . Therefore, at each
time step, there are M − 1 equations and M + 1 unknowns. Knowing the pay-off
condition at the expiry T is not sufficient, we need two more boundary conditions to
be able to solve the system. Usually we obtain these additional equations using the
boundary conditions i.e. by having the value of the option for all the time steps at
the stock price S = 0 and S = Smax : V0n and VMn ∀n. Then we can write the system
under a matrix form.
Vn+1 − Vn
− AVn = Fn
∆t
(1.15)
Vn = (I + A∆t)−1 (Vn+1 − Fn ∆t)
(1.16)
which gives:
This scheme is implicit because we need to solve algebraic equations which is very time
consuming. Nevertheless, the advantage of this scheme is that it is unconditionally
convergent [6]. Therefore the stability of this type of methods is what makes them
very attractive despite the loss of computational efficiency.
6
1.1.3
Predictor-Corrector Schemes
As shown in the two previous subsections, explicit schemes have narrower regions of
numerical stability compare to implicit schemes. Nevertheless, despite a better stability, implicit schemes are much more demanding in terms of computational capacity
because they usually require the solution of algebraic equations. Therefore the user
has to choose between stability and computational efficiency.
To find a compromise between these two aspects, we introduce a new kind of scheme :
the Predictor-Corrector schemes. They are built using both an explicit scheme in the
predictor part and an implicit scheme in the corrector part. Three different examples
will be introduced in the next sections.
1.2
The Black & Scholes model
We will now develop the theory concerning European and American options. This
theoretical part is based on the work of Black and Scholes [7], Merton [17], Hull
[12] and the course Financial Mathematics II taught in the National University of
Singapore by Professor XIA Jianming [26].
1.2.1
European Options
In this subsection, we will work out the price of a European option. To do so, we
assume that the market is made of two different assets: a riskless bond and a risky
stock. The price of the bond follow the equation:
dSt0 = rSt0 dt
7
(1.17)
where r ≥ 0 is the interest rate of the riskless bond.
In the Black and Scholes model, the stock price follows a geometric Brownian motion:
dSt
= µdt + σdBt
St
(1.18)
where Bt is a standard Brownian motion.
The Black and Scholes models assumes that the market is perfect, that is :
- there are no transaction costs or taxes
- the assets are perfectly divisible
- the short sales of all assets are allowed
- the trading in assets takes place continuously in time
- the agents are price takers
We also assume that the holder of the stock receives a continuous and constant
dividend yield, q. Thus in a time dt, each stock gives the holder an amount equal to
qSdt. From now on, we consider that the option’s pay-off can be written under the
form g(ST ). In this case, if the function g satisfies some regularity condition, it can
be justified that the value of the option is a function V (S, t) of the price of the stock
S and the time t. Using a ∆-hedging method, we can prove that V (S, t) is solution
of the famous Black and Scholes equation:
∂V
1
∂ 2V
∂V
+ (r − q)S
+ σ 2 S 2 2 − rV = 0
∂t
∂S
2
∂S
Moreover the value V (S, t) of the option satisfies the final condition:
(S − X)+ for a European call
V (S, T ) = g(S) =
(X − S)+ for a European put
8
(1.19)
(1.20)
An explicit solution can thus be obtained:
Se−q(T −t) N (d1 ) − Xe−r(T −t) N (d2 )
for a European call
V (S, t) =
Xe−r(T −t) N (−d2 ) − Se−q(T −t) N (−d1 ) for a European put
(1.21)
where
2
log XS + (r − q + σ2 )(T − t)
√
d1 =
σ T −t
2
√
log XS + (r − q − σ2 )(T − t)
√
d 2 = d1 − σ T − t =
σ T −t
1.2.2
(1.22)
(1.23)
American Options
As in the previous subsection, we assume that the market is made of two different
assets : a riskless bond and a risky stock. The price of the bond follows the equation:
dSt0 = rSt0 dt
(1.24)
where r ≥ 0 is the interest rate of the riskless bond.
In the Black and Scholes model, the stock price follows a geometric Brownian motion:
dSt
= µdt + σdBt
St
(1.25)
where Bt is a standard Brownian motion. As in the European case, the value of the
option is a function V (S, t) of the price of the stock S and the time t.
An American option has the property of being exercised at any time before expiry,
so the pay-off of the option if it is exercised at time t is for instance,
(St − X)+ for an American call
Pay-off if the option is exercised at time t =
(X − St )+ for an American put
(1.26)
9
The exercise time is usually random and is linked to the stock price. For example,
considering an American put, it is likely not to exercise the option if the stock price is
high because the pay-off will then be very small or even null. In the opposite case, if
the stock price is small the question of the exercise of the option should be seriously
taken into consideration.
From now on, we consider an American option whose pay-off can be written under
the form g(St ),
∀t. For such option, its value is a function of the stock price and
the time:
Vt = V (St , t),
∀t,
(1.27)
At expiry, we have
V (S, T ) = g(S).
(1.28)
The right to early exercise leads to the constraint
V (S, t) ≥ g(S),
t ∈ [0, T ).
(1.29)
We can establish that the American option value satisfies the following inequality
∂V
1
∂ 2V
∂V
+ σ 2 S 2 2 + (r − q)S
− rV ≤ 0
∂t
2
∂S
∂S
(1.30)
In fact, if V (S, t) > g(S), then the option should not be exercised at time t, thus
equation (1.30) holds as an equality, that is,
∂V
∂V
1 2 2 ∂ 2V
+ (r − q)S
+ σ S
− rV = 0,
2
∂t
2
∂S
∂S
if V (S, t) > g(S).
(1.31)
Consequently at least one of the inequality (1.29) or (1.30) holds as an equality. We
obtain the complete model:
V (S, t) ≥ g(S),
f or S > 0, t ∈ [0, T )
10
(1.32)
∂V
1
∂ 2V
∂V
+ σ 2 S 2 2 + (r − q)S
− rV ≤ 0, f or S > 0, t ∈ [0, T )
(1.33)
∂t
2
∂S
∂S
∂V
∂V 1 2 2 ∂ 2 V
+ σ S
−rV [V −g(S)] = 0, f or S > 0, t ∈ [0, T ) (1.34)
+(r −q)S
2
∂t 2
∂S
∂S
V (S, T ) = g(S),
f or S > 0.
(1.35)
A more compact expression is
min
∂V
∂2V
1
∂V
+ σ 2 S 2 2 + (r − q)S
− rV, V − g(S) = 0,
∂t
2
∂S
∂S
f or S > 0, t ∈ [0, T )
(1.36)
V (S, T ) = g(S),
f or S > 0.
(1.37)
It can be shown that there exists a unique solution to this model.
From now on, we consider an American put option. We define the stopping (or
exercise) region E and the continuation (or holding) region H by
E = {(S, t) ∈ (0, ∞) × [0, T ) : V (S, t) = (X − S)+ },
(1.38)
H = {(S, t) ∈ (0, ∞) × [0, T ) : V (S, t) > (X − S)+ }.
(1.39)
We have the following results:
Lemma 1. V (S, t) is decreasing and convex with respect to S.
−1 ≤
∂V
≤0
∂S
(1.40)
Lemma 2. (S ′ , t) ∈ E and S ′′ < S ′ ⇒ (S ′′ , t) ∈ E
¯
By Lemma 2., there exists a boundary S(t),
called the optimal exercise boundary, such that
¯
E = {(S, t) ∈ (0, ∞) × [0, T ) : S ≤ S(t)},
(1.41)
¯
H = {(S, t) ∈ (0, ∞) × [0, T ) : S > S(t)},
(1.42)
11
¯ is called optimal exercise boundary because it is optimal to exercise the option
S(t)
¯
as the stock price S(t) hits S(t).
¯ is monotonically increasing.
An important result is that S(t)
¯
In the continuation region H={S > S(t)},
the value of the American put satisfies the
Black and Scholes equation
∂V
∂V
1
∂ 2V
+ σ 2 S 2 2 + (r − q)S
− rV = 0,
∂t
2
∂S
∂S
(S, t) ∈ H.
(1.43)
On the optimal exercise boundary and at the terminal time, we have respectively
¯
¯
V (S(t),
t) = X − S(t),
t ∈ [0, T ),
(1.44)
S>0
(1.45)
and
V (S, T ) = (X − S)+ ,
However, the optimal exercise price being unknown, we need an additional boundary
condition
∂V ¯
(S(t), t) = −1,
∂S
t ∈ [0, T ).
(1.46)
This condition is called the high-contact condition which means that the hedging
ratio ∆ =
∂V
∂S
is continuous across the optimal exercise boundary. Thus we obtain a
complete model which is called the free boundary problem.
1.3
The free boundary problem
We thus obtain the following free boundary problem:
∂V
1
∂ 2V
∂V
+ σ 2 S 2 2 + (r − q)S
− rV = 0,
∂t
2
∂S
∂S
12
¯
S > S(t),
0 ≤ t < T,
(1.47)
V (S, T ) = max(X − S, 0),
S ≥ 0,
(1.48)
∂V ¯
(S, t) = −1,
∂S
(1.49)
¯
¯
V (S(t),
t) = X − S(t)
(1.50)
lim V (S, t) = 0,
(1.51)
¯ ) = X,
S(T
(1.52)
S→∞
V (S, t) = X − S,
¯
0 ≤ S < S(t),
(1.53)
The specificity of the American option is the possibility of being early exercised.
Consequently, this is transforming the Black and Scholes equation into a non linear
one. This equation is thus much more difficult to solve. For instance, contrary to the
Black and Scholes equation there is no explicit solution of this equation.
13
Chapter 2
A Predictor-Corrector finite
difference scheme using a
front-fixing technique for valuing
American puts
2.1
Introduction
In this chapter, we will introduce a predictor-corrector scheme based on a finite difference method using a front-fixing technique. This scheme was developed by J. Zhang
ang S.P. Zhu in [27]. It is used to price American puts which have a dividend yield.
As we already mentioned it, the valuation of American options is a free boundary
problem (see Section 1.3 ). In order to solve this problem, various numerical methods
using finite difference schemes were developed. For example, Wu and Kwok presented
14
in [25] a front-fixing technique based on Landau transform [15] which was employed
in order to build a multilevel finite difference method to solve the nonlinear BlackScholes PDE. This front-fixing technique enables to include the unknown optimal
exercise boundary into the equation in exchange for a fixed boundary. The presence
of a fixed boundary facilitates the discretization of the partial differential equation.
In their method, the calculation of the option value at the time step n + 1 uses the
previous option values at the time steps n and n − 1. Therefore, knowing only the
initial option value given by the pay-off condition at the time step 0, they had to
derive an initialization technique to obtain the value at the time step 1 before being
able to run their algorithm.
We will thus develop a simpler version of this scheme which will keep the same level
of computational accuracy but without the need of initialization. Therefore to avoid
this initialization, we will use a predictor-corrector approach. The nonlinear PDE
is converted into two linearised equations. One will be the predictor obtained by
using an explicit Euler scheme and the other will become the corrector after applying
the Crank Nicholson scheme. The predictor will calculate an approximation of the
optimal exercise price boundary and will be then corrected by the corrector which
will also calculate in the meantime the option value. Our scheme does not require
embedded iteration at each time step of evolution, like the projected SOR method
for example. In addition to option values, the present method calculates the optimal
exercise boundary as part of the solution procedure.
15
2.2
The Front-Fixing Technique
We use the Black-Scholes model that we introduce in Section 1.2. For an American
put with dividend yield, we have the following partial differential equation system:
∂ 2V
∂V
1
∂V
+ σ 2 S 2 2 + (r − q)S
− rV = 0,
∂t
2
∂S
∂S
¯
S > S(t),
V (S, T ) = max(X − S, 0),
0 ≤ t < T,
S ≥ 0,
(2.1)
(2.2)
∂V ¯
(S(t), t) = −1,
∂S
(2.3)
¯
¯
V (S(t),
t) = X − S(t)
(2.4)
lim V (S, t) = 0,
(2.5)
¯ ) = X.
S(T
(2.6)
S→∞
If we directly discretize the system and apply finite difference schemes, it will be
solved for example using some iterative methods such as the projected SOR iteration
(see [16] and [22]). Our approach is different because we want to avoid doing a lot of
iterations. Therefore we will use the Landau transform after normalizing the partial
differential equation system. By including the unknown optimal exercise price into
the equation, this will enable us to transform the problem into a fixed-boundary
problem before applying our predictor-corrector scheme.
So we normalize the system by using the following change of variables:
V
,
X
′
V =
S
,
X
′
S =
τ = (T − t)
σ2
,
2
γ=
2r
,
σ2
ν=
2q
,
σ2
¯ − 2τ /σ 2 )
S(T
′
S¯ (τ ) =
X
(2.7)
We also introduce τexp the normalized duration of the option : τexp =
T σ2
.
2
The PDE
system then becomes :
′
′
′
2
∂V
′ ∂V
′2 ∂ V
′
− (γ − ν)S
−S
= 0,
′ + γV
′2
∂τ
∂S
∂S
16
′
S (τ ) > S¯′ (τ ),
0 < τ ≤ τexp , (2.8)
′
′
′
V (S , 0) = max(1 − S , 0),
′
S ≥ 0,
(2.9)
′
∂V ¯′
(S , τ ) = −1,
∂S ′
(2.10)
′
′
V (S¯ (τ ), τ ) = 1 − S¯′ (τ )
(2.11)
′
′
lim
V (S , τ ) = 0,
′
(2.12)
S →∞
′
S¯ (0) = 1,
(2.13)
Then we drop the primes ′ and apply the following Landau transform [15]:
¯ ), τ )
(S, τ ) → (ex S(τ
(2.14)
S
x = ln ¯
S(τ )
(2.15)
This transform leads to:
We also replaced the function V (S, τ ) by the unknown function P (x, τ ) = V (S(x, τ ), τ ).
The system can be thus written as:
¯ )
∂P
∂P 1 dS(τ
∂P ∂ 2 P
−
(γ
−
ν
−
1)
−
+
γP
=
¯ ) dτ ,
∂τ
∂x2
∂x
∂x S(τ
x > 0,
0 < τ ≤ τexp , (2.16)
P (x, 0) = 0
(2.17)
∂P
¯ ),
(0, τ ) = −S(τ
∂x
(2.18)
¯ )
P (0, τ ) = 1 − S(τ
(2.19)
lim P (x, τ ) = 0,
(2.20)
¯
S(0)
= 1,
(2.21)
x→∞
The nonlinearity of the problem can be easily seen in equation (2.16) by looking at
the inhomogeneous term on the right hand side of the equation. But now, thanks to
17
the front-fixing technique, we obtained a fixed-boundary partial differential equation
system.
We derive another boundary condition in order to construct the predictor-corrector
scheme. To do so, we take a partial derivative with respect to τ on both sides of the
equation (2.19) which yields to:
¯ )
∂ S(τ
∂P
(0, τ ) = −
∂τ
∂τ
(2.22)
Then we evaluate the PDE (2.16) at x = 0
∂P
∂τ
x=0
−
∂ 2P
∂x2
x=0
− (γ − ν − 1)
∂P
∂x
x=0
+ γP (0, τ ) =
∂P
∂x
¯ )
1 dS(τ
¯ ) dτ
x=0 S(τ
(2.23)
and we replace:
¯
∂P
(0, τ )
∂τ
)
by its value − ∂ S(τ
given in the previous equation (2.22),
∂τ
∂P
(0, τ )
∂x
¯ ) given in equation (2.18) and
by its value −S(τ
¯ ) given in equation (2.19)
P (0, τ ) by its value 1 − S(τ
Thus, we get:
−
¯ ) ∂ 2P
∂ S(τ
−
∂τ
∂x2
¯
¯ )) + γ(1 − S(τ
¯ )) = −S(τ
¯ ) 1 dS(τ ) (2.24)
− (γ − ν − 1)(−S(τ
¯ ) dτ
x=0
S(τ
which can be simplified as :
−
∂ 2P
¯ ) + γ = 0,
|x=0 − (ν + 1)S(τ
∂x2
if
τ >0
(2.25)
Therefore this equation (2.25) gives us a relationship between the option price and
the optimal exercise price at any time except at the expiry.
The next step is the construction of the predictor-corrector scheme.
18
2.3
The Predictor-Corrector Scheme
We now construct the predictor-corrector scheme. The predictor will calculate an
initial approximation of S¯ and then the corrector, using this value, will work out
¯ The Predictor-Corrector scheme is
the option price (and also the exact value of S).
obtained by using a finite difference method.
Thus, we now discretize the problem in time and in the underlying price. Using
a finite difference method, we are only able to solve this equation on a bounded
domain. τ belongs to [0, τexp ] but x verifying x ≥ 0 is not bounded. Therefore in
order to truncate the domain in the x direction, we introduce xmax which is the
highest value of x that will be taken into account. Let ∆τ =
the time τ direction and ∆x =
the mesh { τn = n∆τ,
xmax
M
τexp
N
be the step size in
be the step size in the x direction. We consider
xm = m∆x,
n = 0, 1, ..., N,
m = 0, 1, ..., M }. We denote
P (xm , τn ) = Pmn .
To build the predictor, we will use a second-order central difference scheme and
apply the explicit Euler scheme to the PDE. Indeed, we use the following difference
discretization at the point (xm , τn ):
∂P
∂x
∂ 2P
∂x2
(xm ,τn )
(xm ,τn )
∂P
∂τ
=
n
n
Pm+1
− Pm−1
+ O(∆x2 )
2∆x
n
n
Pm+1
+ Pm−1
− 2Pmn
=
+ O(∆x2 )
2
∆x
(xm ,τn )
=
Pmn+1 − Pmn
+ O(∆τ )
∆τ
(2.26)
(2.27)
(2.28)
So we apply a second-order central difference scheme to the equation (2.25) which
becomes:
−
n+1
P1n+1 + P−1
− 2P0n+1
− (ν + 1)S¯n+1 + γ = 0
∆x2
19
(2.29)
and if we apply these discretization on the equation system {(2.17), (2.18), (2.19),
(2.20), (2.21)}
Pm0 = 0,
∀m = 0, 1, ..., M
n+1
P1n+1 − P−1
= −S¯n+1 ,
2∆x
P0n+1 = 1 − S¯n+1 ,
n+1
= 0,
PM
∀n = 0, 1, ..., N − 1
∀n = 0, 1, ..., N − 1
(2.30)
(2.31)
(2.32)
∀n = 0, 1, ..., N − 1
(2.33)
S¯0 = 1,
(2.34)
Then we replace in equation (2.29):
P0n+1 by its value 1 − S¯n+1 given in equation (2.32).
n+1
by its value 2∆x S¯n+1 + P1n+1 given in equation (2.31).
P−1
We get:
P1n+1 + 2∆x S¯n+1 + P1n+1 − 2(1 − S¯n+1 )
−
− (ν + 1)S¯n+1 + γ = 0
2
∆x
(2.35)
which becomes
P1n+1 = α − β S¯n+1
by introducing α = 1 + γ2 ∆x2 and β = 1 + ∆x +
(2.36)
ν+1
∆x2 .
2
The predictor is constructed by applying the explicit Euler scheme to the equation
n+1
of the S¯n+1 . First we have
(2.16) in order to calculate an approximated value S¯Approx
:
n+1
P2n − P0n
P2n − P0n 1 S¯Approx − S¯n
P1n+1 − P1n P2n − 2P1n + P0n
n
−
−(γ
−ν
−1)
+γP
=
1
∆τ
∆x2
2∆x
2∆x S¯n
∆τ
(2.37)
20
n+1
We replace P1n+1 by its expression α −β S¯Approx
obtained from equation (2.36). There-
fore the predictor is given by :
n+1
=
S¯Approx
−
1
γ−ν−1
P0n +
+
2
∆x
2∆x
−
1
2
+
+ γ P1n
2
∆τ
∆x
κ0
+
−
(2.38)
κ1
1
1
γ−ν−1
n
P
+
−
α+
2
∆x2
2∆x
∆τ
κ2
− P0n
2∆x
P2n
∆τ
β+
P2n −P0n 1
2∆x S¯n
κ3
κ4
i.e.
n+1
S¯Approx
= [κ0 P0n + κ1 P1n + κ2 P2n + κ3 ]κ4
(2.39)
P0n+1 is also predicted during this step. We denote its approximation P0n+1 Approx .
n+1
It is calculated using the equation (2.32) : P0n+1 Approx = 1 − S¯Approx
.
The corrector is built using the Crank-Nicholson scheme applied to (2.16). Therefore, using the same mesh, we discretize the equation at the point (xm = m∆x, τn+ 1 =
2
(n + 21 )∆τ ) using the following difference discretization:
∂P
∂x
∂ 2P
∂x2
(xm ,τn+ 1 )
n+1
n+1
n
n
Pm+1
− Pm−1
+ Pm+1
− Pm−1
+ O(∆x2 )
4∆x
(2.40)
n+1
n
n
− 2Pmn+1 + Pm−1
+ Pm+1
− 2Pmn + Pm−1
+ O(∆x2 )
2∆x2
(2.41)
(xm ,τn+ 1 )
=
=
2
n+1
Pm+1
2
∂P
∂τ
(xm ,τn )
=
Pmn+1 − Pmn
+ O(∆τ 2 )
∆τ
(2.42)
In fact, in comparison with the predictor where the functions and derivatives such as
∂ S¯
∂τ
are valued at the current time step, now in the corrector they are valued at time
τn+ 1 . This gives the following corrector:
2
n+1 −P n
Pm
m
∆τ
−
n+1 −2P n+1 +P n+1 +P n −2P n +P n
Pm+1
m
m
m−1
m+1
m−1
2∆x2
21
n+1
n+1
n
n
Pm+1
− Pm−1
+ Pm+1
− Pm−1
P n+1 + Pmn
+γ m
=
−(γ − ν − 1)
4∆x
2
(2.43)
n+1 −P n+1 +P n −P n
n+1
Pm+1
− S¯n
S¯Approx
2
m+1
m−1
m−1
n+1
4∆x
∆τ
S¯Approx
+ S¯n
ψn
This leads to:
−
1
γ−ν−1
γ
1
ψn
1
n+1
Pm+1
+
Pmn+1 +
−
+
−
+
2
2
2∆x
4∆x
4∆x
∆τ
∆x
2
a
b
n
1
γ−ν−1
γ−ν−1
ψ
ψn
1
n+1
n
Pm−1 =
+
+
Pm+1
+
+
+
−
2
2
2∆x
4∆x
4∆x
2∆x
4∆x
4∆x
c
d
(2.44)
1
γ
γ−ν−1
ψn
1
1
n
−
−
−
−
P
+
Pn
m
∆τ
∆x2
2
2∆x2
4∆x
4∆x m−1
e
f
Therefore we get a system of M − 1 equations:
For the first equation (m = 1), we use the predicted value P0n+1 Approx of P0n+1 .
aP2n+1 + bP1n+1 + cP0n+1 Approx = dP2n + eP1n + f P0n
(2.45)
Then the general formula gives :
∀m ∈ (2, 3, ..., M − 2),
n+1
n+1
n
n
aPm+1
+ bPmn+1 + cPm−1
= dPm+1
+ ePmn + f Pm−1
(2.46)
n+1
n
= 0 given
For the last equation (m = M − 1), we use the fact that PM
= 0 and PM
by equation (2.33).
n+1
n+1
n
n
bPM
−1 + cPM −2 = ePM −1 + f PM −2
This system of equation can be written under the following matrix form :
22
(2.47)
P1n+1
0
b a
..
a
c b
.
.
.
.
P n+1
.. .. ..
m−1
n+1
.
.
.
.
.
.
Pm
.
.
.
.. .. ..
n+1
.
.
.
Pm+1
.
..
c
b
a
n+1
PM
0
c b
−1
A
+
Pn+1
0 P1n
e d
..
f
e
d
.
.
.
.
Pn
.. .. ..
m−1
.
.
.
.
.
.
Pmn
.
.
.
... ... ...
n
Pm+1
.
.
f
e d
.
n
PM
0
f e
−1
cP0n+1 Approx
..
.
..
.
..
.
..
.
0
=
Pn+1
Approx
0
n
f P0
0
.
..
..
+ .
.
.
.
.
.
.
0
Pn
B
0
Pn0
(2.48)
i.e.
n
n
APn+1 + Pn+1
Approx = BP + P0
0
(2.49)
Pn+1 = A−1 (BPn + Pn0 ) − Pn+1
Approx
0
(2.50)
Therefore
Then using equation (2.36), we calculate the value of S¯n+1 from the newly obtained
23
P1n+1 :
α − P1n+1
n+1
¯
S
=
β
(2.51)
The next step is to correct the value of P0n+1 Approx . Thanks to equation (2.32), we
have:
P0n+1 = 1 − S¯n+1
(2.52)
Having calculated all the option prices at the time step n + 1 and the optimal exercise
price at the time step n + 1, we then go to the next time step n + 2 and repeat all
this process (predictor and corrector).
We now sum up the whole predictor-corrector scheme:
PREDICTOR:
n+1
= [κ0 P0n + κ1 P1n + κ2 P2n + κ3 ]κ4
S¯Approx
(2.53)
n+1
P0n+1 Approx = 1 − S¯Approx
(2.54)
Pn+1 = A−1 (BPn + Pn0 ) − Pn+1
Approx
0
(2.55)
α − P1n+1
S¯n+1 =
β
(2.56)
P0n+1 = 1 − S¯n+1
(2.57)
CORRECTOR:
2.4
Numerical Experiments
We implement the algorithm described in Section 2.3. The code can be found in
Appendix A.1. In order to study the convergence and the accuracy of our scheme, we
will focus on three different cases of parameters that will enable us to judge the quality
24
of the scheme. In all the simulations, we will set the highest value of x to seven i.e.
xmax = 7. This value is arbitrary and seems big enough to obtain good results as we
¯ > 1000S(t).
¯
will see in the following sections. Indeed xmax = 7 implies Smax = e7 S(t)
2.4.1
Case 1: The initial asset price is equal to the strike
Firstly, in order to test this code, we look at the case where the initial asset price is
equal to the option strike. We calculate the value of an American put option which
has the following characteristics: T = 5, S0 = 100, X = 100, σ = 0.2, r = 0.04,
q = 0.02. Using a binomial tree method (BTM) with 10000 time steps, we find that
the value of an American put with such parameters is 12.97257720. We can make the
following observations.
First, we simulate results with an increasing number of time steps. We also keep
the number of steps in the S direction constant and equal to 600. According to the
Figure 2.1, we see that our algorithm converges to the option value given by the
binomial tree method when the number of time steps increases.
Then we also generate values with our code using an increasing number of asset
price steps while the number of time steps remains constant and equal to 1000. In
Figure 2.2, we can observe that the option value obtained converges to the solution
given by the BTM when the number of steps in the S direction increases.
2.4.2
Case 2: In the money
In the second case, we apply our scheme to an American put ”in the money” which
means that the initial value of the stock price is lower than the option strike. We will
25
Accuracy of the front−fixing PC according to the number of time steps. (M=1000)
24
22
Option Value
20
Front−fixing PC
BTM (1000 time steps)
18
16
14
12
0
200
400
600
Number of time steps
800
1000
Figure 2.1: Case S0 = X: Convergence with the number of time steps
deal with an extreme case in order to see if our scheme is stable so we take an initial
asset price ten times lower than the strike. For the parameters of the option, we use
the following values: T = 20, S0 = 10, X = 100, σ = 0.2, r = 0.05, q = 0.03. The
binomial tree method with 10000 time steps gives an option value equal to 90.
First, we use our code with an increasing number of asset price steps and a constant
number of time steps equal to 1000. In that case, Figure 2.3 shows that the value given
by the front-fixing predictor-corrector converges to the value given by the binomial
tree method. Then we do the same experiment but this time we raise the number of
time steps and keep the number of stock price steps constant and equal to 600. We
26
Accuracy of the front−fixing PC according to the number of steps in the S direction. (N=1000)
24
22
Option Value
20
Front−fixing PC
BTM (1000 time steps)
18
16
14
12
0
100
200
300
400
Number of steps in the asset price direction
500
Figure 2.2: Case S0 = X: Convergence with the number of steps in the S direction
conclude by observing the Figure 2.4 that the result obtained using the front-fixing
PC gets closer to the value given by the binomial tree method when the number of
time steps gets bigger.
2.4.3
Case 3: Out of the money
We study in that case a ”out of the money” scenario which means that the initial
asset price is bigger than the strike. Thus, the value of the American put should be
very small. We want to see if our scheme works well for extreme case, so we choose to
take an initial stock price ten times bigger than the option strike. Indeed we compute
27
Accuracy of the front−fixing PC according to the number of asset price steps. (N=1000)
99
98
97
Option Value
96
Front−fixing PC
BTM (1000 time steps)
95
94
93
92
91
90
89
0
100
200
300
Number of asset price steps
400
500
Figure 2.3: In the money: Convergence with the number of steps in the S direction
simulations with the following set of parameters: T = 10, S0 = 1000, X = 100,
σ = 0.2, r = 0.03, q = 0.02. Using a binomial tree method with 10000 time steps, we
find that the value of an American put with such characteristics is 0.0025729828.
To begin with, we focus on the effect of increasing the number of asset price steps
keeping the number of time steps constant and equal to 1000. Figure 2.5 indicates
that the option value calculated by our scheme converges to the value obtained by the
binomial tree method. Now we do the same experiment by increasing the number of
time steps and letting the asset price steps be equal to 600. We observe by looking at
Figure 2.6 that the option value obtained by the front-fixing PC is getting closer to
28
Accuracy of the front−fixing PC according to the number of time steps. (M=1000)
102
100
Option Value
98
Front−fixing PC
BTM (1000 time steps)
96
94
92
90
0
200
400
600
Number of time steps
800
1000
Figure 2.4: In the money: Convergence with the number of time steps
the BTM value as the number of time steps gets higher. Therefore, when the option
is out of the money, the scheme still gives good results.
2.4.4
Order of Convergence
We will now focus on the order of convergence of our scheme. To do so, we will use
the following method. To begin with, we consider the order of convergence in asset
price. We first compute the difference of the discrete solutions at the points of the
grid (denoted by I):
ǫx (∆t, ∆x) = max PiN (∆t, ∆x) − PiN (∆t,
i∈I
29
∆x
)
2
(2.58)
Accuracy of the front−fixing PC according to the number of asset price steps. (N=1000)
0.035
0.03
Option Value
0.025
Front−fixing PC
BTM (1000 time steps)
0.02
0.015
0.01
0.005
0
0
100
200
300
Number of asset price steps
400
500
Figure 2.5: Out of the money: Convergence with the number of steps in the S
direction
The time step remains constant in the difference but the step in the asset price
direction is divided by 2. Then the scheme has an order of convergence in asset price
αx which is defined by:
ǫx (∆t, ∆x)
= 2 αx ,
ǫx (∆t, ∆x
)
2
for ∆t, ∆x small enough
(2.59)
We implement this simulation using the parameters (T = 1, S0 = 100, X = 100,
σ = 0.3, r = 0.04, q = 0.02) and a number of time steps equal to 1000 which
corresponds to a ∆t equal to 4.5 ∗ 10−5 . By running our code, we obtain the following
results which are displayed in Table 2.1.
30
Accuracy of the front−fixing PC according to the number of time steps. (M=1000)
0.06
0.05
Option Value
0.04
Front−fixing PC
BTM (1000 time steps)
0.03
0.02
0.01
0
0
200
400
600
Number of time steps
800
1000
Figure 2.6: Out of the money: Convergence with the number of time steps
Therefore, the order of convergence of the scheme in asset price is 1.8 which is lower
than 2. In our scheme, we use both the Euler scheme for the predictor which has
an order of convergence in asset price equal to 1 and the Crank-Nicholson scheme
for the corrector which has an order of convergence in asset price equal to 2. We
thus don’t manage to keep the high order of convergence of the Crank-Nicholson
scheme because the Euler scheme introduces some error. Nevertheless the order of
convergence obtained is really better than the Euler scheme’s one and is quite close
to the Crank-Nicholson ’s order of convergence in asset price.
Then we focus on the order of convergence in time. To do so, we apply the same
31
Table 2.1: Order of convergence in asset price
Grid intervals
ǫx (∆t, ∆x)
Ratio
αx
50 and 100
2.38380479 . 10−3
100 and 200
7.09804124 . 10−4
3.35839806
1.74777323
200 and 400
2.01704958 . 10−4
3.51902168
1.81517440
400 and 800
5.70893258 . 10−5
3.53314662
1.82095362
technique as before but instead of varying the number of steps in asset price, we only
change the number of time steps. So, we begin by computing the difference of the
discrete solutions at the points of the grid (denoted by I):
ǫt (∆t, ∆x) = max PiN (∆t, ∆x) − PiN (
i∈I
∆t
, ∆x)
2
(2.60)
The asset price step remains constant in the difference but the time step is divided
by 2. Then the scheme has an order of convergence in time αt which is defined by:
ǫt (∆t, ∆x)
= 2 αt ,
,
∆t)
ǫt ( ∆t
2
for ∆t, ∆x small enough
(2.61)
We implement this simulation using the same parameters as before (T = 1, S0 = 100,
X = 100, σ = 0.3, r = 0.04, q = 0.02) and a number of asset price steps equal to 600
which corresponds to a ∆x equal to 1.36 ∗ 10−4 . By running our code, we obtain the
following results which are displayed in Table 2.2.
Thus the order of convergence in time is 1. This is the value we expected. Indeed
having used the Euler scheme and the Crank-Nicholson which have both an order
of convergence in time equal to 1, the whole scheme should also have an order of
convergence in time equal to 1.
All these results confirm that the front-fixing predictor-corrector scheme is very
32
Table 2.2: Order of convergence in time
Grid intervals
ǫt (∆t, ∆x)
Ratio
αt
100 and 200
4.96294623 . 10−4
200 and 400
2.36516084 . 10−4
2.09835464
1.06925852
400 and 800
1.16685785 . 10−4
2.02694856
1.01930947
800 and 1600
5.82597960 . 10−5
2.00285262
1.00205626
accurate. Therefore, we now conclude this chapter by giving the main advantages
and drawbacks of this technique.
2.5
Conclusion : advantages and drawbacks
We now give some evaluation of the algorithm used.
Due to the use of the Crank-Nicholson scheme in the corrector, the predictor-corrector
scheme is very stable. Using an Euler scheme in the predictor, we just have to satisfy
the following condition in the choice of the time step and the stock price step to
ensure the stability:
∆t
∆x2
≤1
We also reach a great computational efficiency. Indeed, the optimal exercise price
being very difficult to calculate with a high accuracy, we use an explicit Euler scheme
which reduces the number of matrices equations we have to solve. Therefore the
efficiency in this algorithm comes from the fact that we have only one set of linear
algebraic equations that needs to be solved at each time step. Moreover, another
good point of the front-fixing predictor-corrector scheme is that it converges quickly
in terms of number of stock price or time steps to the exact value of the American
33
put option.
Nevertheless, as we introduce it in Section 1.1.2, the Crank-Nicholson scheme has
an order of convergence of 1 in time and 2 in stock price. But here, our algorithm
reaches an order of convergence of 1 in time but only 1.8 in stock price. Therefore
it does not manage to keep the order of convergence of the Crank-Nicholson scheme.
An explanation of this fact can be that the errors introduced in the predictor reduced
the order of convergence in the stock price direction which then is not 2 but 1.8.
34
Chapter 3
A linearly implicit
predictor-corrector scheme using a
penalty method approach for
valuing American options.
3.1
Introduction
This chapter is based on the method developed by A.Q.M. Khaliq, D.A. Voss and
S.H.K. Kazmi in their article A linearly implicit predictor-corrector scheme for pricing
American options using a penalty method approach see [1]. As already mentioned (see
Section 1.3 ), the valuation of an American option leads to a free boundary problem.
Indeed, the Partial Differential Equation obtained is non linear due to the possibility
of early exercise. To handle this problem, we choose to use a penalty method : we
35
add a new penalty term that will remove the free and moving boundary in order to
solve the PDE on a fixed domain. Then a classical way to solve the newly obtained
equation (which is still non linear) is to use Newton method ([23]). Instead of using
this technique, we will treat the penalty term explicitly using a predictor-corrector
scheme.
3.2
The Black & Scholes model
We will study this method applied to an American put option. We consider an underlying asset with no dividend yield. As we already saw it, we have the following
equations under the Black & Scholes model:
∂V
∂ 2V
1
∂V
+ σ 2 S 2 2 + rS
− rV = 0,
∂t
2
∂S
∂S
¯
S > S(t),
V (S, T ) = max(X − S, 0),
0 ≤ t < T,
S ≥ 0,
(3.1)
(3.2)
∂V ¯
(S, t) = −1,
∂S
(3.3)
¯
¯
V (S(t),
t) = X − S(t)
(3.4)
lim V (S, t) = 0,
(3.5)
¯ ) = X,
S(T
(3.6)
S→∞
V (S, t) = X − S,
¯
0 ≤ S < S(t),
(3.7)
The value V of the option should also satisfy the following constraint due to the
fact that early exercise is permitted:
V (S, t) ≥ max(X − S, 0),
36
S ≥ 0,
0 ≤ t ≤ T.
(3.8)
To solve these equations, we need to determine two things : the option value but
also whether or not the option should be exercised. To do so, we have to calculate
¯
the optimal exercise price S(t).
In order to eliminate this step, we use the following
penalty method.
3.3
The Penalty Method
To eliminate the calculation of the optimal exercise price, we add a penalty term
to the Black & Scholes equation (3.1). This technique was introduced by Zvan et
al. in [24] and was developed by Nielsen et al. in [2]. In the latter article, it is
proven that the penalty method satisfies some of the fundamental properties of the
American options such as the early exercise constraint mentioned in equation (3.8).
To do so, we have to choose the penalty term in a way that the option value stays
above the pay-off function. Moreover, we need the penalty term to be small enough
when the underlying asset price is far from the optimal exercise price for the PDE to
be close to the Black & Scholes equation (3.1). A term of this form can satisfy these
constraints:
ǫC
.
V +ǫ−X+S
C and ǫ are the parameters we use to calibrate the penalty
term. By construction, C should be high enough and on the contrary ǫ is a small
regularization parameter. Indeed Nielsen et al. proved in [2] that C and ǫ should
satisfy the following conditions: 0 < ǫ ≪ 1 and C ≥ rX. Then the penalty term
verifies
ǫC
= 0,
S→∞ V + ǫ − X + S
lim
(3.9)
Therefore, by adding the penalty term to the previous system of equations, we
obtain a new non linear Partial Differential Equation defined on a fixed domain :
37
∂V
∂V
1 2 2 ∂ 2V
ǫC
+ rS
+ σ S
− rV +
= 0,
2
∂t
2
∂S
∂S
V +ǫ−X +S
S ∈ [0, S∞ ],
t ∈ [0, T ),
(3.10)
V (S, T ) = max(X − S, 0),
(3.11)
V (0, t) = X
(3.12)
V (S∞ , t) = 0
(3.13)
Equation (3.12) is the option value when the underlying asset price is null, this
means that the put option is exercised because the holder won’t be able to get more
money. Equation (3.13) denotes the option value when the underlying asset price is
very high.
3.4
The linearly implicit predictor-corrector scheme
We introduce the change of variables τ = T − t. The system of equations becomes:
∂V
1
∂ 2V
ǫC
∂V
= σ 2 S 2 2 +rS
−rV +
,
∂τ
2
∂S
∂S
V +ǫ−X +S
S ∈ [0, S∞ ],
V (S, τ = 0) = max(X − S, 0),
V (0, τ ) = −rV +
ǫC
V +ǫ−X +S
V (S = ∞, τ ) = 0
τ ∈ (0, T ], (3.14)
(3.15)
(3.16)
(3.17)
Having V (0, τ ) = X and using equation (3.16), we deduce that C = (1 + r)X.
We then discretize the problem in time and in the underlying price. Using a finite
difference method, we are only able to solve this equation on a bounded domain. The
38
time t belongs to [0, T ] but the stock price verifying S ≥ 0 is not bounded. Therefore
in order to truncate the domain in the S direction, we introduce Smax which is the
highest stock price that will be taken into account. Let ∆τ =
the time τ direction and h =
the mesh { τn = n∆τ,
Smax
M
Si = ih,
T
N
be the step in
be the step size in the S direction. We consider
n = 0, 1, ..., N,
i = 0, 1, ..., M }. We denote
V (Si , τn ) = Vin . We use the following difference discretization at the point (Si , τn ):
n
V n − Vi−1
∂V
|(Si ,τn ) = i+1
+ O(h2 )
∂S
2h
n
n
Vi+1
+ Vi−1
− 2Vin
∂2V
|
=
+ O(h2 )
(Si ,τn )
2
2
∂S
h
n+1
− Vin
V
∂V
|(Si ,τn ) = i
+ O(∆τ )
∂τ
∆τ
(3.18)
(3.19)
(3.20)
First we dicretize only in the S direction. From equation (3.14) we obtain the following
equation :
1
Vi+1 + Vi−1 − 2Vi
Vi+1 − Vi−1
ǫC
∂V
|(Si ,τ ) = σ 2 (ih)2
+ r(ih)
− rV +
2
∂τ
2
h
2h
Vi + ǫ − X + ih
(3.21)
This leads to
∂V
ǫC
1
1
ri
ri
|(Si ,τ ) = ( σ 2 i2 + ) Vi+1 + ( σ 2 i2 − ) Vi−1 + (−σ 2 i2 − r) Vi +
∂τ
2
2
2
2
Vi + ǫ − X + ih
b
a
c
(3.22)
Therefore we can write this system of equation in the following way:
∂V
|(S ,τ ) = F(τ, V)
∂τ i
39
(3.23)
where
..
.
0
a b
c a
Vi−1
b
.
.
.
V
.. .. ..
F(τ, V) = AV + g(τ, V) =
i
c
a b
Vi+1
.
..
0
c a
A
ǫC
+
Vi + ǫ − X + ih
g(τ,V)
V
(3.24)
A is a M × M non symmetric tridiagonal matrix and g(τ, V) is the non linear discretized penalty term. Now we discretize in time by applying the following AdamsMoulton formula [20] to the equation (3.23) :
1
1
Vn+1 − Vn = ∆τ [ Fn + Fn+1 ]
2
2
(3.25)
Then by using the split form developed by Voss and Khaliq in [4] we obtain
1
1
˜ n+1
Vn+1 − Vn = ∆τ [ Fn + ( − φ)Fn+1 ] + φ∆τ F
2
2
(3.26)
˜ n+1 is the predicted value of Fn+1 obtained by using the separate implicit
where F
predictor
˜ n+1 − Vn = ∆τ [( 1 + φ)Fn + ( 1 − φ)F
˜ n+1 ]
V
2
2
(3.27)
where φ = 0, 21 . Replacing F(τ, V) = AV + g(τ, V) by its expression in equation
(3.27) and in equation (3.26), this yields to:
˜ n+1 − Vn = ∆τ [( 1 + φ)(AVn + gn ) + ( 1 − φ)(AV
˜ n+1 + g
˜ n+1 )]
V
2
2
(3.28)
1
1
˜ n+1 +˜
gn+1 ) (3.29)
Vn+1 −Vn = ∆τ [ (AVn +gn )+( −φ)(AVn+1 +gn+1 )]+φ∆τ (AV
2
2
40
The non linear term g(τ, V) is treated explicitly by calculating its value at the most
current available values. Therefore we obtain the following predictor-corrector
scheme by introducing the matrix B = I − ∆τ ( 12 − φ)A:
˜
BV
n+1
BVn+1 = [I +
1
= [I + ∆τ ( + φ)A]Vn + ∆τ gn
2
(3.30)
∆τ n
∆τ
˜ n+1
˜ n+1 ] + φ∆τ AV
A]Vn +
[g + g
2
2
(3.31)
To ensure the stability of the scheme, Khaliq et al. show in [1] that φ should take
the values − 21 ±
− 21 +
√
2
2
√
2
.
2
Moreover various different tests also reveals that the value
gives more accurate results. So we will take the value φ = − 12 +
√
2
2
for our
computations.
3.5
Numerical experiments
We then implement the scheme we introduced before. The code used can be found
in Appendix A.2. We want to study the behaviour of our scheme when it has to face
a wide range of different cases. Thus we will run simulations with different set of
parameters to judge the robustness of our scheme. In all the simulations, we will set
the highest value of S to five times the option strike i.e. Smax = 5X. As already
mentioned, we have C = (1 + r)X and we also take ǫ = 10−3 which satisfies the
condition 0 < ǫ ≪ 1. These values of Smax and ǫ are arbitrary and seems respectively
big and small enough to obtain good results as we will see in the following sections.
41
3.5.1
Case 1: The initial asset price is equal to the strike
To begin with, we focus on the case in which the initial asset price is equal to the
option strike. Concerning the American option, we use the following values: We
calculate the price of an American put having the following parameters: T = 5,
S0 = 100, X = 100, σ = 0.2, r = 0.02, q = 0. Using a binomial tree method
(BTM) with 10000 time steps, we find that the value of an American put with such
parameters is 13.676950411. We run the following simulations.
Firstly, we want to know the effect of increasing the number of asset price steps. To
do so, we keep the number of time steps constant and equal to 1000. Figure 3.1 shows
that the option value calculated by our scheme converges to the value obtained by
the binomial tree method
We then do the same experiment but we focus on the effect of the number of time
steps. Therefore we increase the number of time and at the same time, we keep the
number of asset price steps constant and equal to 1000. According to Figure 3.2, we
observe that the result given by our algorithm gets closer to the value obtained using
the BTM as the number of time steps increase.
3.5.2
Case 2: In the money
In the second case, we apply our scheme to an American put ”in the money” which
means that the initial value of the stock price is lower than the option strike. Therefore
the price of this put should be high. We will focus on an extreme case in order to see
the robustness of our scheme so we take an initial asset price ten times lower than
the strike. For the parameters of the option, we use the following values: T = 20,
42
Accuracy of the linearly implicit PC scheme in the S direction. (N=1000)
15
14.9
14.8
14.7
14.6
Option Value
14.5
Linearly implicit PC
BTM (1000 time steps)
14.4
14.3
14.2
14.1
14
13.9
13.8
13.7
13.6
13.5
0
100
200
300
Number of steps in the S direction
400
500
Figure 3.1: Case S0 = X: Convergence with the number of steps in the S direction
S0 = 10, X = 100, σ = 0.2, r = 0.05, q = 0. The binomial tree method with 10000
time steps gives an option value equal to 90.
In the first simulation, we deal with an increasing number of asset price steps and a
constant number of time steps equal to 1000. In that case, Figure 3.3 shows that the
value given by the linearly implicit predictor-corrector converges to the value given
by the binomial tree method. In a second time, we observe the effect of raising the
number of time steps and keeping in the meantime the number of stock price steps
constant and equal to 1000. We conclude, by observing the Figure 3.4, that the
result obtained using our algorithm gets closer to the value given by the binomial
43
Accuracy of the linearly implicit PC scheme in the time direction. (M=1000)
14.5
14.4
14.3
Option Value
14.2
Linearly implicit PC
BTM (1000 time steps)
14.1
14
13.9
13.8
13.7
13.6
0
100
200
300
400
Number of steps in the time direction
500
Figure 3.2: Case S0 = X:: Convergence with the number of time steps
tree method when the number of time steps gets bigger.
3.5.3
Case 3: Out of the money
We study in that case a ”out of the money” scenario which means that the initial
asset price is bigger than the strike. Thus, the value of the American put should be
very small. We want to see if our scheme can deal with extreme cases, so we choose to
take an initial stock price ten times bigger than the option strike. Indeed we compute
simulations with the following set of parameters: T = 10, S0 = 1000, X = 100,
σ = 0.3, r = 0.03, q = 0. Using a binomial tree method with 10000 time steps, we
44
Accuracy of the linearly implicit PC scheme in the S direction. (N=1000)
91.4
91.2
Option Value
91
Linearly implicit PC
BTM (1000 time steps)
90.8
90.6
90.4
90.2
90
89.8
0
100
200
300
Number of steps in the S direction
400
500
Figure 3.3: In the money: Convergence with the number of steps in the S direction
find that the value of an American put with such characteristics is 0.22788404.
To begin with, we focus on the effect of increasing the number of asset price steps
and keeping the number of time steps constant and equal to 1000. Figure 3.5 shows
that the option value calculated by our algorithm gets closer to the value obtained
by the binomial tree method as the number of asset price steps increases. Now we
focus on the time steps. We proceed by increasing the number of time steps and
letting the asset price steps be equal to 1000. Figure 3.6 indicates that the option
value calculated by our scheme converges to the value obtained by the binomial tree
method as the number of time steps gets bigger. Therefore, when the option is out
45
Accuracy of the linearly implicit PC scheme in the time direction. (M=1000)
91.6
91.4
91.2
Option Value
91
Linearly implicit PC
BTM (1000 time steps)
90.8
90.6
90.4
90.2
90
89.8
0
100
200
300
400
Number of steps in the time direction
500
Figure 3.4: In the money: Convergence with the number of time steps
of the money, the scheme still gives good results.
3.5.4
Order of Convergence
In this subsection, we will determine numerically the order of convergence of our
scheme. We proceed using the same technique as in the Section 2.4.4. We first focus
on the order of convergence in asset price. We compute the difference of the discrete
solutions at the points of the grid (denoted by I):
ǫx (∆t, ∆x) = max PiN (∆t, ∆x) − PiN (∆t,
i∈I
46
∆x
)
2
(3.32)
Accuracy of the linearly implicit PC scheme in the S direction. (N=1000)
1.2
Option Value
1
Linearly implicit PC
BTM (1000 time steps)
0.8
0.6
0.4
0.2
0
100
200
300
Number of steps in the S direction
400
500
Figure 3.5: Out of the money: Convergence with the number of steps in the S
direction
The time step remains constant in the difference but the step in the asset price
direction is divided by 2. Then the scheme has an order of convergence in asset price
αx which is defined by:
ǫx (∆t, ∆x)
= 2 αx ,
ǫx (∆t, ∆x
)
2
for ∆t, ∆x small enough
(3.33)
We do this simulation with the following parameters:T = 1, S0 = 100, X = 100,
σ = 0.3, r = 0.04. We set the number of time steps to 10000. ∆t is then equal to
10−3 . With this configuration, we obtain the following results which can be seen in
Table 3.1.
47
Accuracy of the linearly implicit PC scheme in the time direction. (M=1000)
1.2
Option Value
1
Linearly implicit PC
BTM (1000 time steps)
0.8
0.6
0.4
0.2
0
100
200
300
400
500
Number of steps in the time direction
Figure 3.6: Out of the money: Convergence with the number of time steps
We observe that the order of convergence of the scheme in asset price is numerically
almost 2. This agree with the theory developed by Khaliq and al in [1]. Indeed they
manage to derive that this scheme is in O(∆t2 , ∆S 2 ). Therefore its theoretical order
of convergence in asset price is 2 and we found 1.98 numerically.
The next step is now to determine numerically the order of convergence in time and
compare to its theoretical value which is 2. To do so, we apply the same technique as
before but instead of varying the number of steps in asset price, we only change the
number of time steps. We start by computing the difference of the discrete solutions
48
Table 3.1: Order of convergence in asset price
Grid intervals
ǫx (∆t, ∆x)
Ratio
αx
50 and 100
6.94427651 . 10−4
100 and 200
1.75340809 . 10−4
3.96044510
1.98566258
200 and 400
4.42497769 . 10−5
3.96252413
1.98641972
400 and 800
1.11645232 . 10−5
3.96342735
1.98674853
at the points of the grid (denoted by I):
ǫt (∆t, ∆x) = max PiN (∆t, ∆x) − PiN (
i∈I
∆t
, ∆x)
2
(3.34)
The asset price step remains constant in the difference but the time step is divided
by 2. Then the scheme has an order of convergence in time αt which is defined by:
ǫt (∆t, ∆x)
= 2 αt ,
ǫt ( ∆t
,
∆t)
2
for ∆t, ∆x small enough
(3.35)
In order to run our simulations, we take the parameters: T = 1, S0 = 100, X = 100,
σ = 0.3, r = 0.04. We choose a number of asset price steps equal to 1000. Table 3.2
shows the outcome of the simulation.
We deduce from it that the order of convergence in time is 1.95. This figure agrees
with the theoretical order of convergence in time which is 2. This is a high value
compare to the previous scheme developed in Chapter 2.
3.6
Conclusion : advantages and drawbacks
The main difficulty to price American options is to determine if whether or not the
option should be exercised by calculating the optimal exercise boundary. In this
49
Table 3.2: Order of convergence in time
Grid intervals
ǫt (∆t, ∆x)
Ratio
αt
100 and 200
9.67548549 . 10−4
200 and 400
2.51742464 . 10−4
3.84340620
1.94238546
400 and 800
6.49455807 . 10−5
3.87620622
1.95464533
800 and 1600
1.67291497 . 10−5
3.88218061
1.95686724
method, we don’t have to face this difficulty because the use of a penalty term enables us to get rid of the free boundary problem: the system of equation can then be
solved on a fixed domain.
The main strength of this scheme is that its order of convergence in time and also
in stock price is equal to 2: O(∆t2 , ∆S 2 ). This result was confirmed by our numerical simulations. Therefore, having a second order of convergence in time makes this
technique very efficient.
It can be both used to price American calls and American puts. We just need to
change the boundary conditions to respect the characteristics of the considered type.
3.7
Comparison of the two schemes
We now compare the two schemes already introduced: the front-fixing predictorcorrector (Section 2.3) and the linearly implicit predictor-corrector (Section 3.4). We
use the following criteria to compare the two schemes: the order of convergence, the
number of steps implied and the time needed by the CPU to reach a specific accuracy.
50
Therefore, we will use the same set of parameters for both schemes: T = 25, X = 100,
S0 = 100, σ = 0.4, r = 0.045, q = 0. Using a binomial tree method with 10000
time steps, we found that the value of such an American put option is 34.61660027.
Firstly, setting the number of time steps constant and equal to 1000, we compute the
number of asset price steps needed by each scheme to calculate the option value with
a precision of 10−2 and we also measure the CPU time used to do this task. Then we
do the same experiment but we inverse the role of the two kind of steps. We make
the number of asset price steps equal to 1000 and we determine how many time steps
are needed to reach an accuracy of 10−2 measuring also the related CPU time. Thus,
we have the following results displayed by Table 3.3.
Table 3.3: Number of steps and CPU time for the same accuracy (10−2 )
Front-fixing PC
Simulation
Linearly implicit PC
Number of steps
Related
Number of steps
Related
needed to reach an
CPU time
needed to reach an
CPU time
accuracy of 10−2
accuracy of 10−2
Using 1000
486 steps in
141.3
434 steps in
90.2
time steps
the S direction
seconds
the S direction
seconds
Using 1000
865 time
460.8
457 time
217.8
asset price steps
steps
seconds
steps
seconds
The first comment that can be made is that the linearly implicit PC is faster than
the front-fixing PC for the same accuracy. Moreover we can see that for the frontfixing PC, it requires to reach the specific accuracy much more time steps when we
51
set the number of stock price steps equal to 1000 than asset price steps when we set
the number of time steps equal to 1000. Whereas concerning the linearly implicit PC,
these two numbers have the same order of magnitude. This comes from the fact that
the order of convergence in time of the front-fixing PC is only 1 which can be seen
in Table 3.4. This table also shows that the linearly implicit PC is in O(∆t1.95 , ∆S 2 )
which is better than the front-fixing PC which is only in O(∆t, ∆S 1.8 ).
Table 3.4: Order of convergence (calculated numerically)
Order of convergence
Front-fixing PC
Linearly implicit PC
in asset price
1.8
2
in time
1
1.95
Therefore for these reasons, it seems that the linearly implicit PC is more efficient
than the front-fixing PC.
52
Chapter 4
Predictor-Corrector Schemes for
Jump-Diffusion Processes
4.1
Introduction
In this chapter, we will focus on a different topic compared to the last two previous
chapters. We will study a modified Black & Scholes equation developed by Merton in
[18] which includes jump-diffusion process to model the discontinuity of the underlying
asset returns. Indeed bankruptcy of companies or decisions taken by central banks,
governments or control agencies can have strong impacts on the financial sector. This
often leads to a jump in the interest rates which is not taken into account in the
traditional Black & Scholes formula. This discontinuity of financial quantities have
been highlighted by Jorion [14], Bates [3], Das [5] and Johannes [13]. Starting from
this new equation, we will develop predictor-corrector schemes using a Monte-Carlo
simulation technique in order to compute option prices.
53
All this chapter is based on the methods introduced by Nicola Bruti-Liberati and
Eckhard Platen in their article On Weak Predictor-Corrector Schemes for JumpDiffusion Processes in Finance see [21].
4.2
The Jump-Diffusion Stochastic Differential Equation
In this section, we focus on how to model the behaviour of the underlying stock price.
This model will then be used in a Monte-Carlo simulation to compute the option
price.
4.2.1
The General Theory
As we explained in Section 4.1, we will introduce jump-diffusion processes in the
traditional SDE in order to model the discontinuity of financial quantities. Therefore,
we will now consider the following jump-diffusion SDE :
dSt = a(t, St )dt + b(t, St )dWt + c(t, St− )dJt
(4.1)
where : Wt is a standard Wiener process. Jt is a compound Poisson process. Jt is
defined by
Nt
Jt =
ξi
(4.2)
i=1
Nt is a standard Poisson process with constant intensity λ, the compound Poisson
process J generating a sequence of pairs of {(τi , ξi ), i ∈ {1, 2, ..., Nt }} jump times and
marks. In other words, ξi represents the variation (jump or fall) of the stock price
due to the jump at time τi .
54
4.2.2
The Merton Jump-Diffusion Model
If we specify the coefficients a(t, St ), b(t, St ) and c(t, St− ) using Merton model see [18],
we then get an easier SDE :
dSt = St− (µdt + σdWt + dJt )
(4.3)
where µ is the drift of the underlying stock and σ its volatility. This SDE has the
property to be linear and thus we can explicit its solution :
Nt
St = S 0 e
(µ− 12 σ 2 )t+σdWt
(1 + ξi )
(4.4)
i=1
4.3
Predictor-Corrector Schemes
In this section, we will introduce two different predictor-corrector schemes for the
jump-diffusion SDE (4.1) and (4.3). The first PC scheme introduced will be based on
regular time discretizations which don’t take into account the jump times generated
by the Poisson processes. Then, in the second scheme, we will include these jump
times in the time discretizations. As we did it in the previous part, we will first study
the general case and then apply it to the Merton model.
4.3.1
The Regular Predictor-Corrector Scheme
The regular predictor-corrector scheme we are going to introduce is designed to use
only the discretized times and do not include the different jump times due to the
Poisson processes. Therefore we introduce the following discretization: we consider
the equidistant times 0 = t0 < t1 < ... < tN = T with the notation tn = n∆t,
55
∆t being the time step size: ∆t =
T
.
N
We denote the corresponding discrete time
approximation of the solution S by Sn = S(tn ).
4.3.1.1
The General Theory
First, we introduce the Euler explicit scheme applied to equation (4.1)
Sn+1 = Sn + a(tn , Sn )∆t + b(tn , Sn )∆Wtn + c(tn , Sn )ξn ∆pn
(4.5)
for n ∈ {0, 1, ..., N − 1}. In equation (4.5), ∆Wtn refers to ∆Wtn = Wtn+1 − Wtn ∼
N (0, ∆t) and we have also ∆pn = Ntn+1 − Ntn ∼ P oisson(λ∆t). This explicit scheme
will be used in order to build the predictor.
Therefore we have the following regular predictor-corrector scheme:
PREDICTOR:
S¯n+1 = Sn + a(tn , Sn )∆t + b(tn , Sn )∆Wtn + c(tn , Sn )ξn ∆pn
(4.6)
CORRECTOR:
1
Sn+1 = Sn + [a(tn+1 , S¯n+1 ) + a(tn , Sn )]∆t + b(tn , Sn )∆Wtn + c(tn , Sn )ξn ∆pn (4.7)
2
4.3.1.2
The Merton Jump-Diffusion Model
If we consider the special case given by the Merton SDE (4.3), the predictor-corrector
becomes:
PREDICTOR:
S¯n+1 = Sn (1 + µ∆t + σ∆Wtn + ξn ∆pn )
(4.8)
1
Sn+1 = Sn (1 + σ∆Wtn + ξn ∆pn ) + µ∆t(S¯n+1 + Sn )
2
(4.9)
CORRECTOR:
56
4.3.2
The Jump-Adapted Predictor-Corrector Scheme
We will now introduce another predictor-corrector scheme. Contrary to the regular
predictor-corrector scheme developed in Section 4.3.1, the jump-adapted predictorcorrector scheme will, according to its name, take into account in the time discretization all the jump times.
So first as in Section 4.3.1, we choose an equidistant time discretization 0 = t0 < t1 <
... < tN = T with the notation tn = n∆t, ∆t being the time step size: ∆t =
T
.
N
Then
we simulate all the jump times τi generated by the Poisson process and add them
in the previous time discretization. Therefore, we finally get a time discretization
0 = t0 < t1 < ... < tM = T to which belong all the jump times. The maximum time
step is also guaranteed to be less than ∆t =
T
.
N
We can observe that the number of
points M in the final time discretization is random. Indeed it is equal to the random number of jump times plus N + 1, the number of points in the equidistant time
discretization.
4.3.2.1
The General Theory
Having included all the jump times in the time discretization, we now know that the
jumps only appears at discretization times. Therefore we can separate the diffusion
part (between two discretization points) from the jump part (at jump times) during
the scheme.
JUMP:
Sn+1 = Sn+1− + c(tn+1− , Sn+1− )∆Jn+1
57
(4.10)
PREDICTOR:
S¯n+1− = Sn + a(tn , Sn )∆t + b(tn , Sn )∆Wtn
(4.11)
CORRECTOR:
1
Sn+1− = Sn + [a(tn+1− , S¯n+1− ) + a(tn , Sn )]∆t + b(tn , Sn )∆Wtn
2
(4.12)
In equation (4.10), ∆Jn+1 = ξn+1 if tn+1 is a jump time and ∆Jn+1 = 0 in the
other case.
4.3.2.2
The Merton Jump-Diffusion Model
We can adapt this scheme to the special case of the Merton SDE (4.3). Then we
obtain the following jump-adapted predictor-corrector scheme.
JUMP:
Sn+1 = Sn+1− (1 + ∆Jn+1 )
(4.13)
S¯n+1− = Sn (1 + µ∆t + σ∆Wtn )
(4.14)
1
Sn+1− = Sn (1 + σ∆Wtn ) + µ∆t(S¯n+1− + Sn )
2
(4.15)
PREDICTOR:
CORRECTOR:
In equation (4.13), ∆Jn+1 = ξn+1 if tn+1 is a jump time and ∆Jn+1 = 0 in the
other case.
4.4
Monte-Carlo Simulation
These schemes give us the behaviour of the underlying stock price. We will then use
it to compute a Monte-Carlo simulation in order to calculate the price of the option
58
on this underlying stock. This type of simulation was well treated by Glasserman in
[8].
Usually the pay-off of an option is a function of the final price of the stock g(ST ).
In the Monte-Carlo simulation, we are looking to calculate the expectation E(g(ST ))
which is equal to the expectation of the pay-off. Then the option value will simply
be the discounted value of this expectation : Option price = e−r(T −t) E(g(ST )). The
Monte-Carlo is based on the law of large number. If we generate a large number M of
different scenarios for the stock price {ST,m }M
m=1 , then by averaging all the discounted
pay-off calculated using these values, we will get a good approximation of the option
value.
e−r(T −t)
Option value at time t ≈
M
M
g(ST,m )
(4.16)
m=1
when M is sufficiently large.
4.5
Numerical Experiments
We will use the Merton jump-diffusion model to implement some numerical computations.
As we already introduce it in Section 4.2.2, Merton develop the following SDE in
[18] :
dSt = St− (µdt + σdWt + dJt )
(4.17)
where µ is the drift of the underlying stock and σ its volatility. The explicit solution
59
of this SDE is :
Nt
St = S 0 e
(µ− 12 σ 2 )t+σdWt
(1 + ξi )
(4.18)
i=1
N (t) is a Poisson process with rate λ. We introduce Yi such as Yi = 1 + ξi .
Therefore equation (4.18) becomes :
Nt
1
St = S0 e(µ− 2 σ
2 )t+σdW
Yi
t
(4.19)
i=1
We will assume that the Yi are i.i.d and independant from N (t) and Wt . To do our
numerical experiments, we study a particular case : we take the Yi to be lognormally
distributed. This case is indeed very interesting because a product of lognormal
random variable is also lognormal. For example, if Yi ∼ LN (a, b2 ) then
n
i=1
Yi ∼
LN (an, b2 n).
Therefore in equation (4.19), S(t) has the following distribution:
n
1
Yi ∼ S0 .LN ((µ − σ 2 )t, σ 2 t).LN (an, b2 n)
2
i=1
(4.20)
1
i.e. S(t) ∼ LN (log(S0 ) + (µ − σ 2 )t + an, σ 2 t + b2 n)
2
(4.21)
1
S0 e(µ− 2 σ
2 )t+σdW
t
If we name Fn,t this lognormal distribution, then we find that S(t) has the following
distribution:
P (S(t) ≤ x) =
∞
n=0
e−λt
(λt)n
Fn,t (x)
n!
(4.22)
Merton then used the property (4.22) to find an expression of the option value in
terms of infinite series, each of them being the product of a Poisson probability and
the classic Black and Scholes formula.
Merton also gives a relation between the risk free rate and the drift of the stock.
µ = r − λ(E[Yi ] − 1)
60
(4.23)
We assumed that the Yi are lognormally distributed (Yi ∼ LN (a, b2 )). Then equation
(4.23) becomes:
1 2
µ = r − λ(ea+ 2 b − 1)
(4.24)
Therefore finally, Merton gives the expression of the price of an European option:
Price of the European call = e−rT E[(S(T ) − X)+ ]
=
∞
e−λt
n=0
=
(λt)n −rT
e E[(S(T ) − X)+ |N (T ) = n]
n!
∞
e
n=0
′
(4.26)
′
t)n
BS(S0 , σn , T, rn , X)
n!
−λ t (λ
(4.25)
(4.27)
1 2
′
where λ = λE[Yi ] = λea+ 2 b ,
σn2 = σ 2 +
b2 n
,
T
rn = r − λ(E[Yi ] − 1) +
n log(E[Yi ])
T
1 2
= r − λ(ea+ 2 b − 1) +
n(a+ 21 b2 )
T
and BS(.) denotes the Black and Scholes European call option formula.
Simulation for European options
As mentioned in equation (4.27), we can find an explicit expression for the value
of a European call option. Therefore we will first start our simulation with this type
of option in order to check if our code is valid. The code giving the exact expression
can be found in Appendix A.3.1.
To implement the two different predictor-corrector schemes, we recall the main hypotheses: we consider that the jumps, the poisson process and the Brownian motion
are mutually independent and that the jumps are lognormally distributed.
In the following subsections, we will perform simulations with our different codes in
61
order to calculate the value of an European call. We will focus on different cases in
order to judge the stability of our scheme. Firstly, we run simulations with different
numbers of time steps. We observe that the number of time steps Ns has no effect
on the accuracy of the scheme applied to an European call. Indeed, this option is
not path dependent: the pay off is only a function of ST . The stock prices St where
0 < t < T are not involved in the calculations of the pay off. Therefore there are no
differences if we simulate the asset price ST using one time step or a large number of
time steps. Consequently, in the further simulations, we will set Ns = 1 i.e the basic
time mesh will be 0 = t0 < t1 = tN s = T .
which has the characteristics: S0 = 100, X = 100, T = 1, σ = 0.4, r = 0.05.
For the jump process, we consider that it follows a lognormal distribution with mean
a = 0, standard deviation b = 0.4 and that the intensity of the jumps is equal to
λ = 1. With such parameters, our program which gives the option exact value using
the explicit formula, prints that the call value is equal to 23.9354. Therefore, we will
compare the output of the different simulations with this exact value.
4.5.1
The Regular Predictor-Corrector Scheme
The code for the regular Predictor-Corrector scheme can be seen in Appendix (A.3.2).
In this approach, we simulate the process at a fixed set of dates 0 = t0 < ... < tN s
without explicitly distinguishing the effects of the jump and diffusion terms.
62
4.5.1.1
Case 1: The initial asset price is equal to the strike
Firstly, we consider the case where the initial asset price is equal to the strike. We
will run our simulation with a European call option which has the characteristics:
S0 = 100, X = 100, T = 1, σ = 0.4, r = 0.05. For the jump process, we consider
that it follows a lognormal distribution with mean a = 0, standard deviation b = 0.4
and that the intensity of the jumps is equal to λ = 1. With such parameters, our
program which gives the option exact value using the explicit formula, prints that the
call value is equal to 23.9354. Therefore, we will compare the output of the different
simulations with this exact value. We begin by looking at the effect of the number
of simulated paths in the Monte Carlo simulation. For that we will simulate 10000
option prices using a specific number of simulated asset price paths. Figure 4.1 shows
the mean value of all the option prices simulated for a certain number of simulated
paths. We can observe that the scheme is getting more accurate when the number of
simulated asset prices increase.
Then we look at the standard error of these 10000 simulated option prices. Figure
4.2 indicates that the standard error is an affine function of
√1
Ms
where Ms is the
number of simulated asset prices. Doing a linear interpolation with Matlab, we obtain
that the standard error follows the equation: Standard Error =
54.46
√
.
Ms
54.46
√
Ms
− 0.0355 ≈
Therefore the standard error is decreasing when the number of simulated paths
increases.
63
Mean value of the estimates of the Regular PC
25.5
Regular PC
Exact value
Mean value
25
24.5
24
23.5
23
22.5
0
10
1
10
2
10
3
10
Ms
4
10
5
10
6
10
Figure 4.1: Case S0 = X: Convergence with the number of simulated paths
4.5.1.2
Case 2: In the money
In the second case, we apply our scheme to an European call ”in the money” which
means that the initial value of the stock price is bigger than the option strike. Therefore the price of this call should be high. We will focus on an extreme case in order to
see the robustness of our scheme so we take an initial asset price ten times bigger than
the strike. For the parameters of the option, we use the following values: T = 20,
S0 = 1000, X = 100, σ = 0.3, r = 0.04. Concerning the jump process, we consider
that it follows a lognormal distribution with mean a = 0, standard deviation b = 0.2
and that the intensity of the jumps is equal to λ = 1.2. The explicit formula gives
64
Standard error of the estimates of the Regular PC
6
y = 54.46*x − 0.0355
5
Regular PC
Linear interpolation
Standard error
4
3
2
1
0
0
0.02
0.04
0.06
0.08
0.1
1/sqrt(Ms)
Figure 4.2: Case S0 = X: Standard error of the simulated option prices
that the exact value of such option is 958.3290.
We run the same simulations as in the previous section. First we focus on the effect of the number of simulated paths. To do so, we generate 10000 option values
with our scheme using a specific number of simulated asset price paths. In that
case, Figure 4.3 shows that the mean value of the estimates given by the regular
predictor-corrector scheme converges to the exact value as the number of simulated
paths increase. In a second time, we calculate the standard error of these 10000
estimates. We observe in Figure 4.4 that the standard error of the option values is
an affine function of
√1
Ms
where Ms is the number of simulated asset prices. Doing
65
Mean value of the estimates of the Regular PC
975
970
Mean value
Regular PC
Exact value
965
960
955
950
0
10
1
10
2
10
3
4
10
Ms
10
5
10
6
10
Figure 4.3: In the money: Convergence with the number of simulated paths
a linear interpolation with Matlab, we obtain that the standard error follows the
equation: Standard Error =
82.31
√
Ms
− 0.05656 ≈
82.31
√
.
Ms
Therefore the standard error is
decreasing as the number of simulated paths increases.
4.5.1.3
Case 3: Out of the money
We study in that case a ”out of the money” scenario for an European call which
means that the initial asset price is lower than the strike. Thus, the value of the
European call should be very small. We want to see if our scheme can deal with
extreme cases, so we choose to take an initial stock price ten times lower than the
66
Standard error of the estimates of the Regular PC
9
8
y = 82.31*x − 0.05656
7
Regular PC
Linear interpolation
Standard error
6
5
4
3
2
1
0
−1
0
0.02
0.04
0.06
0.08
0.1
1/sqrt(Ms)
Figure 4.4: In the money: Standard error of the simulated option prices
option strike. Indeed we compute simulations with the following set of parameters:
T = 10, S0 = 10, X = 100, σ = 0.2, r = 0.03. Concerning the jump process, we
consider that it follows a lognormal distribution with mean a = 0, standard deviation
b = 0.3 and that the intensity of the jumps is equal to λ = 2. The explicit formula
gives that the exact value of such option is 1.5406.
To begin with, we focus on the effect of increasing the number of simulated asset
price paths. We simulate 10000 option values for each specific number of simulated
paths. Figure 4.5 shows that the mean of the 10000 option values calculated by our
algorithm gets closer to the exact value as the number of simulated asset price paths
67
increases. Now we focus on the standard error of these 10000 option values. We can
Mean value of the estimates of the Regular PC
3
Regular PC
Exact value
Mean value
2.5
2
1.5
1
0
10
1
10
2
3
10
4
10
Ms
10
5
10
6
10
Figure 4.5: Out of the money: Convergence with the number of simulated paths
see in Figure 4.6 that the points are not as concentrated on a straight line as in the
previous examples but there is still a trend that indicates that the standard error of the
option values is an affine function of
√1
Ms
where Ms is the number of simulated asset
prices. Indeed doing a linear interpolation with Matlab, we obtain that the standard
error follows the equation: Standard Error =
0.2982
√
Ms
− 0.002205 ≈
0.2982
√
.
Ms
Thus, the
standard error is still decreasing as the number of simulated paths increases.
68
Standard error of the estimates of the Regular PC
0.045
0.04
y = 0.2982*x + 0.002205
0.035
Regular PC
Linear interpolation
Standard error
0.03
0.025
0.02
0.015
0.01
0.005
0
0
0.02
0.04
0.06
0.08
0.1
1/sqrt(Ms)
Figure 4.6: Out of the money: Standard error of the simulated option prices
4.5.2
The Jump-Adapted Predictor-Corrector Scheme
We then implement the jump adapted predictor-corrector scheme. The code can be
found in Appendix A.3.3. Contrary to the regular predictor-corrector, here the jump
times are simulated explicitly. From one discretization time to the next, we use the
predictor-corrector scheme without any jump. The jumps only occur at jump times.
69
4.5.2.1
Case 1: The initial asset price is equal to the strike
Firstly, we consider the case where the initial asset price is equal to the strike. We will
test our scheme using an European call having the following properties: S0 = 100,
X = 100, T = 1, σ = 0.4, r = 0.05. For the jump process, we consider that it follows
a lognormal distribution with mean a = 0, standard deviation b = 0.4 and that the
intensity of the jumps is equal to λ = 1. With such parameters, our program which
gives the option exact value using the explicit formula, prints that the call value is
equal to 23.9354. Therefore, we will compare the output of the different simulations
with this exact value. We first consider the impact of the number of simulated paths
in the Monte Carlo simulation. We use the same method as before: we simulate 10000
option prices using a specific number of simulated asset price paths. Figure 4.7 shows
the mean value of all the option prices simulated for a certain number of simulated
paths. We can conclude that the option value given by the scheme converges to the
exact value as the number of simulated asset prices increase.
Then we look at the standard error of these 10000 simulated option prices. Figure 4.8
indicates that the standard error is an affine function of
√1
Ms
where Ms is the number
of simulated asset prices. Doing a linear interpolation with Matlab, we obtain that
the standard error follows the equation: Standard Error =
51.63
√
Ms
− 0.00971 ≈
51.63
√
.
Ms
Therefore the standard error is decreasing as the number of simulated paths increases.
70
Mean value of the estimates of the Jump−adapted PC
26
25.5
Jump−adapted PC
Exact value
Mean value
25
24.5
24
23.5
23
22.5
0
10
1
10
2
10
3
10
Ms
4
10
5
10
6
10
Figure 4.7: Case S0 = X: Convergence with the number of simulated paths
4.5.2.2
Case 2: In the money
In the second case, we apply our scheme to an European call ”in the money” which
means that the initial value of the stock price is bigger than the option strike. Therefore the price of this call should be high. We will focus on an extreme case in order to
see the robustness of our scheme so we take an initial asset price ten times bigger than
the strike. For the parameters of the option, we use the following values: T = 20,
S0 = 1000, X = 100, σ = 0.3, r = 0.04. Concerning the jump process, we consider
that it follows a lognormal distribution with mean a = 0, standard deviation b = 0.2
and that the intensity of the jumps is equal to λ = 1.2. The explicit formula gives
71
Standard error of the estimates of the Jump−adapted PC
6
y = 51.63*x + 0.00971
5
Jump−adapted PC
Linear interpolation
Standard error
4
3
2
1
0
0
0.02
0.04
0.06
1/sqrt(Ms)
0.08
0.1
Figure 4.8: Case S0 = X: Standard error of the simulated option prices
that the exact value of such option is 958.3290.
We use our code to do some simulations as in the previous section. First we focus
on the effect of the number of simulated paths. To do so, we generate 10000 option
values with our scheme using a specific number of simulated asset price paths. In
that case, Figure 4.9 shows that the mean value of the estimates given by the regular
predictor-corrector scheme converges to the exact value as the number of simulated
paths increase. In a second time, we calculate the standard error of these 10000 estimates. We observe in Figure 4.10 that the standard error of the option values is
an affine function of
√1
Ms
where Ms is the number of simulated asset prices. Doing
72
Mean value of the estimates of the Jump−adapted PC
985
980
Mean value
975
Jump−adapted PC
Exact value
970
965
960
955
950
0
10
1
10
2
10
3
4
10
Ms
10
5
10
6
10
Figure 4.9: In the money: Convergence with the number of simulated paths
a linear interpolation with Matlab, we obtain that the standard error follows the
equation: Standard Error =
85.81
√
Ms
− 0.118 ≈
85.81
√
.
Ms
Therefore the standard error is
decreasing as the number of simulated paths increases.
4.5.2.3
Case 3: Out of the money
We study in that case a ”out of the money” scenario for an European call which
means that the initial asset price is lower than the strike. Thus, the value of the
European call should be very small. We want to see if our scheme can deal with
extreme cases, so we choose to take an initial stock price ten times lower than the
73
Standard error of the estimates of the Jump−adapted PC
9
8
y = 85.81*x − 0.118
7
Jump−adapted PC
Linear interpolation
Standard error
6
5
4
3
2
1
0
−1
0
0.02
0.04
0.06
0.08
0.1
1/sqrt(Ms)
Figure 4.10: In the money: Standard error of the simulated option prices
option strike. Indeed we compute simulations with the following set of parameters:
T = 10, S0 = 10, X = 100, σ = 0.2, r = 0.03. Concerning the jump process, we
consider that it follows a lognormal distribution with mean a = 0, standard deviation
b = 0.3 and that the intensity of the jumps is equal to λ = 2. The explicit formula
gives that the exact value of such option is 1.5406.
To begin with, we deal with the effect of increasing the number of simulated asset
price paths. We simulate 10000 option values for each specific number of simulated
paths. Figure 4.11 shows that the mean of the 10000 option values calculated by our
algorithm gets closer to the exact value as the number of simulated asset price paths
74
increases. Now we focus on the standard error of these 10000 option values. We can
Mean value of the estimates of the Jump−adapted PC
4
3.5
3
Jump−adapted PC
Exact value
Mean value
2.5
2
1.5
1
0.5
0
0
10
1
10
2
3
10
4
10
Ms
10
5
10
6
10
Figure 4.11: Out of the money: Convergence with the number of simulated paths
see in Figure 4.12 that the points are not as concentrated on a straight line as in the
previous examples but there is still a trend that indicates that the standard error of the
option values is an affine function of
√1
Ms
where Ms is the number of simulated asset
prices. Indeed doing a linear interpolation with Matlab, we obtain that the standard
error follows the equation: Standard Error =
0.4773
√
Ms
− 0.000835 ≈
0.4773
√
.
Ms
Thus, the
standard error is still decreasing as the number of simulated paths increases.
75
Standard error of the estimates of the Jump−adapted PC
0.12
y = 0.4773*x + 0.000835
0.1
Standard error
0.08
Jump−adapted PC
Linear interpolation
0.06
0.04
0.02
0
0
0.02
0.04
0.06
0.08
0.1
1/sqrt(Ms)
Figure 4.12: Out of the money: Standard error of the simulated option prices
4.6
Conclusion: advantages and drawbacks
According to the results obtained with the regular and jump adapted schemes, we
can say that these two methods are equivalent in term of accuracy and standard
error. Both schemes gets closer to the exact value as the number of simulated paths
increases and we showed numerically that the standard error is a linear function of
√
Ms . Therefore it gets to zero as the number of simulated stock prices increases. We
run our simulations using the Merton model to compute the price of an European
call. But this method can be adapted to other options. Indeed, another strength of
this method is the fact that it can be adapted to almost every type of dynamics of the
76
underlying asset. Actually, in the general theory (Equation (4.1)), we only specified
that the underlying asset follows the stochastic differential equation:
dSt = a(t, St )dt + b(t, St )dWt + c(t, St− )dJt
(4.28)
Therefore this method works whatever is the expression of the coefficients a(t, St ),
b(t, St ) and c(t, St− ). This means for instance that this method can be used with a
stochastic volatility model, this case being beyond the scope of this thesis.
Moreover, contrary to finite difference methods such as the ones described in the
previous parts, this technique being based on a Monte Carlo simulation is stable
whatever are the parameters used.
77
Chapter 5
Conclusion
In this thesis, we focused on three different Predictor-Corrector schemes. We showed
that this type of method being made of an explicit and an implicit step is a mean to
retains both the stability of the implicit methods and the computational efficiency of
the explicit methods.
In the first part, we introduced a predictor-corrector scheme using a front-fixing technique which, by applying a change of variable, converts the non linear PDE into two
linearised equations. The finite difference schemes used are the Euler scheme for the
predictor and the Crank-Nicholson scheme for the corrector. The predictor begins
by calculating an approximated value of the optimal exercise price and the corrector
then uses this value in order to compute both the exact value of this optimal exercise
price and the option. This method is very stable and converges quickly. We numerically showed that this algorithm reaches an order of convergence of 1 in time but
only 1.8 in stock price: it does not manage to keep the order of convergence of the
Crank-Nicholson scheme which is 2 in stock price.
78
Secondly, we presented a predictor-corrector scheme using a penalty method to transform the initial free boundary problem into a problem that can be solved on a fixed
domain. Indeed this technique enables us to get rid for the calculation of the optimal
exercise price. This technique is very efficient because its order of convergence is
in O(∆t2 , ∆S 2 ). Nevertheless, by using an Euler scheme in the predictor step, the
stability constraint is quite restrictive. Then we compare these two finite difference
methods previously introduced and it turns out that that the linearly implicit PC is
more efficient than the front-fixing PC because its order of convergence is better and
it takes less time to reach a specific accuracy.
Thirdly, contrary to the two previous methods which were based on the Black and
Scholes model, we focused in this last part on a jump diffusion model. We developed a general predictor-corrector scheme which can be applied to a lot of different
stochastic differential equations. Then we presented the use of this scheme on the
special case of the Merton’s model. This enables us to test our algorithm on European calls because this stochastic differential equation has an explicit solution for
European options. The general method can be applied in two different ways: the
regular predictor-corrector and the jump-adapted predictor-corrector. It turns out
that the two schemes used give the same result: they converge as the number of simulated paths increases. Moreover the standard error is decreasing as the number of
simulated stock prices gets bigger. The other strength of the scheme is the fact that it
can be adapted to almost every type of dynamics of the underlying asset. Therefore
it can be used to price a lot of different options.
To conclude, this thesis is very rich concerning all the concepts used: finite difference schemes (Euler, Crank-Nicholson), front-fixing technique, penalty method, jump
79
diffusion method, Monte Carlo simulation, ... We tried to give an overview of the
diversity of the predictor-corrector schemes which can be used as an alternative in
almost every pricing problem.
80
Bibliography
[1] D. A. Voss A. Q. M. Khaliq and S. H. K. Kazmi. A linearly implicit predictorcorrector scheme for pricing american options using a penalty method approach.
Journal of Banking and Finance, 30:489–502, 2006.
[2] A. Tveito B. Nielsen, O. Skavhaug. Penalty and front-fixing methods for the
numerical solution of american option problems. Journal of Computational Finance, 2002.
[3] D. Bates. Jumps and stochastic volatility: exchange rate processes implicit in
deutschemark options. Review of Financial Studies, 1996.
[4] A.Q.M. Khaliq D.A. Voss. A linearly implicit predictor-corrector method for
reaction diffusion equations. Journal of Computational Mathematics, 1999.
[5] S.R. Das. The surprise element: jumps in interest rates. Journal of Econometrics,
2002.
[6] H.B. Keller E. Isaacson. Analysis Of Numerical Methods. Dover Publication,
1966.
81
[7] M. Scholes F. Black. The pricing of options and corporate liabilities. Journal of
Political Economy, 1973.
[8] P. Glasserman. Monte Carlo Methods in Financial Engineering. Springer, 2004.
[9] D. Higham and P. Kloeden. Numerical methods for nonlinear stochastic differential equations with jumps. Numerische Matematik, 2005.
[10] D. Higham and P. Kloeden. Convergence and stability of implicit methods for
jump-diffusion systems. International Journal of Numerical Analysis & Modeling, 2006.
[11] N. Hofmann and E. Platen. Stability of superimplicit numerical methods for
stochastic differential equations. Fields Inst. Commun., 1996.
[12] J.C. Hull. Options, Futures and Other Derivatives. Prentice Hall, 1997.
[13] M. Johannes. The statistical and economic role of jumps in continuous time
interest rate models. Journal of Finance, 2004.
[14] P. Jorion. On jump processes in the foreign exchange and stock markets. Review
of Financial Studies, 1988.
[15] H.G. Landau. Heat conduction in a melting solid. Quaterly Applied Mathematics,
1950.
[16] J.H. Mathews and K.D. Fink. Numerical Methods Using Matlab. Prentice Hall,
1999.
82
[17] R.C. Merton. Theory of rational option pricing. Bell Journal of Economics and
Management Science, 1973.
[18] R.C. Merton. Option pricing when underlying stock returns are discontinuous.
Journal of Financial Economics, 1976.
[19] W. E. Milne. Numerical integration of ordinary differential equations. American
Mathematical Monthly (Mathematical Association of America), 1926.
[20] F.R. Moulton. New methods in exterior ballistics. University of Chicago Press,
1926.
[21] E. Platen N. Bruti-Liberati. On weak predictor-corrector schemes for jumpdiffusion processes in financ. Technical report, Quantitative Finance Research
Centre, 2006.
[22] S. Howison P. Wilmott, J. Dewynne. Option Pricing. Academic Press, 1992.
[23] K.R. Vetzal P.A. Forsyth. Quadratic convergence for valuing american options
using a penalty method. SIAM Journal on Scientific Computing, 2002.
[24] K.R. Vetzal R. Zvan, P.A. Forsyth. Penalty methods for american options with
stochastic volatility. Journal of Computational and Applied Mathematics, 1998.
[25] L. Wu and Y.K. Kwok. A front-fixing finite difference method for the valuation
of american options. Journal of Financial Engineering, 1997.
[26] J. XIA. Financial mathematics 2. Lecture notes, 2010.
83
[27] J. Zhang and S.P. Zhu. A hybrid finite difference method for valuing american
puts. In Proceedings of the World Congress on Engineering, 2009.
84
Appendix A
Codes
A.1
Code for the front-fixing Predictor-Corrector
Scheme
1
function z=frontfixing(tau,S0,X,r,sigma,q,N,M)
2
%function which calculates the
3
%using the predictor-corrector finite difference scheme.
4
%The inputs are : tau=the time to maturity; S0=the initial price
5
% of the underlying asset; X=the strike price; r=the risk free
6
% rate; sigma=the volatility of the underlying asset’s returns;
7
% q0=the dividend yield; N=number of time steps; M=number of
8
% steps in the stock price.
9
10
xmax=7;
11
85
price of an american put option
12
tauexp=tau*sigmaˆ2/2; %normalized expiry of the option
13
dt=tauexp/N; %step length in the time direction
14
15
dx=xmax/M; %step length in the stock price dimension
16
%x=0+m*dx (x varies from 0 to 10)
17
18
nu=2*q/(sigmaˆ2);
19
gamma=2*r/(sigmaˆ2);
20
alpha=1+gamma/2*(dx)ˆ2;
21
beta=1+dx+(nu+1)/2*(dx)ˆ2;
22
23
S=1;%initial optimal exercise boundary
24
%Payoff condition : value of the put option at the expiry
25
P0=0;
26
P(1:M-1,1)=0;
27
28
for n=1:1:N
29
30
%--------------------------- PREDICTOR --------------------------%
31
kappa0=-1/(dx)ˆ2+(gamma-nu-1)/(2*dx);
32
kappa1=-1/dt+2/(dx)ˆ2+gamma;
33
kappa2=-1/(dx)ˆ2-(gamma-nu-1)/(2*dx);
34
kappa3=1/dt*(alpha+(P(2)-P0)/(2*dx));
35
kappa4=dt/(beta+((P(2)-P0)/(2*dx*S)));
86
36
37
predictedS=(kappa0*P0+kappa1*P(1)+kappa2*P(2)+kappa3)*kappa4;
38
predictedP0=1-predictedS;
39
40
%--------------------------- CORRECTOR --------------------------%
41
42
s1=2/(predictedS+S);
43
s2=(predictedS-S)/dt;
44
psi=s1*s2;
45
a(2:M-1,1)=-1/(2*dxˆ2)-(gamma-nu-1)/(4*dx)-psi/(4*dx);
46
47
48
49
50
%Computation of the coefficients of the matrix (for P(m+1,n+1))
b(1:M-1,1)=1/dt+1/(dxˆ2)+gamma/2;
%Computation of the coefficients of the matrix (for P(m,n+1))
c(1:M-1,1)=-1/(2*dxˆ2)+(gamma-nu-1)/(4*dx)+psi/(4*dx);
%Computation of the coefficients of the matrix (for P(m-1,n+1))
51
d(2:M-1,1)=1/(2*dxˆ2)+(gamma-nu-1)/(4*dx)+psi/(4*dx);
52
%Computation of the coefficients of the matrix (for P(m+1,n))
53
54
e(1:M-1,1)=1/dt-1/(dxˆ2)-gamma/2;
%Computation of the coefficients of the matrix (for P(m,n))
55
f(1:M-1,1)=1/(2*dxˆ2)-(gamma-nu-1)/(4*dx)-psi/(4*dx);
56
%Computation of the coefficients of the matrix (for P(m-1,n))
57
58
59
A=spdiags([c,b,a],[-1:1],M-1,M-1);%Computation of the
% matrix A of the system
87
B=spdiags([f,e,d],[-1:1],M-1,M-1);%Computation of the
60
61
% matrix B of the system
62
63
chi1=-1/(2*dxˆ2)+(gamma-nu-1)/(4*dx)+psi/(4*dx);
64
chi2=1/(2*dxˆ2)-(gamma-nu-1)/(4*dx)-psi/(4*dx);
65
66
Vapprox(1,1)=chi1*predictedP0;
67
Vapprox(2:M-1,1)=0;
68
69
V(1,1)=chi2*P0;
70
V(2:M-1,1)=0;
71
72
K1=B*P+V;
73
K2=A\K1;
74
P=K2-Vapprox;
75
S=(alpha-P(1))/beta;
76
77
P0=1-S;
78
79
80
end
81
82
X0=log(S0/S);
83
88
84
k=floor(X0/dx); %index of X0
85
86
z=X*linearinterpolation(0+k*dx,0+(k+1)*dx,P(k),P(k+1),X0);
87
%we use the linear interpolation to get a better result
88
89
function zz=linearinterpolation(x1,x2,y1,y2,x0)
90
91
zz=(x0-x1)/(x2-x1)*y2+(x0-x2)/(x1-x2)*y1; %function doing the linear
92
%interpolation of y1 and y2
A.2
Code for the linearly implicit predictor-corrector
using a penalty method
1
function z=penalty
2
3
S0=100;
% Initial Stock price
4
X=100;
% Strike
5
T=1;
% Time to maturity
6
sigma=0.3; % vola of stock price
7
r=0.02;
8
N=1000;
9
dt=T/N;
% interest rate
%number of time step
% time step
89
10
Smax=5*X; % maximal value of the stock price used in the
11
%algorithm
12
M=1000;
13
h=Smax/M; % step in the stock price direction
14
phi=-0.5+0.5*sqrt(2);
15
epsilon=10ˆ(-3); %parameter of the penalty term
16
C=(1+r)*X; %parameter of the penalty term
% number of steps in the stock price direction
%parameter of the implicit scheme
17
18
i=[1:M-1]’;
19
a=-sigmaˆ2*i.ˆ2-r; %coefficient of Vi
20
i=[1:M-2]’;
21
b(2:M-1,1)=0.5*sigmaˆ2*i.ˆ2+0.5*r*i; % coefficient of Vi+1
22
i=[2:M]’;
23
c=0.5*sigmaˆ2*i.ˆ2-0.5*r*i; %coefficient of Vi-1
24
25
i=[1:M-1]’;
26
A=spdiags([c,a,b],[-1:1],M-1,M-1);%Computation of the
27
%matrix A of the system
28
B=eye(M-1)-dt*(0.5-phi)*A; %Computation of the matrix B
29
A1=eye(M-1)+dt*(0.5+phi)*A;
30
A2=eye(M-1)+0.5*dt*A;
31
32
V0predictor(1,1)=dt*(0.5+phi)*(0.5*sigmaˆ2-0.5*r)*X;
33
V0predictor(2:M-1,1)=0;
90
34
V0corrector(1,1)=0.5*dt*(0.5*sigmaˆ2-0.5*r)*X;
35
V0corrector(2:M-1,1)=0;
36
V0predicted(1,1)=phi*dt*(0.5*sigmaˆ2-0.5*r)*X;
37
V0predicted(2:M-1,1)=0;
38
39
i=[1:M-1]’;
40
V=max(X-i*h,0);
41
predictedV(1:M-1,1)=0;
42
43
for n=1:N
44
g=(epsilon*C)./(V+epsilon-(X-i*h));
45
predictedV=B\(A1*V+V0predictor+dt*g);
46
predictedg=(epsilon*C)./(predictedV+epsilon-(X-(i+1)*h));
47
V=B\(A2*V+V0corrector+0.5*dt*(g+predictedg)
+phi*dt*A*predictedV+V0predicted);
48
49
end
50
51
k=floor(S0/h);
52
z=linearinterpolation(k,(k+1),V(k),V(k+1),S0/h); %we use
53
%the linear interpolation to get a better result
54
55
function zz=linearinterpolation(x1,x2,y1,y2,x0)
56
zz=(x0-x1)/(x2-x1)*y2+(x0-x2)/(x1-x2)*y1; %function doing the
57
%linear interpolation of y1 and y2
91
A.3
Codes for the Predictor-Corrector Schemes
for Jump-Diffusion Processes
A.3.1
1
Code for the exact value of the European call option
function z=exactvalue
2
3
S0=100;
% Initial Stock price
4
X=100;
% Strike
5
T=1;
% Time to maturity
6
b=0.4;
% std of lognormal jump process
7
a=0;
% mean of lognormal jump process
8
lambda=1; % intensity of jumps
9
sigma=0.4; % vola of stock price
10
r=0.05;
% interest rate
11
N=100;
%number of term of the series
12
13
% The price is given as a series of terms,
14
% we compute the first N terms for the result
15
m=exp(a+1/2*bˆ2)-1;
16
z=0;
17
for n=0:N
18
sigma_n=sqrt(sigmaˆ2+n*bˆ2/T);
19
r_n=r-lambda*m+n*log(1+m)/T;
92
20
d1=(log(S0/X)+(r_n+0.5*sigma_nˆ2)*T)/(sigma_n*sqrt(T));
21
d2=d1-sigma_n*sqrt(T);
22
f_n=S0*normcdf(d1,0,1)-X*exp(-r_n*T)*normcdf(d2,0,1);
23
z=z+exp(-lambda*(1+m)*T)*(lambda*(1+m)*T)ˆn*f_n/factorial(n);
24
end
A.3.2
1
Code for the Regular Predictor-Corrector Scheme
function z=europeanregularpc(Ns,Ms)
2
3
S0=100;
% Initial Stock price
4
X=100;
% Strike
5
T=1;
% Time to maturity
6
b=0.4;
% std of lognormal jump process
7
a=0;
% mean of lognormal jump process
8
lambda=1; % intensity of jumps
9
sigma=0.4; % vola of stock price
10
r=0.05;
% interest rate
11
Ns;
12
dt=T/Ns;
13
Ms;
14
mu=r-lambda*(exp(a+0.5*bˆ2)-1);
%number of time steps
% time step
%number of simulated paths
15
93
%drift
16
sum=0;%variable which will contain the sum of all
17
%the exp(-r*tau)*max(X-ST,0)
18
for m=1:Ms
19
20
21
S=S0;
for n=1:Ns
%-------------PREDICTOR-------------%
22
Z=randn;
23
N=poissonprocess(lambda*dt);
24
if N==0
25
M=0;
26
else
27
Z2=randn;
28
M=a*N+b*sqrt(N)*Z2;
29
end
30
predictedS=S*(1+mu*dt+sigma*sqrt(dt)*Z)*exp(M);
31
32
%--------------CORRECTOR-------------%
33
Z=randn;
34
N=poissonprocess(lambda*dt);
35
36
if N==0
37
M=0;
38
39
else
Z2=randn;
94
M=a*N+b*sqrt(N)*Z2;
40
41
end
42
S=(S+0.5*(predictedS+S)*mu*dt+S*sigma*sqrt(dt)*Z)*exp(M);
43
end
44
sum=sum+exp(-r*T)*max(S-X,0);
45
end
46
z=sum/Ms; %by dividing by M, we get an approximation of the value
47
%of the put
48
49
%Function simulating the poisson process
50
function poisson=poissonprocess(theta)
51
p=exp(-theta);
52
F=p;
53
N1=0;
54
U=rand;
55
while U>F
56
N1=N1+1;
57
p=p*theta/N1;
58
F=F+p;
59
60
end
poisson=N1;
95
A.3.3
1
Code for the Jump-Adapted Predictor-Corrector Scheme
function z=europeanjumpadaptedpc(Ns,Ms)
2
3
S0=100;
% Initial Stock price
4
X=100;
% Strike
5
T=1;
% Time to maturity
6
b=0.4;
% std of lognormal jump process
7
a=0;
% mean of lognormal jump process
8
lambda=1; % intensity of jumps
9
sigma=0.4; % vola of stock price
10
r=0.05;
% interest rate
11
Ns;
12
dt=T/Ns;
13
Ms;
14
mu=r-lambda*(exp(a+0.5*bˆ2)-1);
%number of time steps
% time step
%number of simulated paths
%drift
15
16
sum=0;%variable which will contain the sum of all
17
%the exp(-r*tau)*max(X-ST,0)
18
19
for m=1:Ms
20
%Generation of the jump times
21
S=S0;
22
tabjumptimes=[];
96
23
jumptime=0;
24
while (jumptime==0 && jumptime[...]... of using an implicit scheme in the second part increases the stability of the scheme Thus in this thesis, we will present three different predictor- corrector schemes used in the valuation of options First, we will consider a predictor- corrector finite difference scheme using a front-fixing technique for pricing American puts Secondly, we will introduce a linearly implicit predictor- corrector scheme using. .. next step is the construction of the predictor- corrector scheme 18 2.3 The Predictor- Corrector Scheme We now construct the predictor- corrector scheme The predictor will calculate an initial approximation of S¯ and then the corrector, using this value, will work out ¯ The Predictor- Corrector scheme is the option price (and also the exact value of S) obtained by using a finite difference method Thus,... of scheme was developed: the Predictor- Corrector schemes The first significant schemes were introduced by Moulton [20] and Milne [19] Their idea was to build schemes that can retain both the stability property of the implicit schemes and the computational efficiency of the 1 explicit schemes by avoiding to solve an algebraic equation at each time step This is achieved by using the following general... initialization, we will use a predictor- corrector approach The nonlinear PDE is converted into two linearised equations One will be the predictor obtained by using an explicit Euler scheme and the other will become the corrector after applying the Crank Nicholson scheme The predictor will calculate an approximation of the optimal exercise price boundary and will be then corrected by the corrector which will... two aspects, we introduce a new kind of scheme : the Predictor- Corrector schemes They are built using both an explicit scheme in the predictor part and an implicit scheme in the corrector part Three different examples will be introduced in the next sections 1.2 The Black & Scholes model We will now develop the theory concerning European and American options This theoretical part is based on the work... the Black and Scholes equation there is no explicit solution of this equation 13 Chapter 2 A Predictor- Corrector finite difference scheme using a front-fixing technique for valuing American puts 2.1 Introduction In this chapter, we will introduce a predictor- corrector scheme based on a finite difference method using a front-fixing technique This scheme was developed by J Zhang ang S.P Zhu in [27] It... methods is what makes them very attractive despite the loss of computational efficiency 6 1.1.3 Predictor- Corrector Schemes As shown in the two previous subsections, explicit schemes have narrower regions of numerical stability compare to implicit schemes Nevertheless, despite a better stability, implicit schemes are much more demanding in terms of computational capacity because they usually require... valuing American options We will then draw a comparison between these two finite difference schemes in terms of order of convergence and computational efficiency Lastly, we will develop predictor- corrector schemes for jump-diffusion stochastic differential equations which will be used in Monte Carlo simulations We will then apply the results to the special case of the valuation of European options In each... predicted during this step We denote its approximation P0n+1 Approx n+1 It is calculated using the equation (2.32) : P0n+1 Approx = 1 − S¯Approx The corrector is built using the Crank-Nicholson scheme applied to (2.16) Therefore, using the same mesh, we discretize the equation at the point (xm = m∆x, τn+ 1 = 2 (n + 21 )∆τ ) using the following difference discretization: ∂P ∂x ∂ 2P ∂x2 (xm ,τn+ 1 ) n+1 n+1... procedure : first an explicit scheme - the so-called predictor - generates an approximated solution of the next step; then in a second part, an implicit scheme - the corrector - uses this predicted value instead of solving the algebraic equation involving the unknown value at step n + 1 in order to become also explicit Therefore both the predictor and the corrector are explicit due to the use of the predicted ... the front-fixing Predictor- Corrector Scheme 85 A.2 Code for the linearly implicit predictor- corrector using a penalty method 89 A.3 Codes for the Predictor- Corrector Schemes for Jump-Diffusion... three different Predictor- Corrector schemes used in the valuation of options First, I will consider a Predictor- Corrector finite difference scheme using a front-fixing technique for pricing American... three different predictor- corrector schemes used in the valuation of options First, we will consider a predictor- corrector finite difference scheme using a front-fixing technique for pricing American