A Spectral Element Method to Price Single and Multi

Florida State University Libraries
Electronic Theses, Treatises and Dissertations
The Graduate School
2008
A Spectral Element Method to Price Single
and Multi-Asset European Options
Wuming Zhu
Follow this and additional works at the FSU Digital Library. For more information, please contact [email protected]
THE FLORIDA STATE UNIVERSITY
COLLEGE OF ARTS AND SCIENCES
A SPECTRAL ELEMENT METHOD TO PRICE SINGLE AND
MULTI-ASSET EUROPEAN OPTIONS
By
WUMING ZHU
A Dissertation submitted to the
Department of Mathematics
in partial fulfillment of the
requirements for the degree of
Doctor of Philosophy
Degree Awarded:
Spring Semester, 2008
The members of the Committee approve the Dissertation of Wuming Zhu defended on
November 15, 2007.
David A. Kopriva
Professor Directing Dissertation
Fred Huffer
Outside Committee Member
Bettye Anne Case
Committee Member
Alec N. Kercheval
Committee Member
Giray Ökten
Committee Member
Xiaoming Wang
Committee Member
The Office of Graduate Studies has verified and approved the above named committee members.
ii
This thesis is dedicated to my wife, my parents and my sister, for their love and support
over many years.
iii
ACKNOWLEDGEMENTS
I would first like to express the deepest appreciation to my advisor, Professor David A.
Kopriva, for his inspiration, his constant encouragement and his tremendous help on this
research work. Throughout my later years at FSU, he provided me many new ideas, sound
advice, excellent teaching and great mentorship. Most importantly, he helped me discover
a new research area of computational finance. He also devoted a great deal of time and
efforts to read through many early versions of my first working paper and the dissertation,
and provided numerous critical and helpful feedbacks. I would not have completed this work
without him. Dr. Kopriva, it is always my pleasure to work with you.
I would also like to express my gratitude to the committee members. I am greatly
indebted to Professor Bettye Anne Case for her constant help and support over many years,
and her magic catch of typos in my dissertation. I would like to thank Professor Alec N.
Kercheval for his thoughtful and helpful comments and criticism on my dissertation. I would
like to thank Professor Xiaoming Wang, Professor Giray Ökten and Professor Brian Ewald
for many helpful discussions and generously lending me books. I would like to give my
special thanks to Professor Fred Huffer from the statistics department for being my outside
committee member in an urgent situation.
I must take this opportunity to thank my friends and colleagues. I greatly appreciate
Matthew Willyard for generously providing me his finite difference codes to facilitate the
comparison between the numerical results. I would like to thank Yaohong Wang, Fei Hua,
Eunjoo Yoo and Tianyu Liang for their help and company throughout my study at FSU.
Finally and most importantly, I wish to thank my wonderful wife, my parents and my
sister for their love, support and encouragement.
iv
TABLE OF CONTENTS
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vii
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ix
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
xii
1. INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2. SPECTRAL METHODS BACKGROUND . . . . . . . . . . .
2.1 Historical Remarks . . . . . . . . . . . . . . . . . . . . .
2.2 The Methods . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Legendre Collocation Approximation for a European Put
2.4 Rationale for the Spectral Element Method . . . . . . .
.
.
.
.
.
10
10
11
15
17
3. EUROPEAN OPTION PRICING WITH ONE ASSET UNDER THE JUMP
DIFFUSION MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 The Jump Diffusion model and the PIDE . . . . . . . . . . . . . . . . .
3.2 Current Numerical Approaches . . . . . . . . . . . . . . . . . . . . . . .
3.3 The SEM for the Black-Scholes Equation . . . . . . . . . . . . . . . . . .
3.4 Well-Posedness and Stability . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 The Approximation for the Convolution Integral . . . . . . . . . . . . .
3.6 Eigenvalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Time Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 Examples and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
19
21
23
29
32
38
39
41
4. EUROPEAN OPTION PRICING WITH TWO ASSETS UNDER THE BLACKSCHOLES MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 The IBVP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 The Mapping and the Transformation . . . . . . . . . . . . . . . . . . .
4.3 The Approximation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Connectivity and Stiffness Summation . . . . . . . . . . . . . . . . . . .
4.5 Iterative Solvers and Time Integrators . . . . . . . . . . . . . . . . . . .
4.6 Examples and Results . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
51
53
55
58
61
67
5. EUROPEAN OPTION PRICING WITH ONE ASSET UNDER A STOCHASTIC VOLATILITY MODEL . . . . . . . . . . . . . . . . . . . . . . . . . . .
79
v
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5.1
5.2
5.3
5.4
5.5
Stochastic Volatility Models
The Pricing Equation . . .
The Boundary Conditions .
The Approximation . . . . .
Examples and Results . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
80
82
83
87
88
6. CONCLUDING REMARKS . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Summary and Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
97
97
98
APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
A. SOLUTION TO AMERICAN BINARY OPTION . . . . . . . . . . . . . . . . 104
REFERENCES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
BIOGRAPHICAL SKETCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
vi
LIST OF TABLES
2.1
European Put Option Parameters for Legendre Collocation . . . . . . . . . .
17
3.1
European Put Option Parameters for the Jump Diffusion Computations . . .
38
3.2
SEM Computational Time of European Black-Scholes put options . . . . . .
48
3.3
FDM Computational Time of European Black-Scholes put options . . . . . .
48
3.4
SEM Computational Time of European Jump Diffusion Put Options
. . . .
48
3.5
Separated Computational Time of European Jump Diffusion Put Options . .
49
4.1
Parameters for European Rainbow and European Basket Put Options . . . .
67
4.2
Convergence behavior of a European rainbow put option with the subdivision
in Fig. 4.1. N : Polynomial order in each element; Iteration technique:
GMRES; Number of elements: 10; N T = 320; Iteration tolerance: 10−10 . . .
68
Convergence behavior of a European rainbow put option with h-refinement
shown in Fig. 4.5. The Coordinates of the element, (0, e′ , d′ , c′ ) are e′ =
(K/10/f ∗ , 0), d′ = (K/10/f ∗ , K/20/f ∗ ), and c′ = (3K/40/f ∗ , 3K/40/f ∗ );
Iteration technique: GMRES; Number of elements: 14; N = 20; N T = 320;
Iteration tolerance: 10−10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
Error behavior of a European rainbow put option using the Crank-Nicolson
scheme with and without Rannacher modification. The coordinates of the
element, (0, e′ , d′ , c′ ) are e′ = (K/10/f ∗ , 0), d′ = (K/10/f ∗ , K/20/f ∗ ), and
c′ = (3K/40/f ∗ , 3K/40/f ∗ ); Iteration technique: GMRES; Iteration tolerance: 10−10 ; Number of elements: 14; Nτ = 40. . . . . . . . . . . . . . . . . .
73
The errors comparison between the IMEX scheme with Conjugate Gradient(CG) and the Crank-Nicolson scheme with GMRES for the European
rainbow put option. Number of elements: 10; Nτ = 40; Iteration tolerance:
10−6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
76
4.3
4.4
4.5
4.6
The average number of iterations per time step with the three diagonal
preconditioners for the European rainbow put option. Number of elements:
10; nτ = 40; Iteration tolerance: 10−6 ; GMRES restarts for every 40 iterations. 77
vii
4.7
The Total CPU Time With the Three Diagonal Preconditioners for the
European Rainbow Put Option. Number of Elements: 10; Nτ = 40; Iteration
Tolerance: 10−6 ; GMRES restarts for every 40 iterations. . . . . . . . . . . .
77
5.1
Parameters for European Put Options Under Stochastic Volatility Model . .
89
5.2
Parameters of the European put option example from [1]. . . . . . . . . . . .
93
5.3
The CPU time with the four levels of accuracy for the European put option.
Ωint = [0, 2K] × [0, 1]; νm = 1.5; Sm = 6K; Number of Elements: 6; GMRES
restarts for every 40 iterations. . . . . . . . . . . . . . . . . . . . . . . . . . .
95
The CPU time with four levels of accuracy of the European put option.
Ωint = [0, 2K] × [0, 0.1]; νm = 0.5; Sm = 6K; Number of Elements: 6; GMRES
restarts for every 40 iterations. . . . . . . . . . . . . . . . . . . . . . . . . . .
96
5.4
viii
LIST OF FIGURES
2.1
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
Convergence of the absolute error at the strike price for a Legendre spectral
collocation solution of a European put. . . . . . . . . . . . . . . . . . . . . .
18
Subdivision of the domain [0, Sm ] into two elements, each mapped onto the
standard element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
The maximum eigenvalue of the four matrices, B, C, E, and H as a function
of NT otal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
The spectral element and exact solutions for the European Black-Scholes put
option with boundary condition (3.5). NT otal = 16 × 2; Nτ = 40. . . . . . .
The ∆ and Γ computed from the spectral element method solution and the
exact ∆ and Γ of European Black-Scholes put option with boundary condition
(3.5). NT otal = 20 × 2; Nτ = 40. . . . . . . . . . . . . . . . . . . . . . . . .
42
42
Exponential convergence of the maximum error for the spectral element
solution of European Black-Scholes put option with boundary condition (3.5).
43
Convergence comparison between the spectral element and the finite difference
methods. Nτ = 40 for the spectral element method; Nτ = NT otal /2 for the
finite difference method. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
Convergence of the maximum error of ∆ and Γ computed from the spectral
element solution of European Black-Scholes put option with boundary condition (3.5). Nτ = 320. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
The spectral element solution and the exact solution of European jump
diffusion put option with boundary condition (3.5). NT otal = 16 × 2.5; Nτ =
40; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
The ∆ and Γ computed from the spectral element solution and the exact ∆
and Γ of European jump diffusion put option with boundary condition (3.5).
NT otal = 20 × 2.5; Nτ = 40. . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Convergence of the maximum error for the spectral element solution of
European jump diffusion put option with boundary condition (3.5). . . . . .
ix
45
46
3.11 Convergence of the maximum error of ∆ and Γ computed from the spectral
element solution of European jump diffusion put option with boundary
condition (3.5), Nτ = 320. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
3.12 Convergence of the maximum error for the spectral element solution of
European jump diffusion put option with boundary condition (3.6). . . . . .
47
3.13 Convergence of the maximum error of ∆ and Γ computed from the spectral
element solution of European jump diffusion put option with boundary
condition (3.6), Nτ = 320. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.1
Domain subdivision for the rainbow put option payoff, v(S1 , S2 , 0) = max(K −
max(S1 , S2 )). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
The rainbow put option payoff, v(S1 , S2 , 0) = max(100 − max(S1 , S2 )), and
the domain subdivision in three-dimension. . . . . . . . . . . . . . . . . . .
54
4.3
The location and index orientation of the nodes on the master square, Ω0 .
.
56
4.4
The one-dimensional analogy of the two-dimensional stiffness summation. . .
60
4.5 h-refinement within the element, (0, e, d, c) in Fig. 4.1 near the origin. . . . .
68
4.2
4.6
4.7
4.8
4.9
5.1
Exponential convergence of the spectral element solution of the European
rainbow put option with shrinking factor, f ∗ = 215 . Iteration technique:
GMRES; Iteration tolerance: 10−10 ; Number of elements: 14; Domain:
(0, 2K) × (0, 2K). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
69
Exponential convergence of a European rainbow put option and its derivatives
in the domain of interest, [0, 2K]×[0, 2K] \ [0, K/2]×[0, K/2]. The horizontal
axis represents the polynomial degrees N on each element; The vertical axis
is “Log10 (Maximum Error)”; The Coordinates of the element, (0, e′ , d′ , c′ ) are
e′ = (K/10, 0), d′ = (K/10, K/20), and c′ = (3K/40, 3K/40); The shrinking
factor, f ∗ = 1; Iteration technique: GMRES; Iteration tolerance: 10−10 ;
Number of elements: 14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
71
The numerical solution of the European rainbow put option and its derivatives.
The plots from left to right, top to bottom, are the solution, ∆S1 , ∆S2 ,
ΓS1 , ΓS1 S2 and ΓS2 . Iteration technique: GMRES; Iteration tolerance: 10−6 ;
Number of elements: 10; Polynomial degrees: 10. . . . . . . . . . . . . . . .
72
The European basket put option and its derivatives. The plots from left to
right, top to bottom, are the basket put option, ∆S1 , ∆S2 , ΓS1 , ΓS1 S2 and ΓS2 .
Iteration Technique: GMRES; Number of Elements: 5; N = 18; Nτ = 80;
Iteration tolerance: 10−6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
The boundary conditions and the domain subdivision for a put option under
the stochastic volatility model, (5.3). . . . . . . . . . . . . . . . . . . . . . .
86
x
5.2
5.3
5.4
5.5
6.1
Convergence behavior of European put option and its derivatives in the
domain of interest, [0, 2K] × [0, 1], with the subdivision, Fig. 5.1. The
horizontal axis represents the polynomial degree N on each element; The
vertical axis is “Log10 (Maximum Error)”; Iteration technique: GMRES;
Iteration tolerance: 10−10 ; Number of elements: 6. . . . . . . . . . . . . . . .
90
Convergence behavior of European put option and its derivatives in the
domain of interest, [0, 2K] × [0, 1], with 8 elements. The horizontal axis
represents the polynomial degree N on each element; The vertical axis is
“Log10 (Maximum Error)”; Iteration technique: GMRES; Iteration tolerance:
10−10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
91
The numerical solution of the European put option and its derivatives in the
domain of interest, [0, 2K] × [0, 1], with the subdivision, Fig. 5.1. Iteration
technique: GMRES; Iteration tolerance: 10−5 ; Total number of elements: 6;
Polynomial degrees: 12; Nτ = 40. . . . . . . . . . . . . . . . . . . . . . . . .
92
The numerical solution of the European put option and its derivatives in the
domain of interest, [0, 2K] × [0, 1], with the subdivision, Fig. 5.1. Iteration
technique: GMRES; Iteration tolerance: 10−5 ; Number of elements: 6;
Polynomial degrees: 12; Nτ = 40. . . . . . . . . . . . . . . . . . . . . . . . .
94
The spectral element and exact solutions for the American binary put option
with two Dirichlet boundary conditions. NT otal = 15; Nτ = 40. The
parameters are listed in Table 2.1. . . . . . . . . . . . . . . . . . . . . . . . .
99
6.2
The ∆ and Γ computed from the spectral element method solution and the
exact ∆ and Γ of European Black-Scholes put option with two Dirichlet
boundary conditions. NT otal = 15; Nτ = 40. The parameters are listed in
Table 2.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.3
Exponential convergence of the maximum error for the spectral element solution of American binary put option with two Dirichlet boundary conditions.
The parameters are listed in Table 2.1. . . . . . . . . . . . . . . . . . . . . . 100
6.4
Exponential convergence of the maximum error for the ∆ and the Γ of
American binary put option with two Dirichlet boundary conditions. The
parameters are listed in Table 2.1. . . . . . . . . . . . . . . . . . . . . . . . . 101
xi
ABSTRACT
We develop a spectral element method to price European options under the Black-Scholes
model, Merton’s jump diffusion model, and Heston’s stochastic volatility model with one
or two assets. The method uses piecewise high order Legendre polynomial expansions to
approximate the option price represented pointwise on a Gauss-Lobatto mesh within each
element. This piecewise polynomial approximation allows an exact representation of the
non-smooth initial condition.
For options with one asset under the jump diffusion model, the convolution integral is
approximated by high order Gauss-Lobatto quadratures. A second order implicit/explicit
(IMEX) approximation is used to integrate in time, with the convolution integral integrated
explicitly. The use of the IMEX approximation in time means that only a block diagonal,
rather than full, system of equations needs to be solved at each time step.
For options with two variables, i.e., two assets under the Black-Scholes model or one asset
under the stochastic volatility model, the domain is subdivided into quadrilateral elements.
Within each element, the expansion basis functions are chosen to be tensor products of
the Legendre polynomials. Three iterative methods are investigated to solve the system of
equations at each time step with the corresponding second order time integration schemes,
i.e., IMEX and Crank-Nicholson. Also, the boundary conditions are carefully studied for
the stochastic volatility model.
The method is spectrally accurate (exponentially convergent) in space and second order
accurate in time for European options under all the three models. Spectral accuracy is
observed in not only the solution, but also in the Greeks.
xii
CHAPTER 1
INTRODUCTION
The size and growth of the derivative securities market makes the study of derivative
securities important. A derivative security is a financial instrument whose value depends on
the values of some other underlying variables, e.g. commodities, stocks, foreign currencies or
even weather temperatures. Over the past 20 years, the growth of the derivative markets has
been a major development in finance. The total notional value of outstanding derivatives
has been increasing from $98 trillion in 2000 to $270 trillion in 2005 [2].
Among the most popular derivatives, options are actively traded on many exchanges
throughout the world, e.g. the Chicago Board Options Exchange (CBOE), the American
Stock Exchange (AMEX), the London International Financial Futures and Options Exchange
(LIFFE) and the Tokyo Commodity Exchange (TOCOM). Also, many customized options
are traded in the over-the-counter market by banks and other financial institutions.
There are two basic types of options: call and put. An option gives the holder the right
to buy (call option) or sell (put option) the underlying asset (S) by a certain date (maturity,
T ) for a certain price (strike price, K). American options can be exercised at any time before
the maturity, while European options can only be exercised at the maturity. The payoff of
an option upon exercising is
max(S − K, 0),
max(K − S, 0),
(1.1)
for the call and the put, respectively.
It is not easy to find a fair price for those options. Unlike other derivatives such as
futures, forward contracts and swaps [3], options do not create downside risks. Indeed, they
provide insurance against any downside risks in the underlying assets. We can see this from
their definitions and their payoff functions. Therefore, they must have positive values.
1
The theory of option pricing can be traced back to 1900 when the French mathematician
Louis Bachelier in his thesis, “Theory of Speculation”, originated an idea to use Brownian
motion with zero drift as a model for stock exchange performance, and deduced an
option pricing formula [4].
Unfortunately, the subject was not very popular among
mathematicians at the time and his work was not fully recognized. Later, many researchers
made contributions to the theory. However, it was not until early 1970s that the major
breakthrough was made.
In 1973, Black and Scholes [5] described stock price movements by a geometric Brownian
Motion, which is now known as the Black-Scholes model,
dS
= µ dt + σ dz,
S
(1.2)
where µ is the instantaneous expected return on the stock, σ is the instantaneous volatility of
the return, and z(t) is a standard Brownian motion or a Wiener process. Based on the model,
(1.2), they derived a partial differential equation (PDE), i.e., the Black-Scholes equation,
vt +
σ2 2
S vSS + rSvS − rv = 0,
2
(1.3)
by constructing an instantaneous riskless portfolio consisting of appropriately weighted
stocks, options and bonds. They then solved (1.3) for the European option price, v, explicitly,
i.e.,
v = SN (d1 ) − Ke−rT N (d2 )
(1.4)
v = Ke−rT N (−d2 ) − SN (−d1 )
(1.5)
for the call option, and
for the put option, where
d1 =
ln(S/K) + (r + σ 2 /2)T
√
,
σ T
√
d2 = d1 − σ T ,
r is the constant risk-free interest rate and N (x) is the normal cumulative density function.
Merton [6] in 1973 provided an alternative derivation of the model, (1.2) and the formulae,
(1.4) and (1.5), and made further extension of their theory to the situation when the interest
rate is stochastic and when the stock pays dividends.
Over the years, the Black-Scholes model has influenced the way options are priced and
hedged. It has been pivotal to the growth of financial engineering. However, the exact
2
formulae like (1.4) and (1.5), are not always available for various options. Therefore, many
practitioners often resort to numerical methods to price options.
One important class of options that need numerical treatment is the American option.
It is well-known that the analytical solutions to American options are much more difficult
to find, and were almost considered to be impossible due to their early exercise feature.
A huge amount of research was done on the subject of American option pricing, but only
approximate solutions were proposed until 2006 when Zhu [7] found an exact and explicit
formula to evaluate American put options as a Taylor’s series expansion. Although the
formula is explicit, its evaluation is a rather complex task. The formula involves three single
integrals and two double integrals for each term in the Taylor’s series, which no doubt have
to be computed numerically. Moreover, due to the slow convergence of the series, as many
as 30 terms in the series need to be evaluated.
On the other hand, numerical schemes such as lattice methods can easily handle the early
exercise feature of American options, and can be adapted for nonconstant interest rates or
even nonconstant volatilities, i.e., implied volatility trees. American option problems can
also be formulated in the framework of partial differential equations as linear complementary
problems. Brennan and Schwartz [8] first applied finite difference methods to price American
options. Their method is first order accurate. Forsyth and Vetzal [9] solved American
put options by a penalty method that was second order accurate.
Moreover, Monte
Carlo simulation methods were also proposed to price American options by Broadie and
Glasserman [10] and Longstaff and Schwartz [11], which are half order accurate.
Not only are numerical methods essential to price American options, they are also
necessary to price European options under models beyond the Black-Scholes framework.
The Black-Scholes model, (1.2), indicates that the stock price has a lognormal distribution
at any future time T, i.e.,
S = S0 exp((µ −
with mean S0 eµT and variance S02 e2µT (eσ
2T
σ2
)T + σz(T ))
2
−1). However, empirical data shows that extreme
movements in exchange rates and equity prices happen more often than the lognormal
distribution would predict [3]. Over the decades, many models have been proposed to
better describe the empirical data and to explain the well-known volatility smile or volatility
skew phenomenon [3]. Among them, the most influential are jump diffusion models and
3
stochastic volatility models, which relax the two key assumptions in the Black-Scholes model,
respectively, that the stock price changes continuously and the volatility is constant over time.
Merton [12], in 1976, proposed a jump diffusion model that generates discontinuous stock
returns,
dS
= (µ − λκ)dt + σdz + dq,
(1.6)
S
where q(t) is the independent Poisson process, λ is the jump arrival rate, κ = E[η − 1]
is the expectation of the random percentage jump, η − 1, in the stock price under some
arbitrary distribution when the Poisson event occurs. Merton then derived a Partial-IntegroDifferential Equation (PIDE),
σ2S 2
vt +
vSS + (r − λκ) SvS − (r + λ) v + λ
2
Z
∞
v (ηS, t) G (η) dη = 0,
(1.7)
0
where G(η) is the probability density function of η and found exact solutions to the European
options, v, with the assumption that G is a lognormal distribution.
A number of numerical methods have been proposed to solve (1.7) when the jump
size, η, has other distributions, e.g. a double exponential distribution. The challenge is
to compute the integral in (1.7) accurately and efficiently. Tavella and Randall [13] used the
trapezoidal rule to approximate the integral, while Anderson and Andreason [14] applied the
Fast Fourier Transform (FFT). Both methods require interpolation between two different
grids. A detailed discussion is provided in Chapter 3.
Stochastic volatility models were proposed during 1980s, by Johnson and Shanno [15],
Hull and White [16] and Scott [17]. Chan, Karolyi, Longstaff and Sanders [18] gave a version
of the model,
dS = µSdt +
√
νSdzS
(1.8)
dν = κ(θ − ν)dt + δν α dzν ,
where ν is the instantaneous variance of stock returns, which itself follows a mean-reverting
process, κ is the mean-reverting rate, θ is the mean reverting level of ν, δ is the volatility of ν,
α > 0, and zS (t), zν (t) are the Wiener processes for S and ν, respectively, with a correlation
coefficient, ρ.1 With α = 12 , Heston [19] derived a two dimensional PDE,
vt +
νS 2
δ2ν
vSS +
vνν + δνρSvSν + rSvS + (κ(θ − ν) − λν)vν − rv = 0,
2
2
1
(1.9)
The model (1.8) may have well-posedness issues, since the Lipschitz condition is not satisfied for α 6= 1.
If α > 1, the variance of ν may blow up in finite time. If α < 1, the solution of ν may not be unique if ν = 0
at t = 0. This is a deep question that still needs to be addressed.
4
and found a closed-form formula for European option prices in the form of Fourier inverse
transform. However, no other simple analytical results were found for the more general case
when ρ 6= 0 and α 6= 12 .
Over the years, several numerical schemes were developed to solve the two dimensional
problem, (1.9). Clarke and Parrott [1] used a finite difference scheme along with a multi-grid
iteration technique. Zvan, Forsyth and Vetzal [20] attacked the problem by a mixture of the
finite element method and the finite volume method. Both methods suffer slow convergence
in the number of degrees of freedom. A detailed discussion on the stochastic volatility model
is the subject of Chapter 5.
Even with the Black-Scholes model, (1.2), sometimes, exact formulae are not available
for European options when there are multiple underlying assets. A simple example would be
a European basket option, whose payoff depends on the value of a portfolio of risky assets,
e.g. a basket put option on two stocks, S1 and S2 , with the payoff function,
max(K − a1 S1 − a2 S2 , 0),
where a1 , a2 > 0. The difficulty is to carry out the calculation of the option value
Z K
−rT
v=e
(K − Y )dPY
0
where Y = a1 S1 + a2 S2 is the linear combination of two lognormal distributed random
variables and the risk neutral probability distribution function, PY , is unknown. However,
this will pose no problem for numerical approaches such as finite difference methods or
Monte Carlo methods. We will illustrate our numerical approach for the two-dimensional
Black-Scholes equation, and solve this basket put option in Chapter 4.
So far, we have seen that the pricing of American options, multi-asset options and options
beyond the Black-Scholes model all require the use of numerical methods. This offers both
opportunities and challenges for the computational finance community. Over the years,
lattice methods, Monte Carlo simulation methods and finite difference methods have become
the three major numerical tools to price options.
Lattice methods discretize the stochastic differential equation (SDE), e.g. (1.2) and
match the local mean and variance by choosing the appropriate up and down percentage
changes, u and d, and the associated probabilities. The method is easy to explain and to
implement. Therefore, it is attractive for pedagogical purposes and to compute derivative
5
prices in simple models. The four widely used lattices are CRR [21], Jarrow and Rudd [22],
Amin [23], and Boyle [24]. Lattice methods can be viewed as explicit finite difference
schemes [9] that suffer slow convergence (first order), and instability, i.e., the time step,
∆t, has to be made sufficiently small to keep the scheme absolutely stable.
Monte Carlo simulation is a natural approach to pricing derivatives, and often reduces
to the computation of an expected value. The Monte Carlo method usually consists of three
main stages. The first stage is to generate N random paths of the underlying variables.
The second stage is to compute the corresponding N discounted option payoffs. Finally, the
results are averaged to estimate the expected value. A standard error of the estimate is also
√
produced. The convergence rate of the method is often only O(1/ N ), by the central limit
theorem, though some recent trends make use of the randomized quasi-random sequences
with variance reduction techniques to improve the convergence rate. The method is usually
used when there are multiple underlying variables.
Thoroughly documented in the literature [13], the finite difference method, on the other
hand, uses the PDE approach to price options. It was first proposed by Brennan and
Schwartz [8], [25]. The advantages of this approach are as follows [26]: (1) There is a
wealth of existing theory and algorithms; (2) Issues of numerical consistency, convergence,
and stability have been well established; (3) Second or higher order convergence rate can be
achieved; (4) Financial derivatives under more complicated models can be handled, e.g. the
jump-diffusion model or the stochastic volatility model, see [14], [20] and [1].
The finite difference method, despite its higher order accuracy than lattice methods
and Monte Carlo simulation, still needs large numbers of mesh points to obtain reasonable
precision. For instance, in [14] and [20], one basis point accuracy in the option price required
as many as 500 spatial points. With a single underlying asset, this is not a significant
problem. However, the large number of mesh points needed means that the methods do
not scale well to solve options with multiple underlying assets [26]. For example, as stated
in [1], a mesh of 65 × 33 points in two dimensions with a strike price of K = 100 can only
give an accuracy around 10−2 for the European option under the stochastic volatility model.
Since their method is at most second order accurate, one can deduce at least as many as
520 × 264 = 137, 280 points are required to give an accuracy of at most 10−4 . In practice,
a portfolio may contain hundreds or even thousands of derivative securities. Therefore, to
price options with multiple underlying assets, it would be desirable to find methods that
6
require as few mesh points as possible.
Spectral methods are a well-known class of approximation methods for the solution of
partial differential equations [27]. Their attraction is that for smooth enough solutions, they
are exponentially convergent in the number of degrees of freedom. A high rate of convergence
could mean fewer mesh points and better scaling for multiple asset options.
Although widely used in fields such as fluid mechanics, spectral methods have had
virtually no application in option pricing. A recent dissertation by Greenberg [28] used
a Chebyshev tau method to price American options. As part of a general framework of
parallel computer methods for option pricing, Brunnin et al. [29] presented solutions for a
European call computed with a Chebyshev collocation method.
The stumbling block for the direct application of spectral methods to option pricing is
that the payoff functions for typical options or the initial conditions in the PDE context are
not smooth. For example, (1.1) is only piecewise smooth. As expected, and as we illustrate
in Section 2.3, the nonsmooth initial condition will reduce the collocation approximation
to low order accuracy, making it not competitive with existing finite difference methods.
One approach to eliminate this problem is to regularize the initial condition, which is the
approach taken in [28]. We will present a different approach, that of a spectral element
method, which retains high order convergence.
Spectral multidomain methods, and the spectral element method in particular, are
generalizations of the original spectral methods.
Rather than use a global polynomial
approximation, spectral element methods approximate the solution (in one space dimension,
for instance) by piecewise spectral approximations. This is appropriate, since an initial
condition with a slope discontinuity like (1.1) can be represented exactly as a piecewise
polynomial. Furthermore, the spectral element method solves the PDE in the weak form,
which reduces the smoothness needed for high order accuracy to be obtained, and at the same
time provides a natural way to impose boundary conditions. Finally, the spectral element
method collocates the solution within each element at the Gauss-Lobatto quadrature points,
which makes possible the accurate and efficient straightforward approximation of the jump
integral in (1.7).
In the chapters that follow, we present a Legendre spectral element method to compute
option prices. We mainly focus on European put options, whose exact formulae allow us to
establish the fundamental approach of our method, to measure the numerical performance,
7
and to pave the road for the future work, e.g. American option pricing. We show that
for European put options, our method is spectrally accurate in both the solution and the
Greeks, and that the error decays exponentially fast even with the presence of the initial
discontinuity. The high order accuracy of the method leads to a significant reduction - a
factor of seven to thirty for one underlying variable and a factor of forty to a hundred for two
underlying variables - in the number of mesh points needed for second order finite difference
methods to compute the solution to a reasonable accuracy, i.e., 10−4 . Furthermore, the
high order accuracy also leads to a significant reduction - a factor of ten to fifteen for one
underlying variable - in the computational time required by second order finite difference
methods. Finally, our method gives a maximum error in the domain of interest rather than
only the pointwise errors provided in [1] and [30].
The rest of this text is organized as follows. In Chapter 2, we provide a quick overview
of the spectral methods, in particular, Galerkin methods and collocation methods. We show
that a naive application of the spectral collocation method only gives low order convergence.
In Chapter 3, we first introduce the jump diffusion model, (1.6) and derive the PIDE,
(1.7). In Section 3.3, we use the Black-Scholes equation to illustrate the one-dimensional
spectral element method. We prove the well-posedness of the IBVP and the stability of the
method. In Section 3.5, we extend the method to the PIDE, (1.7), with a natural quadrature
approximation for the jump integral term. Finally, we discuss the numerical performance of
our method and compare it with those from the finite difference method.
The spectral element method for options on two assets are introduced in Chapter 4.
We provide a detailed description of the discretization of the two-dimensional Black-Scholes
equation, (4.2), derive the diagonal preconditioner, and introduce three iterative solvers,
namely, Conjugate Gradient, Generalized Minimal Residual and Bi-Conjugate Gradient
stabilized. In Section 4.6, we use a rainbow put option as the example to establish spectral
accuracy of the method. We then use the method to price a basket put option with two
assets, which does not have an exact formula. We will also discuss the performance of the
diagonal preconditioner and the iterative solvers.
In Chapter 5, we review the literature of stochastic volatility models, discuss the boundary
conditions, and use the method established in Chapter 4 to solve for European put options
under the stochastic volatility model, (5.3). Finally, we use the results provided in [1] to
assess the efficiency of our method for the two-dimensional problem.
8
We conclude with the observations and present the future research problems in Chapter 6.
We show some success of the spectral element method on American binary options, whose
payoff functions are discontinuous. An exact formula is obtained for American binary options
and is provided in Appendix A.
9
CHAPTER 2
SPECTRAL METHODS BACKGROUND
Spectral methods are a class of numerical methods that approximate solutions by finite
expansions of orthogonal basis functions. The Fourier series, {eikx }∞
k=−∞ are the original
candidates. The advantage of the spectral methods is that when the solution is smooth
enough, the expansion coefficients decay faster than any polynomial order. Therefore, only
a few terms are required in the expansion to achieve a desired accuracy, which makes the
spectral methods superior for problems with smooth enough solutions.
Since there have been so few instances of the use of spectral methods in financial
applications to date, we will quickly review the historical development of the methods, and
introduce two major approaches, namely, the Galerkin method and the collocation method.
We also provide an example showing that a naive application of the spectral collocation
method only gives a low order approximation for a European put option. We refer interested
readers to a full discussion of spectral methods in the recent book by Canuto, Hussaini,
Quarteroni and Zang [27].
2.1
Historical Remarks
Spectral methods were originally proposed by Blinova in 1944 for computations in fluid
dynamics, and first implemented by Silberman in 1954. Unfortunately, spectral methods
received little attention until they were resurrected by Orszag in 1969, by Eliason, Machenhauer and Rasmussen in 1970, and also by Kreiss and Oliger in 1972.
During the 1970’s, spectral methods were promoted mainly by meteorologists to study
global weather modeling, and by fluid dynamicists to investigate isotropic turbulence. They
seemed to be well-suited only for problems with mostly periodic boundary conditions and of
course, smooth solutions by the virtues of the Fourier series.
10
Polynomial spectral methods were first introduced by Orszag [31] in 1971 and [32] in
1972. Gottlieb and Orszag, in 1977, in their seminal survey work [33], laid out the first
mathematical foundations of spectral methods and allowed the methods to be extended to a
broader class of problems, such as variable coefficients and nonlinear problems. Thoroughly
analyzed and intensively covered in CHQZ [34] and Boyd [35] in the late 1980’s, spectral
methods became reasonably mature in both the theory and the algorithms, and entered the
mainstream of scientific computing in the 1990’s.
One key ingredient to the success of spectral methods is the development of multidomain
spectral methods, which were aimed to handle complex geometries in multiple space
dimensions.
In the early 1980’s, Orszag [36] and Morchoisne [37] proposed spectral
domain decomposition approaches for simple elliptic problems based on the strong form
of the equations. Spectral multidomain methods were introduced in the mid 1980’s by
Patera [38] and Kopriva [39], that break the region of interest into smaller sub-domains. In
a multidomain method, a global spectral method is applied within each of the subdomains,
which are coupled together by some coupling condition.
In the late 1980’s, the research focus had gradually shifted from classical spectral methods
on single domains to multidomain spectral methods on complex geometries. Over the past
two decades, spectral multidomain approaches have been converging to those of h-p finite
element methods, which were first proposed by Babuška, Szabó and Katz [40]. The methods
allow one to simultaneously refine the mesh, h-refinement, and increase the order of the
local polynomial approximation, p-refinement. Although it is hard to measure the errors as
a function of computational cost, for smooth solutions, h-p refinement is considered to be
the optimal convergence strategy. Over the years, spectral multidomain or Spectral Element
Methods (SEM) have been well-developed, and have become so common that the book [27]
is now subtitled “Fundamentals on Single Domains”.
Before introducing the SEM in the next chapter, we briefly touch the fundamental
approaches of spectral methods on single domains.
2.2
The Methods
As we have mentioned in Chapter 1, the main attraction of spectral methods is that for
smooth enough solutions, their error decays exponentially fast in the number of degrees of
freedom. This translates to significantly fewer degrees of freedom needed for a given accuracy
11
when compared to low order finite difference or finite element methods.
Spectral methods for PDEs are characterized by two features. The first is that they
approximate the solutions by finite expansions in global orthogonal polynomials, formally
written as
u(x) ≈ U (x) =
where the set
{φk }N
k=0
N
X
ûk φk (x),
(2.1)
k=0
is known as the modal basis set. For non-periodic boundary value
problems, the basis functions are chosen to be polynomials, because they are easy to evaluate
and differentiate. Furthermore, they are chosen to be eigenfunctions of a singular SturmLiouville problem to guarantee that the rate of convergence of the error, u − U , which
itself depends on the rate of convergence of the coefficients ûk of u, depends only on the
smoothness of the solution. The most convenient choices for these modal basis functions
are the Chebyshev polynomials, φk = Tk (x), and the Legendre polynomials, φk = Lk (x).
Natively, spectral approximations are global since the basis functions are global polynomials.
The second feature that characterizes a spectral method is how the N + 1 degrees of
freedom, {ûk }N
k=0 , are determined. The main approaches employed by spectral methods
include Galerkin method, Tau method, collocation method and Galerkin with numerical
integration method [27].
Generally speaking, in the Galerkin and Tau methods, the
unknowns are the expansion coefficients, ûk , whereas the collocation and Galerkin with
numerical integration methods directly solve the physical space values of the unknown
function at a set of special points, namely, the Gauss-Lobatto quadrature nodes.
In the Galerkin method, the residual, i.e., the amount by which the approximate solution
fails to satisfy the PDE, is required to be orthogonal to the span of {φk }N
k=0 , with the
restriction that the φk each satisfy the boundary conditions, Bu = 0, where B is a set of
linear boundary differential operators. To illustrate the approach, we will approximate the
heat equation with trivial boundary conditions

x ∈ [−1, 1]
 ut − uxx = 0,
u(−1, t) = u(1, t) = 0
.

u(x, 0) = f (x)
(2.2)
To derive the Galerkin approximation, orthogonality is defined with respect to the weighted
inner product by
(u, v)w =
Z
1
u(x)v(x)w(x)dx,
−1
12
where the weight, w(x), is appropriate to the specific basis function being used.
The
orthogonality simplifies the calculations and leads to a sparse matrix system. For the
Legendre polynomials, w(x) = 1. For simplicity, we will assume the Legendre weight and
drop the w subscript in the inner products. The approximate solution, U, is substituted for
u and the requirement that the residual be orthogonal to the span of the basis functions
becomes
(Ut − Uxx , φk ) = 0 k = 0, 1, . . . , N.
(2.3)
Since the Legendre functions, Lk (x), are not homogeneous on the boundaries, x = −1, 1,
they need to be modified to be boundary-adapted modal bases to individually satisfy the
homogenous boundary conditions. An example of boundary-adapted Legendre modal bases
are
1
1−x
η0 (x) = (L0 (x) − L1 (x)) =
,
2
2
1+x
1
,
η1 (x) = (L0 (x) + L1 (x)) =
2
2
and
1
ηk (x) = p
(Lk−2 (x) − Lk (x)),
2(2k − 1)
where η0 (x) and η1 (x) are used to handle non-homogeneous boundary conditions, and ηk (x)
for k ≥ 2, are homogeneous at x = −1, 1. Note that {ηk }N
k=0 are only partially orthogonal to
each other.
An integration by parts is usually performed on Equation (2.3). Using the fact that
ηk (±1) = 0 for k ≥ 2, we arrive at the weak form,
(Ut , ηk ) + (Ux , ηk′ ) = 0 k = 2, 3, . . . , N.
(2.4)
The Galerkin approach has the advantage of having the best-like error properties in the
square integral sense, but with the disadvantages that the analytical integrals represented by
the inner products must be evaluated and the modal basis functions need to be boundaryadapted, which reduces the orthogonality. On the other hand, the weak form, (2.4), has
lowered the regularity requirements on the solution, since only the first derivative, not the
second appears in Equation (2.4).
The Tau method also works directly with orthogonal modal basis functions. Instead of
requiring each φk (x) satisfy the boundary conditions, it only requires that the approximation,
13
U, which is a linear combination of the basis functions, satisfy the boundary conditions. The
Tau method is not closely related to our approach and in fact, is not being used much today,
so we skip the details of the method here.
As a different approach from the Galerkin method and the Tau method, the collocation approximation specifies that the residual vanishes at a set of collocation points.
Consequently, solutions are represented by polynomial interpolants.
To have the best
approximation properties and to easily enforce the boundary conditions, these points are
chosen to be the nodes of a Gauss-Lobatto quadrature. The advantage of the collocation
method is that no integrals need to be computed, making it easy to apply to variable
coefficient and nonlinear problems.
For the heat equation (2.2), the Chebyshev collocation approximation is
d
U (xj , t) − Uxx (xj , t) = 0 j = 1, 2, . . . , N − 1,
dt
(2.5)
where xj = −cos(jπ/N ). This set of equations plus the boundary conditions U (x0 , t) =
U (xN , t) = 0 completely specifies the solution. Although the collocation approximation is
very easy to apply, the tradeoff is that aliasing errors are introduced into the approximation
through the polynomial interpolations. Fortunately, aliasing errors also decay exponentially
fast for smooth enough solutions.
More relevant to option pricing applications, the
collocation method is applied to the strong form of the equations, so the solutions need
more smooth derivatives for the approximation to be rapidly convergent.
An alternative compromise between Galerkin and collocation approximations that has
become common in recent years is to use the Galerkin approximation (2.4) but replace the
integrals by optimal, Gauss quadratures. In [27], this approach is termed as the Galerkin
with numerical integration method. It has the advantage of requiring less smoothness in the
solution, as in the Galerkin approximation, yet is easy to apply, like the collocation method.
This is the approach taken by the spectral element method [41], and is the approach we will
take here and describe in detail in Section 3.3.
Natively, spectral approximations are global since the basis functions are global polynomials. To handle complex geometries in multiple space dimensions, the SEM breaks the
region of interest into smaller sub-domains, apply a spectral method within each of the
subdomains, and couples them together by some coupling conditions. Beside its suitability
to problems with complex geometries, the SEM is also used to enable local grid refinement
14
on simple domains, to take advantage of different behavior of the solution in different parts of
the domain, and to get relief from the severe time-step restriction of single-domain spectral
methods using explicit time discretizations [42]. We will show here that the SEM can also
handle non-smooth initial conditions for diffusion type equations.
We show in the next section that a global spectral method is not recommended to price
options. As we noted earlier, option pricing by PDE methods has the interesting feature
that the initial conditions are not smooth. Since the convergence rate of spectral methods is
high only if the solutions are smooth, direct application of a spectral method to the solution
of the Black-Scholes equation will lead to a low order, slowly convergent approximation. As
a result the methods will not be efficient when compared to a low order finite difference
method.
2.3
Legendre Collocation Approximation for a
European Put
As an illustration of the effect of the singularity in the initial condition on the convergence of
a spectral method, we show that Legendre collocation is only a low order convergent method
for the solution of a European Put option using the Black-Scholes equation
vτ =
σ2S 2
vSS + rSvS − rv,
2
(2.6)
where τ = T − t. Let us immediately restrict the range of the stock price to [0, Sm ], where
Sm is an approximation to infinity, and define x = 2S/Sm − 1 so that x ∈ [−1, 1]. Under
this transformation, the Black-Scholes equation becomes
vτ =
σ 2 x2
vxx + rxvx − rv,
2
(2.7)
where τ = T − t. To discretize (2.7) by Legendre collocation, we approximate the solution
v by a polynomial of degree N evaluated at the Legendre Gauss-Lobatto points, {xj }N
j=0 .
Thus, we let Vj be the value of the put at the mesh point xj . Since the approximation is a
polynomial of degree N , it doesn’t matter if we write it in the modal form Eq. (2.1) or in
the equivalent, yet more convenient, nodal, i.e., Lagrange form
V (x) =
N
X
j=0
15
Vj ℓj (x),
(2.8)
where ℓj is the Lagrange interpolating polynomial for the j th mesh point
ℓj (x) =
N
Y
i=0,i6=j
(x − xi )
.
(xj − xi )
Note that, at the discrete nodes, xi , i = 0, ..., N, ℓj (xi ) is a Kronecker delta function,

 1 f or j = i
ℓj (xi ) = δji =
.

0 otherwise
To construct the collocation approximation, we substitute the polynomial approximation
of the solution into the differential equation and require the result to be satisfied at the mesh
points. That is, we get N + 1 ordinary differential equations for the N + 1 unknowns by
V̇j =
σ 2 x2j
2
Vxx |j + rxj Vx |j − rVj
j = 0, 1, . . . , N
(2.9)
V0 = bL (τ )
VN = bR (τ )
In (2.9) the functions bL and bR represent the boundary conditions and the dot notation
represents the time derivative.
The spatial differentiations can be expressed as matrix-vector multiplications because
N
N
X
X
dV (x) ′
=
Vk ℓk (xj ) =
Djk Vk ≡ (DV )j
(2.10)
dx j k=0
k=0
where D is the Legendre derivative matrix. If we make the substitutions for the derivatives
in (2.9), the semi-discrete approximation becomes
σ 2 x2j
V̇j =
D2 V j + rxj (DV )j − rVj
2
(2.11)
Equation (2.11) can be written as a matrix system,
˙
V~ = AV~ + β~
(2.12)
where V~ is the vector of the interior mesh points, and β~ includes the boundary conditions.
The system of equations (2.12) can be integrated in time by any one of a number of
time stepping schemes. Applying the trapezoidal rule commonly used in finite difference
approximations to the Black-Scholes equation to the time integration gives
V n+1 = V n +
∆t n+1
∆t
β
+ βn
A V n+1 + V n +
2
2
16
(2.13)
so
∆t
∆t
∆t n+1
n+1
I−
(2.14)
β
+ βn
A V
= I+
A Vn+
2
2
2
A
that must be inverted at each time step is full,
Note that even though the matrix I − ∆t
2
an LU factorization can be computed once at the beginning and solved relatively quickly by
a forward and backward substitution method as long as the coefficients of the problem do
not depend on time.
To illustrate the convergence of the Trapezoidal rule/Legendre collocation approximation,
we integrated Eq.(2.14) using the parameters shown in Table 2.1. The right boundary Sm
was chosen large enough so that the error from its placement was negligible [43]. The number
of time steps was also taken large enough so that the spatial errors dominate as the number
of collocation points increases. The error in the value of the option at the strike price is
plotted in Fig. 2.1. This log-log plot clearly shows that the convergence is quadratic in
the number of degrees of freedom. In other words, the convergence rate of the Legendre
collocation method is no better than a second order finite difference method.
Table 2.1: European Put Option Parameters for Legendre Collocation
K
T
r
σ
100 0.25 0.05 0.15
2.4
Rationale for the Spectral Element Method
As we have just seen, the direct application of a spectral collocation method leads to low
order convergence of the approximation. One approach to increase the convergence rate is
to regularize, i.e., to smooth the initial condition, since for all time τ > 0 the solution is
smooth. Instead, we propose in the next chapter to use the SEM with an element boundary
placed at the strike price. In the spectral element approach, the equation is written in the
weak form, having integrated the equation once by parts, Eq. (2.4). That integral is broken
into several integrals over subintervals of the domain S ∈ [0, Sm ], with one break placed
at the strike price. The solution is then represented in each sub-interval (element) by a
polynomial of the form (2.8). Note that such a piecewise polynomial approximation can
17
0.5
1
Log10(Error)
0
2
-0.5
-1
-1.5
-2
-2.5
10
100
Total Number of Spatial Points
500
Figure 2.1: Convergence of the absolute error at the strike price for a Legendre spectral
collocation solution of a European put.
exactly represent initial conditions like (1.1), making the spectral element approach natural
for this kind of problem.
18
CHAPTER 3
EUROPEAN OPTION PRICING WITH ONE ASSET
UNDER THE JUMP DIFFUSION MODEL
In this chapter, we develop the one-dimensional SEM to price European put options under a
jump diffusion model with one asset. We first introduce the model and derive the PIDE (1.7).
In Section 3.2, we quickly go over the current numerical methods proposed for Eq. (1.7). To
illustrate the SEM , we use the standard Black-Scholes equation (1.3) as the example. We
then prove the well-posedness of the IBVP and the stability of the SEM . In Section 3.5, we
extend our method to Eq. (1.7). To approximate the jump integral term, we simply replace
it with Gauss quadratures and apply over-integration techniques. In Section 3.8, we show
that the method gives spectrally accurate solutions and leads to a significant reduction, a
factor of seven to thirty, in the number of spatial points used in finite difference methods.
Furthermore, spectral accuracy is also observed in the Greeks, Delta and Gamma.
3.1
The Jump Diffusion model and the PIDE
In the classical Black-Scholes framework, the stock price dynamics follows a geometric
Brownian motion, (1.2), which has a continuous sample path. The continuity of the sample
path indicates that the stock price can only change by a small amount in a short interval,
whereas empirical studies tend to show too many outliers for a constant-variance log-normal
distribution.
To account for this, Merton [12] posited the total change in the stock price to be the
composition of two types of changes: (1) The “normal” vibrations in price, which may
be caused by a temporary imbalance between supply and demand, changes in capitalization
rates, changes in the economic outlook, or other new information that causes marginal change
in the price. The component of this uncertainty is assumed to have a continuous sample
19
path and is modeled by a standard geometric Brownian motion with constant variance; (2)
The “abnormal” vibrations in price due to the arrival of important new information that
is specific to the firm or its industry. Usually, such information has more than a marginal
effect on price and arrives only at the discrete points in time. This component is modeled
by a jump process that reflects the non-marginal impact of the information.
The posited stock price returns can be formally written as (1.6), i.e.,
dS
= (µ − λκ)dt + σdz + dq.
S
The process can be viewed as superposition of a Brownian motion and a Poisson jump process
and is indeed a Lévy process [44].
Kushner and Dupris [45] give a version of the Itô formula that accommodates Poisson
jumps. Let v be a twice-differentiable function of S, then
1
dv = (vt + (µ − λκ)SvS + σ 2 S 2 vSS )dt + σSvS dz + dQv
2
(3.1)
where S means S(t− ) and dQv = v(S(t)) − v(S(t− )), which is the jump process induced by
q(t), i.e., the Poisson event for the option price occurs if and only if the Poisson event for
the stock price occurs.
We now use (3.1) to solve for the stock price, S(t). Let v = lnS, then
1
dlnS = (µ − λκ − σ 2 )dt + σdz + lnS(t) − lnS(t− ).
2
So the stock price at any time t is given by
Yn(t)
1
S(t) = S(0) exp[(µ − λκ − σ 2 )t + σ · z(t)]
ηi ,
i=1
2
where n(t) is a Poisson random variable with mean λt and ηi − 1 is a random percentage
jump from a specified distribution. Note that S(t) is no longer lognormally distributed due
Qn(t)
to the compound Poisson random variable, log( i=1
ηi ).
We are now ready to derive the PIDE, (1.7), using (1.6) and (3.1).
Consider the
strategy of holding −1 share of an option, v, and vS shares of its underlying stock, S.
The instantaneous change of the portfolio according to (1.6) and (3.1) is
−dv + vS dS = −(vt + 12 σ 2 S 2 vSS )dt − dQv + vS dq
= −(vt + 12 σ 2 S 2 vSS )dt − [v(S(t)) − v(S(t− ))] + vS [S(t) − S(t− )].
20
As we can see, the portfolio will not be riskless in the presence of a jump process because
the option price is a nonlinear function of the stock price. However, if we assume the
Weiner process represents “systematic” risk, and the jump component of the stock’s return
represents “nonsystematic” risk in (1.6), then the portfolio becomes a zero-beta portfolio,
i.e., it does not involve “systematic” risk. Furthermore, if we assume that Capital Asset
Pricing Model [46] is a valid description of equilibrium security returns, then the expected
return on all zero-beta portfolios must equal the riskless rate1 , i.e.,
−(vt + 12 σ 2 S 2 vSS )dt − λdt(E[v(ηS) − v(S)] − vS Sκ)
E[−dv + vS dS]
=
= rdt
−v + vS S
−v + vS S
Rearrange it, we arrive at the PIDE, (1.7),
σ2S 2
vSS + (r − λκ) SvS − (r + λ) v + λ
vt +
2
Z
∞
v (ηS, t) G (η) dη = 0,
0
where G(η) is the probability density function of η.
Merton assumes the percentage jump size, η, is log-normally distributed, i.e.,
)2 )
exp(− 21 ( log(η)−m
δ
√
G(η) =
2πδη
(3.2)
where m is the mean of log(η) and δ 2 is the variance of log(η), and find the closed-form
solution for a European option,
′
∞
X
e−λ T (λ′ T )n
fn
v=
n!
n=0
(3.3)
where λ′ = λ(1 + κ), κ = E(η − 1) = exp(m + 21 σ 2 ) − 1, and T is the maturity. The variable
fn is the Black-Scholes option price where the instantaneous variance rate is σ 2 +
the risk-free rate is r − λκ +
nγ
T
and
, and γ = ln(1 + κ). The formula (3.3) is indeed the sum of
a series of Black-Scholes option prices weighted by the Poisson probabilities,
3.2
nδ 2
,
T
e−λ
′T
(λ′ T )n
.
n!
Current Numerical Approaches
Despite the formula, (3.3), a numerical approach is necessary to solve Eq. (1.7) for European
options with any distribution, G(η), other than lognormal. To date, several papers and a
1
This assumption is crucial. It means the resulting equation cannot be applied to the derivatives on the
market portfolio. See [47] for options on the market portfolio with discontinuous returns.
21
book have used the finite difference method to solve (1.7). The challenge when jump diffusion
is present is to compute the convolution integral efficiently.
Tavella and Randall [13] evaluate the truncated integral on a different spatial grid (in
log) by interpolating and extrapolating the values on the original spatial grid and then using
a trapezoidal rule for each partitioned integral. This results in a dense matrix for a vector of
option prices. To get second order accuracy in time and to avoid directly solving the dense
matrix system, they then use the so-called “lagging” (iteration) along with a tri-diagonal
matrix solver to solve the system at each time step. Because of the excellent initial guess,
it only requires two or three iterations at each time step. However, as the number of spatial
points increases, the matrix vector multiplication gets expensive.
Andersen and Andreasen [14] use an F F T to evaluate the convolution integral and solve
the system explicitly in time (1st order accurate). Note:
Z ∞
V (eln S+x )G(x)dx) = F T (V )F T (G)
FT(
−∞
where F T means Fourier Transform. So two forward and one backward F F T gives a set of
integral values. This is a big improvement on the speed, since G only needs to be transformed
once and stored, and the complexity of F F T is only O(N log2 N ), where N is the number of
spatial points.
D’Halluin, Forsyth, and Labahn [30] use both iterations and an F F T to price the
corresponding American option and provide a detailed proof on the convergence of the
iteration. Their method is second order accurate.
However, by using a F F T , the method introduces aliasing errors, i.e., low frequencies
couple with high frequencies for every N th mode. Also, to be accurate to 10−4 , which can
be considered to be conservatively accurate, it needs more than 500 spatial points, 216 time
steps, and 456 iterations.2 So, it’s hard to extend the method to multi-asset options.
In the next section, we describe the SEM approximation to the Black-Scholes equation,
which is semi-discrete only. The discretization in time will be discussed in Section 3.7.
2
These numbers are from [30], page 346, Table 3.
22
3.3
The SEM for the Black-Scholes Equation
We now develop the SEM for the Black-Scholes equation. Consider the weak form of
Eq. (1.3),
Z
Sm
vτ φdS =
Z
Sm
0
0
σ2S 2
vSS φdS +
2
Sm
Z
0
rSvS φdS −
Z
Sm
rvφdS
(3.4)
0
for all test functions that are square integrable, and whose derivatives are also square
integrable, i.e., φ ∈ H01 (0, Sm ), where the subscript 0 means φ is homogeneous at any
Dirichlet boundaries. Here, for completeness, we will solve Eq. (3.4) with two sets of
boundary conditions (BCs), namely,

 v̇(0, τ ) = −rv(0, τ )

and
v(Sm , τ ) = b (τ )

 vS (0, τ ) = bLn (τ )

(3.5)
R
.
(3.6)
R
v(Sm , τ ) = b (τ )
The spectral element discretization that we derive is equally applicable to the call.
We integrate the ODE at S = 0 in (3.5) rather than specify the analytical value to reduce
the weak boundary layer that arises when the Dirichlet condition is applied to the outflow
in the advection dominated region of Eq. (3.4). Although this layer is non-existent in the
analytical solution, time integration errors can be sufficiently large to make it noticeable in
an accurate spectral approximation. On the other hand, specifying the Neumann boundary
condition at S = 0 in (3.6) is perfectly legitimate for advection-diffusion type equations. We
will compare the convergence behaviors between the two BCs in Section 3.8.
To keep expressions short, we first apply the spectral element method to the diffusion part
of Eq. (3.4) and ignore the constant coefficient for the moment, i.e., we first approximate
the equation
Z
Sm
vτ φdS =
0
Z
Sm
S 2 vSS φdS.
(3.7)
0
Integrating (3.7) by parts and applying φ(Sm ) = 0, we get
Z
0
Sm
vτ φdS = −
Z
0
Sm
2
S vS φS dS −
23
Z
0
Sm
2SvS φdS.
(3.8)
"
L
"
0
R
S
K
Sm
"s
-1
1
!
se
Figure 3.1: Subdivision of the domain [0, Sm ] into two elements, each mapped onto the
standard element.
This is the final weak form of the diffusion part of the Black-Scholes equation that will be
approximated.
The interval Ω = [0, Sm ] is now divided into multiple elements. To reduce the notational
complexity, we will derive the approximation for two elements only, one to the left of the
strike price and the other to the right, as shown in Fig. 3.1. That is, that we split Ω into two
en
elements ΩL = [0, K] and ΩR = [K, Sm ] with lengths dL = K and dR = Sm − K, respectively,
so that ΩL + ΩR = Ω. Each element, ΩL,R , is then mapped onto the “standard element” or
the “master element”, Ω0 = [−1, 1] by an affine transformation:
 2
 dL
 2 (ξ + 1), S ∈ ΩL
 dL S − 1, S ∈ ΩL
, ξ(S) =
.
S(ξ) =
 2
 dR
R
R
(S − K) − 1, S ∈ Ω
(ξ + 1) + K, S ∈ Ω
dR
2
lic
From the spatial mappings, derivatives and integrals are transformed according to
 dL
 2 ∂
L
 2 dξ, S ∈ ΩL
 dL ∂ξ , S ∈ Ω
∂
∂ ∂ξ
.
dS =
, ∂S
= ∂ξ
=
∂S
 dR
 2 ∂
R
R
,
S
∈
Ω
dξ,
S
∈
Ω
dR ∂ξ
2
The split into elements allows us to break each integral in (3.8) into subintegrals defined
on each element, namely, for each of ΩL and ΩR , we have the weak form
Z
Z
Z
2
2SvS φdS
S vS φS dS −
vτ φdS = −
ΩL,R
ΩL,R
ΩL,R
24
(3.9)
The complete integral (3.8) is obtained by summing the elemental contributions (3.9). After
the transformations to the standard element are applied, Eq. (3.9) becomes
Z 1
Z
Z
d 1
2 1 2
Svξ φdξ
vτ φdξ = −
S vξ φξ dξ − 2
2 −1
d −1
−1
(3.10)
for each of ΩL and ΩR , where we have dropped the superscript L, R for d.
The solution is now approximated over the entire interval by a continuous, piecewise
polynomial, and the test functions are also restricted to continuous, piecewise polynomials.
For simplicity of presentation, we will assume that the same order polynomials are used in
each element, though in practice this restriction is not needed. Thus, within each element
the solution and test function can be written as
N
P
V (ξ) =
φ (ξ) =
Vj ℓj (ξ)
j=0
N
P
φj ℓj (ξ)
j=0
with the restriction that VNL = V0R , φLN = φR
0 , and the values of φj at the Dirichlet boundaries
R
vanish, i.e., φL0 , φR
N = 0 for BCs (3.5) and φN = 0 for BCs (3.6).
The integrals in (3.10) are replaced with Gauss-Lobatto-Legendre quadrature, which is
exact for polynomials of degree 2N − 1 or less. Thus, if we denote the Gauss-Lobatto
quadrature weights by wj ,
Z
1
Vξ φξ dξ =
−1
N
X
i=0
Vξ |i φξ |i wi
is exact because the integrand is a polynomial of degree 2N − 2. On the other hand,
Z
1
−1
Vτ φdξ ≈
N
X
V̇i φi wi ,
i=0
is not exact because the integrand is a polynomial of degree 2N . Nevertheless, the error is
spectrally small [48].
We now make the substitutions with the approximations for v, φ, and the integrals in
′
(3.10). We define the derivative matrix, Dij = ℓj (ξi ), and recall that ℓj (ξk ) = δjk , to get the
discrete approximation to the elemental contributions
d
2
N
P
j=0
V̇i φi wi = − d2
N P
N P
N
P
i=0 n=0 m=0
S 2 (ξi ) Vn Din φm Dim wi − 2
25
N P
N
P
i=0 n=0
S (ξi ) Vn Din φi wi
(3.11)
The complete approximation of (3.8) is found by summing the elemental contributions (3.11)
dL
2
N
P
V̇iL φLi wi +
dR
2
N
P
V̇iR φR
i wi =
i=0
i=0
N P
N P
N
N P
N
P
P
− d2L
S 2 (ξi ) VnL Din φLm Dim wi − 2
S (ξi ) VnL Din φLi wi
i=0 n=0 m=0
i=0 n=0
N P
N P
N
N P
N
P
P
2
S 2 (ξi ) VnR Din φR
S (ξi ) VnR Din φR
− dR
m Dim wi − 2
i wi
i=0 n=0 m=0
i=0 n=0
.
(3.12)
We now construct the system of ordinary differential equations to be integrated in time
for each of the mesh point values, VjL,R . For the piecewise polynomials to be elements of
H01 (0, Sm ), they must be continuous, i.e., φLN = φR
0 . Next, (3.12) must hold for any such
N
continuous test functions, which implies that the {φL,R
j }j=0 can be taken to be linearly
independent. Thus each factor of φL,R
in (3.12) must match. Matching the coefficients of
j
φLj on the left element ΩL gives
N
N
N
X
dL L
2 XX 2
V̇j wj = − L
S (ξi ) VnL Din Dij wi − 2
S (ξj ) VnL Djn wj .
2
d i=0 n=0
n=0
(3.13)
Equation (3.13) can be written further in terms of matrix elements. Let W be the diagonal
matrix of quadrature weights, Wii = wi . Define also two diagonal matrices S̄ L,R that contain
the collocation point values of the asset price, S, that is, S̄iiL,R = S(ξi ) for ξi ∈ ΩL,R . Then
the option prices at the points ξj in the left element satisfy
N
N
X
2 X T L 2
dL L
L
Vn − 2
WD
D S̄
S̄ L W D jn VnL = B L V L j
V̇j wj = − L
2
d n=0
jn
n=0
(3.14)
for j = 1, ..., N − 1 with the boundary conditions (3.5), or for j = 0, ..., N − 1 with the
boundary conditions (3.6), where
BL = −
2 T L 2
W D − 2S̄ L W D.
D S̄
dL
Similarly, on the right element ΩR , we have
N
N
X
dR R
2 X T R 2
V̇j wj = − R
VnR − 2
WD
D S̄
S̄ R W D jn VnR = B R V R j
2
d n=0
jn
n=0
for j = 1, ..., N − 1.
(3.15)
Finally, we can construct the equation for the approximation
at the interface. Since the solution and the test functions are continuous there, define
26
L,R
V ∗ = VNL = V0R . Then setting φLN = φR
= 0 gives the
0 = 1 and all other values of φj
equation that couples the two sides,
L
dR
d
∗
wN +
w0 = B L V L N + B R V R 0
V̇
2
2
(3.16)
Equations (3.14), (3.15), and (3.16) can be combined into a single, global, matrix system
of ODEs
˙
Ws V~ = B V~ + β~b ,
(3.17)
which includes the interior and boundary contributions. The solution vector in (3.17) is
V~ =
V0L
V1L . . . VNL−1 V ∗ V1R . . . VNR−1
while the mass matrix, Ws , is the diagonal
 L d
w0
 2
dL

w1
2


..
.


dL

wN −1
2
Ws = 






0
T

0
dL
wN
2
+
dR
w0
2
dR
w1
2
..
.
dR
wN −1
2
Finally, let us define the augmented stiffness matrix,
BL
0
0
BR














B̃ ≡
The overlapping region in the graphic for B̃ represents the sum of the contributions from
L
B L and B R , as indicated by Eq. (3.16). The terms in parentheses, (V0L ) in V~ and ( d w0 )
2
in Ws , are included for the boundary conditions (3.6). The rows and columns corresponding
to those entries are deleted when boundary conditions (3.5) are used. Thus, for boundary
conditions (3.6), B = B̃(0 : 2N − 1, 0 : 2N − 1), while for boundary conditions (3.5)
27
Algorithm 1: Stiffness Matrix Construction
Input: B L , B R , BCType
Output: B
B̃ = 0 ;
B̃(0 : N, 0 : N ) = B L ;
B̃(N : 2 ∗ N, N : 2 ∗ N ) = B̃(N : 2 ∗ N, N : 2 ∗ N ) + B R ;
if BCType = Eq. (3.5) then
B = B̃(1 : 2N − 1, 1 : 2N − 1);
else
B = B̃(0 : 2N − 1, 0 : 2N − 1);
end
return B;
Algorithm 2: Boundary Condition Construction
Input: B L , B R , V (0, τ ), BCType
Output: β~b
β~b = 0 ;
if BCType = Eq. (3.5) then
β~b (0 : N − 1) = V (0, τ ) ∗ B L (1 : N, 0);
β~b (N − 1 : 2N − 2) = β~b (N − 1 : 2N − 2) + bR (τ ) ∗ B R (0 : N − 1, N );
else
β~b (N : 2N − 1) = bR (τ ) ∗ B R (0 : N − 1, N );
end
return β~b ;
B is B̃(1 : 2N − 1, 1 : 2N − 1) with the rows and columns associated with the entries
in paranetheses are removed. The construction of the stiffness matrix B can be written
concisely in Fortran style array operations, as shown in Algorithm 1. The last term in
(3.17), β~b , reflects the boundary conditions. Its construction is shown in Algorithm 2, again
using Fortran style array notation. Note, however, that since B is block diagonal, it is not
necessary to store the entire matrix.
At this point, the weak form of the diffusion equation (3.8) has been fully specified.
To have a complete spectral element approximation for (3.4), we only need to add the
contributions of the integrals
Z
0
Sm
rSvS φdS −
28
Z
0
Sm
rvφdS.
Note that we have already encountered the term,
Z Sm
rSvS φdS
(3.18)
0
in Eqn. (3.8) with a different constant coefficient. Therefore, we can immediately write the
spectral element approximation of (3.18) in matrix-vector form,
Z Sm
SvS φdS → C V~ + β~c .
(3.19)
0
The construction of the stiffness matrix C mirrors that of B. Let C̃ be the augmented
stiffness summation of C L and C R , where
 L
 C = S̄ L W D

.
C R = S̄ R W D
Then C and β~c can be constructed in the same way as B and β~b .
Also, the integral
Z
Sm
vφdS
(3.20)
0
is similar to the weak form of the time derivative term on the left-hand side of Eqn. (3.8).
So, again, we can easily write its spectral element approximation as
Z Sm
vφdS → Ws V~
(3.21)
0
We can now write out the complete version of the spectral element method for the weak form
of the Black-Scholes equation (3.4), by combining all the pieces, (3.17), (3.19) and (3.21):
σ2
˙
Ws V~ = (B V~ + β~b ) + r(C V~ + β~c ) − r Ws V~ .
2
(3.22)
The diagonal matrix on the left, Ws , is trivial to invert, so
2
2
σ
σ
˙
V~ = Ws−1 ( B V~ + r C V~ ) − r V~ + Ws−1 ( β~b + r β~c ) .
2
2
3.4
(3.23)
Well-Posedness and Stability
We have derived the system of ODEs for the Black-Scholes equation. In this section, we
show the well-posedness of the Black-Scholes equation, and the corresponding stability of
the SEM for the European put option.
29
3.4.1
Well-Posedness
We consider the following initial boundary value problem (IBVP) with the BCs (3.6),
vτ = 12 σ 2 S 2 vSS + rSvS − rv,
v(S, 0) = max(K − S, 0),
(3.24)
vS (0, τ ) = −1,
v(Sm , τ ) = 0.
The weak form of (3.24) finds v ∈ H01 (Ω) ⊗ C 1 [0, +∞) that satisfies
σ2
(vτ , φ) = − (SvS , SφS ) + (r − σ 2 )(SvS , φ) − r(v, φ)
∀φ ∈ H01 (Ω),
(3.25)
2
RS
where H01 (Ω) = {φ ∈ H 1 (0, Sm )|φ(Sm ) = 0}, (v, φ) = 0 m vφdx, and C 1 [0, +∞) indicates
that vτ is continuous.
To show the well-posedness, we take φ = v(·, τ ), which gives
σ2
1 d
||v||2L2 (Ω) = −{ ||SvS ||2L2 (Ω) + r||v||2L2 (Ω) } + (r − σ 2 )(SvS , v).
2 dτ
2
(3.26)
Next, we integrate the last term by parts on the right, and apply the boundary conditions
for the put,
(SvS , v) =
Z
0
Sm
v2
Sv 2 Sm 1
S( )S dS =
| −
2
2 0
2
Z
0
Sm
1
v 2 dS = − ||v||2L2 (Ω) .
2
Now, (3.26) becomes
d
||v||2L2 (Ω) = −σ 2 ||SvS ||2L2 (Ω) − (3r − σ 2 )||v||2L2 (Ω) ≤ (σ 2 − 3r)||v||2L2 (Ω) .
dτ
(3.27)
Applying Gronwall lemma (see [27], A.15) to (3.27),
||v||2L2 (Ω) ≤ e(σ
2 −3r)T
||v0 ||2L2 (Ω) ,
where v0 = v(S, 0). Finally, we have
||vT ||L2 (Ω) ≤ e(σ
2 −3r)T /2
||v0 ||L2 (Ω) = C(T )||v0 ||L2 (Ω) ,
which means (3.24) is well posed.
30
(3.28)
3.4.2
Stability
To show that the approximation described in Section 3.3 is stable, we establish a discrete
counterpart of (3.27), i.e.,
||VT ||L2 (Ω) ≤ C(T )||V0 ||L2 (Ω) ,
(3.29)
where V (·, τ ) is the continuous, piecewise polynomial approximation to the solution.
Instead of working with the weak form (3.25) directly, we rewrite the advection term in
skew symmetric form, i.e.,
1
1
1
1
(SvS , φ) = (SvS , φ) + (SvS , φ) = (SvS , φ) + [−(v, SφS ) − (v, φ)],
2
2
2
2
(3.30)
where we have applied integration by parts and the boundary condition of the put. When
we substitute (3.30) into Eq. (3.25),
(vτ , φ) = −
(r − σ 2 )
(3r − σ 2 )
σ2
(SvS , SφS ) +
[(SvS , φ) − (v, SφS )] −
(v, φ).
2
2
2
(3.31)
Now, we split the domain, Ω, into elements, {Ωm }M
m=1 , where M is the number of elements,
and break the integrals in (3.31) into pieces according to these elements. We approximate
the subintegrals on each Ωm by Gauss-Lobatto-Legendre quadrature as we did in Section 3.3,
PNm
i=0
2
V̇i φi wi = − σ2
PNm
i=0
′
′
Si2 Vi φi wi −
2 ) PN
m
+ (r−σ
[ i=0
2
(3r−σ 2 )
2
′
Si Vi φi wi −
PNm
PNm
i=0
i=0
Vi φi wi
(3.32)
′
Si Vi φi wi ],
which can be written in a compact discrete inner product form [27],
(3r−σ 2 )
(V, φ)Nm ,Ωm
2
2
(Vτ , φ)Nm ,Ωm = − σ2 (SVS , SφS )Nm ,Ωm −
2)
[(SVS , φ)Nm ,Ωm
+ (r−σ
2
(3.33)
− (V, SφS )Nm ,Ωm ].
Following the development of the SEM, we now sum over all the elemental contributions
and replace φ with V,
PM
PM
P
d
2
2
( M
m=1 (V, V )Nm ,Ωm ) = −σ
m=1 (SVS , SVS )Nm ,Ωm − (3r − σ )
m=1 (V, V )Nm ,Ωm
dτ
P
PM
+(r − σ 2 )[ M
m=1 (SVS , V )Nm ,Ωm −
m=1 (V, SVS )Nm ,Ωm ]
= −σ 2
PM
m=1 (SVS , SVS )Nm ,Ωm
31
− (3r − σ 2 )
PM
m=1 (V, V )Nm ,Ωm .
(3.34)
Clearly, the last term in (3.34) vanishes due to the symmetry of (·, ·)Nm ,Ωm . Eq. (3.34) then
simplifies to
PM
P
PM
d
2
2
2
2
2
( M
m=1 ||V ||Nm ,Ωm
m=1 ||V ||Nm ,Ωm ) = −σ
m=1 ||SVS ||Nm ,Ωm − (3r − σ )
dτ
2
≤ −(3r − σ )
PM
m=1
||V
(3.35)
||2Nm ,Ωm ,
where || · ||Nm ,Ωm defines a discrete norm.
Note that Eq. (3.35) is in the same form as Eq. (3.27). Applying the Gronwall lemma to
(3.35), we have
M
X
m=1
||VT ||2Nm ,Ωm
≤ C(T )
M
X
m=1
||V0 ||2Nm ,Ωm .
(3.36)
Now CHQZ [27] shows that the discrete norm is equivalent to the continuous norm, i.e.,
||φ||L2 (Ω) ≤ ||φ||N ≤
√
3||φ||L2 (Ω)
∀φ ∈ PN ,
(3.37)
where PN is the space of all polynomials with order ≤ N.
The stability follows by applying (3.37) to (3.36)
M
X
m=1
||VT ||2L2 (Ωm )
≤
M
X
m=1
||VT ||2Nm ,Ωm
≤ C(T )
M
X
m=1
||V0 ||2Nm ,Ωm
≤ 3C(T )
M
X
m=1
||V0 ||2L2 (Ωm ) ,
which is
||VT ||L2 (Ω) ≤ C̃(T )||V0 ||L2 (Ω) .
Note that the SEM presented in Section 3.3 uses Eq. (3.25), instead of the skew symmetric
weak form, Eq. (3.31). Nevertheless, the numerical experiments show that the method with
Eq. (3.25) is stable. Both weak forms produce the same convergence results in numerical
experiments.
3.5
The Approximation for the Convolution Integral
Having applied the spectral element method to the Black-Scholes equation, we now come
back to the PIDE (1.7). The additional complexity is the computation of the convolution
integral, which covers the entire domain [0, ∞) for every stock price in the region of interest,
S ∈ [0, 2K].
32
To approximate the integral, we first make a change of variable and let Z = ηS be the
post-jump stock price, so that
Z
R(S) ≡
0
∞
1
V (ηS)G(η)dη =
S
Z
0
∞
Z
V (Z)G( )dZ.
S
(3.38)
We then split the integral, (3.38), at Sm (> 2K), into two parts,
Z
Z
1 Sm
1 ∞
Z
Z
R(S) =
V (Z)G( )dZ +
V (Z)G( )dZ ≡ RΩ (S) + RΘ (S),
S 0
S
S Sm
S
where RΩ (S) covers the entire computational domain, but RΘ (S) is outside the domain. To
compute RΩ (S), it is natural to use the Gauss-Lobatto-Legendre quadrature again since it is
spectrally accurate and the quadrature points and weights have already been computed. To
compute RΘ (S), we could set Sm reasonably large so that we could model and calculate
RΘ (S) analytically using the asymptotic linear variation of the solution. However, the
parameters for that model need to be estimated from the numerical solution and we lose
spectral accuracy. We have found that a more robust approach is to choose Sm to be
sufficiently large so that RΘ (S) can be simply ignored due to the negligibly small tail of the
distribution for S in the region of interest. At the same time, by making Sm sufficiently
large, we can safely set the right boundary condition to its asymptotic value, V (Sm , τ ) = bR ,
with little effect on the solution in the region of interest. We will adopt this second approach
here.
If we take Sm to be so large that RΘ can be ignored, then using only two elements
will make ΩR too large for the solution to be accurate enough without choosing N large.
However, the spectral element method has the flexibility to split [0, Sm ] into as many elements
as needed. When the jump diffusion term is added and Sm is taken to be very large,
it is convenient to use a minimum of three elements, ΩL = [0, K], ΩM = [K, 2K] and
ΩR = [2K, Sm ]. The last element ΩR = [2K, Sm ] can then be considered as a buffer element
for R(S) in the region of interest, S ∈ [0, 2K]. Since the option price is relatively linear over
the region [2K, ∞), we can stretch the third element ΩR far enough towards infinity without
needing many quadrature points. How large Sm needs to be depends on the particular
distribution, G. In our numerical experiments, Sm = 10K has been found to be sufficiently
large.
With three elements, the application of the spectral element method to the PDE part of
the jump diffusion equation is the same as described in the previous section. We emphasize
33
that the total number of elements is arbitrary, but the minimum that we consider to be
efficient when the jump diffusion integral is included is three. The stiffness summation
matrices, B̃ and C̃ for the Black-Scholes equation will now have three blocks on the diagonal.
With the three element subdivision, we redefine the stock price on each element,
SL =
dL
(ξ + 1),
2
dM
(ξ + 1) + K,
2
SM =
SR =
dR
(ξ + 1) + 2K,
2
where
dL = K,
dM = K,
dR = Sm − 2K.
Also, Ws , β~b , and β~c will all change to include the additional element.
To apply the spectral element method to the approximation of R(S), we again assume,
without loss of generality, the same number of points on each element. We then write it in
the weak form
Z
0
Sm
RφdS =
Z
0
Sm
Z
∞
V (Sη) G(η)dη φdS.
0
(3.39)
When the integral over S is broken into sub-integrals over the elements, the integrals are
mapped onto the standard element, and are then replaced by quadrature,
Z Sm
N
N
N
X
X
X
dL L L
dM M M
dR R R
~N
RφdS =
Rj φ wj +
Rj φ wj +
Rj φ wj → R
2
2
2
0
j=0
j=0
j=0
(3.40)
Like the other operators, the spectral element approximation of Eq.(3.40) can be written in
matrix-vector form,
~ N = Ws R,
~
R
(3.41)
where
~ =
R
R0L
L
∗
M
∗∗
R
R1L . . . RN
R1M . . . RN
R1R . . . RN
−1 R
−1 R
−1
T
As before, the entry in parentheses denotes an entry that appears or does not appear
depending on the boundary conditions used.
What remains is to approximate each RjL,M,R , and we use RjM as the example to show
how the approximations are made. The idea is to reduce the inner integral in (3.39) into
a sum of integrals that can be approximated by Gauss-Lobatto quadrature over the mesh
point values of the option price V . First, we make a change of variable and write the integral
Z ∞
Z Sm
Z
1
Z
M
Rj = M
V (Z) Ḡ
V (Z) G
dZ ≈
dZ,
(3.42)
Sj 0
SjM
SjM
0
34
where Ḡ( SZM ) =
j
1
G( SZM ).
SjM
j
Since there are three elements, the last integral in (3.42) is broken
into three subintegrals, one for each of the elements
Z K
Z 2K
Z Sm
Z
Z
Z
M
V (Z) Ḡ
V (Z) Ḡ
Rj =
V (Z) Ḡ
dZ +
dZ +
dZ. (3.43)
SjM
SjM
SjM
0
K
2K
Each subintegral in (3.43) is then mapped onto the standard element with the transformations
ZL =
dL
(ξ + 1),
2
ZM =
dM
(ξ + 1) + K,
2
ZR =
dR
(ξ + 1) + 2K
2
to get
RjM =
Z M dM
Z R dR
Z L dL
R1
R1
M
R
L
dξ
+
dξ
+
V
Z
V
Z
Ḡ
Ḡ S M 2 dξ.
V
Z
Ḡ
M
M
2
2
−1
−1
−1
S
S
R1
j
j
j
(3.44)
Finally, each integral in (3.44) is replaced with Gauss-Lobatto-Legendre quadrature, making
use of the mesh point values of V on each of the elements:
RjM
L
M
R
N
N
N
Zi
Zi
Zi
dM X M
dR X R
dL X L
Vi Ḡ
Vi Ḡ
Vi Ḡ
wi +
wi +
wi . (3.45)
=
M
M
2 i=0
2 i=0
2 i=0
Sj
Sj
SjM
Thus the jump diffusion integrals can be computed without high order interpolation of the
discrete solution.
The approximation of the integrals can also be written in matrix-vector form. Define
L
Z
the (N + 1) × (N + 1) dense matrix ḠM L to have the entries ḠM L ji ≡ Ḡ S Mi and make
j
similar definitions for ḠM M and ḠM R . Then
L
M
R
~ M = d ḠM L W V~ L + d ḠM M W V~ M + d ḠM R W V~ R
R
2
2
2
Similarly, the integrals on the other two elements are
M
R
L
~ L = d ḠLL W V~ L + d ḠLM W V~ M + d ḠLR W V~ R
R
2
2
2
and
L
M
R
~ R = d ḠRL W V~ L + d ḠRM W V~ M + d ḠRR W V~ R .
R
2
2
2
L
M
R
~ ,R
~ ,R
~ into (3.41), we can write the spectral
Substituting these approximations for R
element approximation to the convolution integral as
Z Sm Z ∞
Z Sm
~
~
RφdS =
V (Sη) G(η)dη φdS → Ws H V + βh ,
0
0
0
35
(3.46)
Algorithm 3: H Matrix Construction
3
3
Input: Ḡkl k,l=1 , dl l=1 , W , BCType
Output: H
H̃ = 0 ;
for k = 1 to 3 do
i = (k − 1) ∗ N + 1;
j = k ∗ N;
for l = 1 to 3 do
n = (l − 1) ∗ N ;
m = l ∗ N;
l
H̃(i : j, n : m) = H̃(i : j, n : m) + d2 Ḡkl (1 : N, 0 : N ) × W ;
end
end
H̃(0, 0) = 1;
if BCType = Eq. (3.5) then
H = H̃(1 : 3N − 1, 1 : 3N − 1);
else
H = H̃(0 : 3N − 1, 0 : 3N − 1);
end
return H;
where H is a dense matrix. Although H is dense, the convergence rate of the approximation
is high so the system is typically small. As a result, we will see in Section 3.8.3 that the
efficiency of the method is not degraded by the lack of sparsity.
For completeness, we include algorithms to compute the matrix H and boundary
condition vector β~h . Let H̃ be the augmented matrix and let k, l = 1, 2, 3 be indices that
correspond to the elements L, M, R. Then the matrix H̃ can be constructed by Algorithm
3, where the cross symbol, “×” represents matrix multiplication. Note that when S = 0 or
Z = 0, we set Ḡ( ZS ) = 0. The vector β~h for the boundary conditions can be constructed
using Algorithm 4.
Although mapping the convolution integral (3.38) makes it easy to use the mesh point
values of V to construct the quadrature approximations, it introduces difficulties as S → 0.
The reason is that as a function of Z, Ḡ( ZS ) becomes a sharply peaked function for small
S. Inaccuracy of the quadrature leads to oscillations in the computed solution in the
neighborhood of S = 0. These oscillations might be negligible for call options since the
calls are close to zero near S = 0, but they can be significant for put options where the
36
Algorithm 4: Boundary Condition Construction for H
Input: H̃, bR (τ ), V (0, τ ), BCType
Output: β~h
β~h = 0 ;
if BCType = Eq. (3.5) then
β~h = H̃(1 : 3N − 1, 0) ∗ V (0, τ );
β~h = β~h + H̃(1 : 3N − 1, 3N ) ∗ bR (τ );
else
β~h = H̃(0 : 3N − 1, 3N ) ∗ bR (τ );
end
return β~h ;
largest values occur at S = 0.
We have investigated two approaches to make the quadrature approximations more
accurate in the neighborhood of S = 0 for put options. The first way is to overintegrate,
i.e., to increase the number of the quadrature points in that region. The second is to further
subdivide the integral into smaller elements.
To overintegrate the contribution of the kernel, the polynomial form of the approximate
solution can be integrated directly, and the resulting integrals can be replaced by a higher
order quadrature. That is, the polynomial for V is written in its Lagrange form and
! L
Z 1
Z 1 X
N
N
X
Z
ZL
L
L
V (ξ)Ḡ
dξ =
dξ =
Vi ℓi (ξ) Ḡ
Qji ViL
L
L
S
S
−1
−1
j
j
i=0
i=0
where
Qji =
M
X
k=0
ℓi (ξk ) Ḡ
ZkL
SjL
wk ≈
Z
1
−1
ℓi (ξ) Ḡ
ZL
SjL
dξ
and M > N , depending on the accuracy required. For instance, M = 16N is found to be
sufficient for a maximum error of 10−6 in the solution of a put option. Since G(η) does not
change over time, the matrix Q only needs to be computed once and stored. Although the
computation of Q only adds up to the setup work, that setup work can be expensive.
There are several ways to reduce the cost of over-integration. Note that since G( ZS ) is
peaked close to the left boundary, only the left half of the integral, needs to be overintegrated.
Overintegrating only part of the interval helps to reduce the number over-integration points,
in practice, by a half, from M = 16N to M = 8N for the same accuracy, 10−6 .
37
Alternatively, a more practical approach is to take advantage of the near linear behavior
of the option price at the left boundary. With the flexibility of the spectral element method,
we can add another element at the left boundary. That is, we subdivide ΩL further into two
elements, say ΩL1 = [0, 0.1K], ΩL2 = [0.1K, K], and only choose N = 2 for ΩL1 . Then, we
over-integrate on ΩL1 for every stock price in [0, Sm ]. This second approach does not require
the generation of a new set of Gauss-Lobatto-Legendre quadrature points, and reduces the
work further by about a half for the same accuracy, 10−6 .
Now we are in the position to write out the final ODE system for the weak form of PIDE
(1.7). Adding (3.46) to (3.23) with the jump diffusion coefficients, we get
˙
V~ = (A + H)V~ + (β~A + β~H ),
(3.47)
where
A = B + C − E,
B=
σ 2 −1
W B,
2 s
C = (r − λ κ)Ws−1 C,
σ 2 −1 ~
W βb + (r − λ κ) Ws−1 β~c ,
β~A =
2 s
H = λ H,
β~H = λ β~h ,
and E is a diagonal matrix with the constant (r + λ) on the diagonal.
3.6
Eigenvalues
To choose an efficient time integration scheme for (3.47), it is necessary to examine the
maximum eigenvalues, Λmax , of the four matrices, B, C, E, and H. The parameters used
to construct these matrices will be rounded parameters estimated from the market data by
Andersen and Andreason [14], and are listed in Table 3.1.
Table 3.1: European Put Option Parameters for the Jump Diffusion Computations
K
T
r
σ
λ
m
δ
100 0.25 0.05 0.15 0.10 -0.9 0.45
Fig. 3.2 shows the growth of Λmax of each matrix. As expected [27], Λmax of B,
which comes from the approximation of the diffusion terms, grows asymptotically as O(N 4 ).
38
Also, the maximum eigenvalue of C, which comes from the first derivative terms, grows
asymptotically as O(N 2 ). On the other hand, the eigenvalues of E and H do not grow with
the number of degrees of freedom. It is clear that the eigenvalues of the diagonal matrix E
are the constant (r + λ). For H, all the entries are positive. Also, the sum of row entries are
equal to one because H is the discrete version of the probability function, Ḡ. Therefore, by
Girshgorian theorem, all the eigenvalues are bounded by the unit circle on a complex plane.
Furthermore, we see that the spectral radiuses of H and E are small when compared to the
eigenvalues of the approximation of the advection and diffusion operators. We will exploit
Log10(Maximum Eigenvalue)
this property for the time integration of Eq. (3.47).
4
B
C
E
H
3
2
1
4
2
1
1
0
-1
-2
10
50
Total Number of Spatial Points
100
Figure 3.2: The maximum eigenvalue of the four matrices, B, C, E, and H as a function of
NT otal .
3.7
Time Integration
The Crank-Nicolson time differencing scheme, popular for use with finite difference approximations to the Black-Scholes equation, is A-stable and second order accurate. However, if
we apply it directly to (3.47), we must solve a dense matrix system, which is computationally
expensive, particularly when the extension is made to multiple underlying assets.
Since the non-stiff parts of the equation are dense, and the stiff parts are block diagonal, it
is efficient to use an implicit/explicit, or IMEX scheme to integrate (3.47). Recently, Briani,
39
Natalini, and Russo [49] proposed to use Implicit-Explicit (IMEX) Runge-Kutta methods for
the time integration of a finite difference approximation to the jump diffusion equation and
treated the integral term explicitly. Our eigenvalue analysis in Section 3.6 suggests that we
should also use an IMEX scheme to integrate Eq. (3.47). That is, we add the block diagonal
matrices B and C to the diagonal matrix E, and treat the resulting block diagonal matrix
A implicitly. We treat the dense matrix, H, explicitly. In this work, we choose the second
order midpoint IMEX rule to solve Eq. (3.47). The numerical experiments show that the
midpoint rule and the Crank-Nicolson scheme produce the same convergence results.
Applying the midpoint rule to (3.47), we get the system,

1
1
n+ 1
n

A V~ n+ 2 + ∆t
H V~ n + ∆t
(β~A 2 + β~H
)
 V~ n+ 2 = V~ n + ∆t
2
2
2
,

1
n+ 1
n+ 1
 ~ n+1 ~ n
V
= V + ∆t(A + H)V~ n+ 2 + ∆t(β~A 2 + β~H 2 )
which in turn yields


 (I −
∆t
2
1
A)V~ n+ 2 = (I +
∆t
2
H)V~ n +
1
∆t ~ n+ 2
(
β
A
2
n
+ β~H
)
,
(3.48)

1
n+ 1
n+ 1
 ~ n+1 ~ n
V
= V + ∆t(A + H)V~ n+ 2 + ∆t(β~A 2 + β~H 2 )
where I is an identity matrix.
Since the second stage of (3.48) is fully explicit, we only need to solve a block diagonal
system for T = I −
∆t
2
A, in the first stage. Since the convergence rate of the spatial
approximation is spectral, and therefore the size of each block is small (≤ 30 × 30), we apply
a direct, block diagonal LU solver. The implementation of the block diagonal solver requires
the LU solver on each block to not pivot the row at the interface of two elements. This
means the system needs to be solved sequentially from top to bottom and from bottom to
top. The numerical experiments show that this approach is stable and produces the same
convergence results as a full matrix solver. Formally, the solver is constructed as follows.
n+ 1
Let ~b = (I + ∆t H)V~ n + ∆t (β~ 2 + β~ n ), then
2
2
H
A
(L−1
3
−1
P3 L−1
2 P2 L1 P1 )T = U,
−1
−1
~
⇒ ~y = (L−1
3 P3 L 2 P2 L 1 P1 ) b ,
1
⇒ V~ n+ 2 = U −1 ~y ,
where Li is the lower triangular matrix corresponding to the ith block, Pi is the permutation
matrix corresponding to the ith block, and U is the upper triangular matrix.
40
3.8
Examples and Results
In this section, we first demonstrate that the spectral element method described in Section
3.3 not only gives the exponential convergence of the numerical solution, it also achieves
spectral accuracy in its first and second derivatives. Then, we address the efficiency of the
method measured by speed and storage.
We use European put options as our numerical examples. For the Black-Scholes equation,
we use two elements with N nodes on [0, K] and N nodes on [K, 2K], which is denoted as
NT otal = N ×2. For jump diffusion put options, we use three elements with N nodes on [0, K],
N nodes on [K, 2K] and ⌊N/2⌋ nodes on [2K, 10K], which is denoted as NT otal = N × 2.5.
The coefficients used in the examples are listed in Table 3.1.
3.8.1
Black-Scholes Put Options
Fig. 3.3 compares the computed solution with its exact counterpart on European BlackScholes put options with the Dirichlet boundary condition (3.5). Clearly, the numerical
solution is graphically accurate with only NT otal = 16 × 2 total spatial points and Nτ = 40
time steps.
Although the solution appears accurate, its derivatives may be subject to large errors.
Therefore, it is also important to look at the first derivative, ∆, and the second derivative,
Γ, which are computed as
 L,R
=
 ∆

ΓL,R =
2
D V L,R
dL,R
,
2
D ∆L,R
dL,R
for the two-element spectral element method. Note that the derivatives are only piecewise
continuous, but the discrepancy at the interface is spectrally small. So their values at S = K
can be computed from either element. The derivatives can also be computed in the weak
form, but the convergence properties will remain the same. Fig. 3.4 shows that ∆ and Γ are
also graphically accurate with only a few more spatial points and the same number of time
steps, NT otal = 20 × 2 and Nτ = 40.
We next examine the convergence behavior for solutions of the Black-Scholes equation.
Fig. 3.5 demonstrates the spectral accuracy of the solution for European Black-Scholes
put options within the region of interest S ∈ [0, 2K]. We can see that the maximum error
decreases exponentially as NT otal increases, until the time integration errors dominate. When
41
100
Exact
Computed
Put option
80
60
40
20
0
0
50
100
Stock Price
150
200
Figure 3.3: The spectral element and exact solutions for the European Black-Scholes put
option with boundary condition (3.5). NT otal = 16 × 2; Nτ = 40.
0.06
0
Exact
Computed
-0.2
Exact
Computed
0.05
Gamma
Delta
0.04
-0.4
-0.6
-0.8
0.03
0.02
0.01
-1
0
0
50
100
Stock Price
150
200
0
50
100
Stock Price
150
200
Figure 3.4: The ∆ and Γ computed from the spectral element method solution and the
exact ∆ and Γ of European Black-Scholes put option with boundary condition (3.5).
NT otal = 20 × 2; Nτ = 40.
the time integration errors dominate, we see that as Nτ doubles, the error decreases by a
factor of four, which is consistent with the second order midpoint rule.
It is interesting to compare the convergence rates of the spectral element method and
a standard second order finite difference method, which is shown in Fig. 3.6. The log-log
plot on the left shows that the finite difference method with the Crank-Nicolson integration
in time is second order accurate. The same data plotted on the right with semi-log axes
reveals the exponential convergence of the spectral element method. From the comparison,
42
Log10(Maximum Error)
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
-1
-2
-3
-4
0.5949e-4
0.1454e-4
0.3636e-5
0.9099e-6
-5
-6
0
10
20 30 40 50 60 70
Total Number of Spatial Points
80
Log10(Maximum Error)
Figure 3.5: Exponential convergence of the maximum error for the spectral element solution
of European Black-Scholes put option with boundary condition (3.5).
0
0
SE
FD
-1
-1
-2
-2
-3
-4
2
SE
FD
-3
1
10
100
Total Number of Spatial Points
-4
1000
10
20 30 40 50 60 70
Total Number of Spatial Points
80
Figure 3.6: Convergence comparison between the spectral element and the finite difference
methods. Nτ = 40 for the spectral element method; Nτ = NT otal /2 for the finite difference
method.
we see that the number of spatial points is significantly less for the spectral element method
to get the same level of accuracy. For instance, on the left plot, an error of 0.2554 × 10−3
requires NT otal = 1024 for the finite difference method, but requires only NT otal = 16 × 2 for
the spectral element method, which is about a factor of 30.
In financial applications, the behaviors of the ∆ and Γ are important. A challenging task
for all numerical schemes is to compute these quantities accurately. Fig. 3.7 demonstrates
the spectral accuracy in ∆ and Γ. Note that as more derivatives are taken, the convergence
rates become slower, as expected [27], but the overall trend is still exponential.
43
Log10(Maximum Error)
0
0
Delta
-1
-2
-2
-3
-3
-4
-4
-5
-5
-6
-6
-7
-7
0
20
40
60
80
Total Number of Spatial Points
Gamma
-1
100
0
20
40
60
80
Total Number of Spatial Points
100
Figure 3.7: Convergence of the maximum error of ∆ and Γ computed from the spectral
element solution of European Black-Scholes put option with boundary condition (3.5).
Nτ = 320.
3.8.2
Jump Diffusion Put Options
Next, we show that spectral accuracy is obtained for European jump diffusion put options.
Here, we consider the two different boundary conditions, (3.5) and (3.6). For the purposes
of demonstration, we use the first over-integration approach described in Section 3.5 with
M = 16N to evaluate the convolution integral.
Figs. 3.8 - 3.11 show the solutions and convergence behavior for boundary condition
(3.5). Fig. 3.8 shows the graphical accuracy of the numerical solution of European jump
diffusion put options with NT otal = 16 × 2.5. Fig. 3.9 shows the graphical accuracy of
their ∆ and Γ with NT otal = 20 × 2.5. Fig. 3.10 demonstrates that the convergence of the
solution of European jump diffusion put option is exponential, and that the IMEX temporal
approximation is second order. Similarly, Fig. 3.11 shows that ∆ and Γ also converge
exponentially fast for the Jump diffusion model, though not monotonically. We also see
growth in the error in Γ as the number of spatial points is increased beyond 100 for the
fixed number of time steps. This behavior appears to be due to the boundary layer created
at the left by the Dirichlet condition, amplified by the numerical integration errors in the
convolution integral approximation. However, in practical terms, we are not particularly
interested in the option values and their derivatives near the left boundary, S = 0.
Nevertheless, from the computational point of view, it is interesting to see how the error
growth behavior seen in Fig. 3.11 can be mitigated or eliminated. Figs. 3.12 and 3.13 show
44
100
Exact
Computed
Put option
80
60
40
20
0
0
50
100
Stock Price
150
200
Figure 3.8: The spectral element solution and the exact solution of European jump diffusion
put option with boundary condition (3.5). NT otal = 16 × 2.5; Nτ = 40;
0.06
0
Exact
Computed
-0.2
Exact
Computed
0.05
Gamma
Delta
0.04
-0.4
-0.6
-0.8
0.03
0.02
0.01
-1
0
0
50
100
Stock Price
150
200
0
50
100
Stock Price
150
200
Figure 3.9: The ∆ and Γ computed from the spectral element solution and the exact ∆
and Γ of European jump diffusion put option with boundary condition (3.5). NT otal =
20 × 2.5; Nτ = 40.
the convergence of the solution and Greeks for the Neumann boundary condition (3.6). In
Fig. 3.13, we see that the growth in the error in Γ beyond NT otal = 100 is removed. However,
Fig. 3.12 shows that the convergence of the solution is not as smooth as with the Dirichlet
condition, which is due to the error at the left boundary. Again, in practice, we are not
interested in the option value at S = 0.
45
Log10(Maximum Error)
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
-1
-2
-3
-4
0.6263e-4
0.1649e-4
0.4159e-5
0.9845e-6
-5
-6
0
20
40
60
80
100
Total Number of Spatial Points
120
Figure 3.10: Convergence of the maximum error for the spectral element solution of European
jump diffusion put option with boundary condition (3.5).
Log10(Maximum Error)
0
0
Delta
-1
-2
-2
-3
-3
-4
-4
-5
-5
-6
-6
-7
-7
0
20
40
60
80 100 120
Total Number of Spatial Points
Gamma
-1
140
0
20
40
60
80 100 120
Total Number of Spatial Points
140
Figure 3.11: Convergence of the maximum error of ∆ and Γ computed from the spectral
element solution of European jump diffusion put option with boundary condition (3.5),
Nτ = 320.
3.8.3
Efficiency
Although the spectral element method is exponentially convergent for the solution and the
Greeks, and far fewer mesh points are needed for a given accuracy, the matrix associated
with the jump diffusion is dense, and the time integration requires the solution of a block
dense matrix system. For these reasons it is important to consider the overall efficiency of
the method. In the following examples, boundary condition (3.5) was used for the timing
tests. The program used was coded in C++ and was run on a PC with Pentium(R)4 CPU
46
Log10(Maximum Error)
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
-1
-2
-3
-4
0.6263e-4
0.1649e-4
0.4075e-5
0.9845e-6
-5
-6
0
20
40
60
80
100
Total Number of Spatial Points
120
Figure 3.12: Convergence of the maximum error for the spectral element solution of European
jump diffusion put option with boundary condition (3.6).
Log10(Maximum Error)
0
0
Delta
-1
-2
-2
-3
-3
-4
-4
-5
-5
-6
-6
-7
-7
0
20
40
60
80 100 120
Total Number of Spatial Points
Gamma
-1
140
0
20
40
60
80 100 120
Total Number of Spatial Points
140
Figure 3.13: Convergence of the maximum error of ∆ and Γ computed from the spectral
element solution of European jump diffusion put option with boundary condition (3.6),
Nτ = 320.
2.66GHz and 384MB RAM.
We first consider the computation of the Black-Scholes equation without the jump terms.
Table 3.2 lists the computational time recorded for Black-Scholes put options for four levels
of accuracy. For this problem, we see that a maximum absolute error of 10−6 can be obtained
with a total of only 52 spatial points and 320 time steps in less than a hundredth of a second.
Table 3.3 shows the corresponding computational time required by the second order finite
difference method run on the same machine. It is clear that the spectral element method is
significantly faster than the finite difference method, i.e., ten times faster for the accuracy
47
Table 3.2: SEM Computational Time of European Black-Scholes put options
Accuracy level
10−3
10−4
10−5
10−6
Maximum Error
0.0006058
0.0000724
0.0000093
0.0000010
Nodes Time Steps
14 × 2
40
18 × 2
40
22 × 2
160
26 × 2
320
Computational Time (sec)
0.0009
0.0012
0.0039
0.0092
Table 3.3: FDM Computational Time of European Black-Scholes put options
Accuracy level
10−3
10−4
10−5
10−6
Maximum Error Nodes Time Steps
0.9 · 10−3
301
40
−4
2.0 · 10
601
40
−5
1.3 · 10
2401
160
3.2 · 10−6
4801
320
Computational Time (sec)
0.0095
0.019
0.30
1.23
Table 3.4: SEM Computational Time of European Jump Diffusion Put Options
Accuracy level
10−3
10−4
10−5
10−6
Maximum Error
0.0009528
0.0000980
0.0000077
0.0000010
Nodes Time Steps
14 × 2.5
40
18 × 2.5
40
23 × 2.5
160
29 × 2.5
320
Computational Time (sec)
0.0086
0.0138
0.0262
0.0470
level of 10−3 , and fifteen times faster for the accuracy level of 10−4 . We can also see that the
more accuracy desired, the faster the spectral element method is than the finite difference
method. Meanwhile, we see that the spectral element method also significantly reduces the
memory by a factor of 10 − 90 for the four levels of accuracy.
For jump diffusion put options, we present timings of the spectral element method in
Table 3.4. To be consistent, we still use the first over-integration approach introduced in
Section 3.5 with M = 16N. This time, an absolute maximum error of 10−6 requires a total of
72 spatial points and takes less than 0.05 sec to run. It is interesting to note from Table 3.3
that even with the convolution integral, the spectral element method is still faster than the
finite difference method.
Moveover, the timings in Table 3.4 are pessimistic. As mentioned in Section 3.5, over-
48
Table 3.5: Separated Computational Time of European Jump Diffusion Put Options
Accuracy level
10−3
10−4
10−5
10−6
Computational Time (sec/run)
H
Total - H
H / Total
0.0072
0.0014
83.7%
0.0121
0.0017
87.7%
0.0198
0.0064
75.6%
0.0314
0.0155
67.0%
integration of the jump diffusion integrals adds only to the setup work, so H can be computed
once for a desired accuracy and stored for later use. As a result, we can separate the
computation of H from the total cost. Table 3.5 shows the computational time required to
compute H at four levels of accuracy.
From Table 3.5, we see that the computation of H at setup by the over-integration
method with M = 16N takes a significant portion of the total work. For instance, at the
accuracy level of 10−3 , the time to compute H is about 80% of the total time, which says
the actual computational time to solve the jump diffusion equation can be quite small. The
third column of Table 3.5 shows the timings excluding the computation of H. These timings
are very close to the computational times required for the Black-Scholes put options in Table
3.2. For example, at the accuracy level of 10−3 , the jump diffusion computation takes 0.0014
sec versus 0.0009 sec for the Black-Scholes equation, the difference caused by the third, buffer
element that was added for the jump diffusion options. Comparing to the time in Table 3.3,
we see that the spectral element method will be at least six times faster than the finite
difference method for options under the jump diffusion model. In fact, we expect that the
spectral element method will be much more than six times faster because the computation
of the convolution integral by F F T has to be done at each time step for the finite difference
method.
So far, we have established the spectral element method for European put option with
one asset under the Black-Scholes model and the Merton’s jump diffusion model. All the
results have shown that the method is spectrally accurate and is efficient in both memory
and speed, which suggests that the method can be extended to price options with multiple
assets. In the next chapter, we present the spectral element method to solve for European
options with two assets.
49
CHAPTER 4
EUROPEAN OPTION PRICING WITH TWO
ASSETS UNDER THE BLACK-SCHOLES MODEL
Explicit analytic formulae are available for many, but not all, European style options. As
we have already mentioned in Chapter 1, the European basket put option with the payoff,
P
max(K − ni=1 αi Si , 0), does not have an explicit and exact solution.
In this chapter, we develop a two-dimensional spectral element method to solve for
European options with two assets under the Black-Scholes model. We start the method
by subdividing the truncated domain into quadrilateral elements at the slope discontinuities
in the initial condition. Then, on each element, we use tensor products of the one-dimensional
polynomials as the two-dimensional basis functions. Unlike the one-dimensional problems,
forming the explicit global matrix to solve the system is too expensive, and is no longer
practically feasible. As a result, we compute explicitly the matrix actions. To apply the
implicit time integration schemes, namely, the backward Euler and Crank-Nicolson schemes,
we use iterative methods to solve the system at each time step. Here, we consider three
iterative methods, namely, conjugate gradient, generalized minimal residual (GMRES) and
bi-conjugate gradient stabilized (Bi-CGSTAB). We will compare their performance along
with two diagonal preconditioners. Also, we propose a robust method to perform the stiffness
summation at each iteration.
To test the spectral element method, we choose a European rainbow put option with the
payoff,
v(S1 , S2 , τ = 0) = max(K − max(S1 , S2 ), 0),
(4.1)
as the numerical example, which has an exact formula and has the geometrically challenging
payoff function, (4.1). The formula of the rainbow put option is listed in [50]1 , which requires
1
√
There is a typo occurring twice in the original formula, (11) of [50], where “ 12 σ 2 τ ” should be “ 12 σ 2 τ ”.
50
a bivariate normal cumulative density function to be evaluated. To compute it accurately and
efficiently, we transform the double integral into a single integral containing the univariate
normal cumulative density function, and then use a Gauss quadrature rule to evaluate the
integral.
We show the spectral accuracy is achieved with the European rainbow put option and
its Greeks in the domain of interest. We then extend the method to price the Basket put
option, whose payoff function has a much simpler topology.
4.1
The IBVP
To derive the two-dimensional Black-Scholes equation, we consider two stocks, S1 and S2 ,
whose dynamics follow the two geometric Brownian motions,
dS1 /S1 = µ1 dt + σ1 dz1
dS2 /S2 = µ2 dt + σ2 dz2
where µ1,2 are the instantaneous expected returns, σ1,2 are the instantaneous volatilities of
the returns, dz1,2 are the two correlated standard Brownian motions with the correlation
coefficient, ρ < 1.
If we apply Itô’s formula to v(S1 , S2 , τ ) and form a risk-free portfolio, we arrive at the
following two dimensional Black-Scholes equation,
1
1
vτ = σ12 s21 vS1 S1 + ρσ1 σ2 S1 S2 vS1 S2 + σ22 s22 vS2 S2 + rS1 vS1 + rS2 vS2 − rv,
2
2
which can be written in the following compact divergence form,
vτ = ∇ · G · ∇v + H · ∇v − rv.
In (4.2), ∇ is the gradient operator, [∂S1
∂S2 ]T , “·” means vector inner product or matrix
vector multiplication,
G=
and

1
2

H=
σ12 s21
ρσ1 σ2 S1 S2
ρσ1 σ2 S1 S2
σ22 s22
(r − σ12 − 21 ρσ1 σ2 )S1
(r −
(4.2)
σ22
−
51
1
ρσ2 σ2 )S2
2

,

.
Now we restrict (4.2) to the truncated domain, Ω = (0, S1m ) × (0, S2m ), and write it in the
weak form as we did in Section 3.3,
Z
Z
Z
Z
∇ · G · ∇vφdΩ + H · ∇vφdΩ − rvφdΩ,
vτ φdΩ =
Ω
Ω
Ω
Ω
for all test functions, φ ∈ H01 (Ω), where dΩ means dS1 dS2 . We then integrate by parts on
the diffusion term to lower the regularity requirement on v,
Z
Z
Z
Z
Z
(G · ∇v) · ~nφd(∂Ω) − (G · ∇v) · ∇φdΩ + H · ∇vφdΩ − rvφdΩ, (4.3)
vτ φdΩ =
Ω
Ω
Ω
Ω
∂Ω
where ~n is the outward normal vector along the boundary, ∂Ω, and d(∂Ω) is the differential
on the boundary.
To solve (4.3), we need to impose the appropriate boundary conditions. Along the
boundaries, S1 = S1m and S2 = S2m , we can easily impose the asymptotic Dirichlet boundary
conditions for the European rainbow put option, i.e.,

 v(S1m , S2 , τ ) = 0

.
(4.4)
v(S1 , S2m , τ ) = 0
At the singular boundaries, S1 = 0 and S2 = 0, we have two choices. First, we note that
(4.2) degenerates to two one-dimensional Black-Scholes equations,
vτ = 12 σ12 S12 vS1 S1 + rS1 vS1 − rv
at S2 = 0,
vτ = 12 σ22 S22 vS2 S2 + rS2 vS2 − rv
at S1 = 0.
(4.5)
Therefore, we can impose the Dirichlet boundary conditions at S2 = 0 and S1 = 0 by solving
two equations in (4.5) as we described in Section 3.3. If we impose all the four Dirichlet
R
boundary conditions on ∂Ω, the boundary term, ∂Ω G · ∇v · ~nφdΩ, vanishes in (4.3) since
φ ∈ H01 (Ω) is homogeneous. That is, with the Dirichlet boundary conditions, (4.4) and (4.5),
we solve for the interior solution that satisfies
Z
Z
Z
Z
vτ φdΩ = − (G · ∇v) · ∇φdΩ + H · ∇vφdΩ − rvφdΩ,
Ω
Ω
Ω
(4.6)
Ω
Alternatively, instead of imposing both the boundary conditions, (4.4) and (4.5), we can
impose (4.4) only and incorporate the boundary values at S2 = 0 and S1 = 0 into the whole
52
system. To do so, we write out the boundary term in (4.3),
R
R
(G · ∇v) · ~nφ = 12 [− S1 =0 (σ12 S12 vS1 + ρσ1 σ2 S1 S2 vS2 )φdS2
∂Ω
−
+
+
R
R
R
S2 =0
(ρσ1 σ2 S1 S2 vS1 + σ22 S22 vS2 )φdS1
S1 =S1m
(σ12 S12 vS1 + ρσ1 σ2 S1 S2 vS2 )φdS2
S2 =S2m
(ρσ1 σ2 S1 S2 vS1 + σ22 S22 vS2 )φdS1 ].
Clearly, the first two integrals at S1 = 0 and S2 = 0 vanish due to the singularities, which
means no boundary conditions are necessary at S1 = 0 and S2 = 0. Also again, the last
two integrals vanish due to the homogeneity of φ. Therefore, with the Dirichlet boundary
conditions (4.4) alone, we still solve (4.6), but for both interior points and boundary points
on S1 = 0 and S2 = 0.
As we have already seen in Section 4.6, the Dirichlet boundary condition (4.5) may
produce a boundary layer that will effect the accuracy of the Greeks. Therefore, we will
use the second approach, i.e., Eq. (4.6) with the boundary condition (4.4), to solve for the
option price.
4.2
The Mapping and the Transformation
To implement Eq. (4.6), we first subdivide the domain Ω into M quadrilaterals {Ωm }M
m=1
according to the locations of the slope discontinuities, and then map each quadrilateral Ωm
~ = (S1 , S2 ) = X(ξ,
~ η).
onto a master unit square, Ω0 = [0, 1] × [0, 1], by a transformation S
By using quadrilateral elements, we can take advantage of the most natural way to build
a two-dimensional expansion, namely, tensor products of one-dimensional expansions. We
are therefore able to exploit all the one-dimensional features. This subdivision gives an
unstructured mesh, in which edges shared by adjacent elements are conforming. Figure 4.1
shows that the domain Ω is divided into 10 quadrilateral elements for the payoff function,
(4.1). The diagonal line segment, 0...b, and the two straight interior line segments, K...b and
b...K, are the locations of the slope discontinuities. The other line segments are added to
divide the subregions into quadrilaterals and make the mesh conforming. Figure 4.2 provides
a three-dimensional view of the payoff function, (4.1), and the corresponding subdivision with
K = 100 and S1m = S2m = 200.
53
S2
S2m ✻
bs
K
g s
sa
❅s c
❅s
d
s
0
K
e
✲ S1
S1m
2
1
v(S
,S
,0)
Figure 4.1: Domain subdivision for the rainbow put option payoff, v(S1 , S2 , 0) = max(K −
max(S1 , S2 )).
100
0
50
0
0
100
50
S
2
100
S1
150
200
200
Figure 4.2: The rainbow put option payoff, v(S1 , S2 , 0) = max(100 − max(S1 , S2 )), and the
domain subdivision in three-dimension.
54
Through a bi-linear interpolation, the one-to-one and onto mapping between any quadrilateral Ωm and Ω0 is
~ = X(ξ,
~ η) = X
~ 1 (1 − ξ)(1 − η) + X
~ 2 ξ(1 − η) + X
~ 3 ξη + X
~ 4 (1 − ξ)η,
S
(4.7)
~ i }4 are the four vertices of any quadrilateral, e.g. (0, e, d, c), in Fig. 4.1. Under
where {X
i=1
the mapping, the gradient of v on the original variables becomes




vξ
v S1
˜
 = J −1 · ∇v,
 = J −1 
∇v = 
vη
v S2
where

J −1 = 
and
∂S1
∂ξ
∂S1
∂η
∂S2
∂ξ
∂S2
∂η
−1

=

1 
|J |
∂S2
∂η
∂S2
∂ξ
−
∂S1
∂ξ
1
− ∂S
∂η
(4.8)

,
(4.9)
∂S1 ∂S2 ∂S1 ∂S2
·
−
·
).
∂ξ ∂η
∂η ∂ξ
Accordingly, the equation, (4.6), on any quadrilateral, Ωm , is transformed onto Ω0 ,
R
R
˜ · (J −1 · ∇φ)||J
˜
||dξdη
v φ||J ||dξdη = − Ω0 (G · J −1 · ∇v)
Ω0 τ
|J | ≡ (
+
R
Ω0
H · (J
4.3
−1
˜
· ∇v)φ||J
||dξdη −
R
Ω0
(4.10)
(4.11)
rvφ||J ||dξdη.
The Approximation
Now, we are ready to discretize Eq. (4.11) on the master square, Ω0 , for each element Ωm .
As usual, we generate a set of one-dimensional GLL points for each dimension, i.e., Nη + 1
points in η direction and Nξ + 1 points in ξ direction, where Nη and Nξ are polynomial
orders in η and ξ directions, respectively. Figure 4.3 shows the master element, Ω0 , with
Nη = Nξ = 4 on each direction, and (Nη + 1) × (Nξ + 1) = 25 nodes in total.
Next, we approximate the functions in Eq. (4.11) by the two-dimensional tensor product
polynomials in Lagrange form,
PNη PNξ
Nξ
Nη
vτ ≈ h=0
k=0 V̇hk ℓh (η)ℓk (ξ),
vη ≈
vξ ≈
||J || =
PNη PNξ
h=0
k=0
PNη PNξ
h=0
N
′ Nξ
Nη
k=0 Vhk ℓh (η)ℓ k (ξ),
PNη PNξ
h=0
′ Nη
Vhk ℓ h (η)ℓk ξ (ξ),
k=0
N
φ≈
φη ≈
φξ ≈
N
||J ||hk ℓh η (η)ℓk ξ (ξ).
55
PNη PNξ
h=0
k=0
PNη PNξ
h=0
k=0
N
′ Nη
N
φhk ℓ h (η)ℓk ξ (ξ),
′ Nξ
Nη
k=0 φhk ℓh (η)ℓ k (ξ),
PNη PNξ
h=0
N
φhk ℓh η (η)ℓk ξ (ξ),
(4.12)
0
i
1
2
3
4
✻
✈
✈
✈
✈
✈
3
✈
✈
✈
✈
✈
2
✈
✈
✈
✈
✈
1
✈
✈
✈
✈
✈
0
✈
✈
✈
✈
✈✲ ξ
η
4
✻
j
1
✲
0
1
Figure 4.3: The location and index orientation of the nodes on the master square, Ω0 .
Note that vτ and φ are polynomials of order Nη × Nξ , vη and φη are of order (Nη − 1) × Nξ ,
vξ and φξ are of order Nη × (Nξ − 1), and ||J || is of order 1 × 1.
We now proceed to approximate each integral in (4.11). For the integral of the time
derivative term on the left side, we make the substitutions with the approximation for vτ , φ
and ||J || in (4.12) and replace the integral by GLL quadrature,
R
Ω0
vτ φ||J ||dξdη =
PNη PNξ PNη PNξ
Nξ
Nη
j=0 (
i=0
h=0
k=0 V̇hk ℓh (ηi )ℓk (ξj ))
PNη PNξ
Nξ
Nη
( h=0
k=0 φhk ℓh (ηi )ℓk (ξj ))
=
=
PNη PNξ
Nξ
Nη
( h=0
k=0 ||J ||hk ℓh (ηi )ℓk (ξj ))ωi ωj
PNη PNξ
i=0
j=0
V̇ij φij ||J ||ij ωi ωj
PNη PNξ
i=0
(4.13)
˜
j=0 [V̇ij Jij ]φij
where J˜ij = ||J ||ij ωi ωj . Here, we have used the properties of the Kronecker delta functions,
N
N
ℓh η (ηi ) = δih and ℓk ξ (ξj ) = δkj .
56
Similarly, the last integral in (4.11) becomes
Z
Ω0
rvφ||J ||dξdη =
Nη Nξ
X
X
i=0 j=0
rVij φij ||J ||ij ωi ωj =
N η Nξ
X
X
i=0 j=0
[rVij J˜ij ]φij .
(4.14)
The approximation to the integral of the advection term in (4.11) is also straightforward.
Let H̃ ≡ J −T · H, then
R
R
−1 ˜
˜
H̃ · ∇vφ||J
||dξdη
H
·
(J
·
∇v)φ||J
||dξdη
=
0
Ω0
Ω
=
R
Ω0
1
2
(H̃ vξ + H̃ vη )φ||J ||dξdη =
PNη PNξ
i=0
(4.15)
˜
j=0 [(H̃ Vξ + H̃ Vη )ij Jij ]φij .
1
2
where H̃1 and H̃2 are the first and the second component of H̃.
If we can discretize the integral of the diffusion term and write it in the form of
PNη PNξ
˜
j=0 [(. . .)Jij ]φij , then we can get a system of equations by matching all the terms
i=0
in the brackets for each φij , as we did in Section 3.3. However, since φ appears in the
integral with a gradient operator instead of itself, the discretization becomes complex. Let
us expand the diffusion term in (4.11) and define G̃ ≡ J −T G−T J ,
R
R
˜ · (G̃ · ∇φ)||J
˜
˜ · (J −1 · ∇φ)||J
˜
(G · J −1 · ∇v)
||dξdη = Ω0 ∇v
||dξdη
Ω0
PNη PNξ
PNη PNξ ˜
˜
˜
= i=0
j=0 [Vξ
j=0 ∇Vij · (G̃ · ∇φ)ij Jij =
i=0
=
PNη PNξ
i=0
j=0 [(Vξ G̃
11
Vη ]ij · G̃ij ·
φξ
φη
ij
J˜ij
(4.16)
+ Vη G̃21 )ij φξ |ij + (Vξ G̃12 + Vη G̃22 )ij φη |ij ]J˜ij ,
where G̃bd is the bth row, dth column entry in G̃. With φξ and φη expanded according to
(4.12), the diffusion term, (4.16), becomes
PNη PNξ
i=0
=
j=0 [(Vξ G̃
11
PNη PNξ
′ Nξ
Nη
+ Vη G̃21 )ij ( h=0
k=0 φhk ℓh (ηi )ℓ k (ξj ))
PNη PNξ
′ Nη
Nξ
˜
+(Vξ G̃12 + Vη G̃22 )ij ( h=0
k=0 φhk ℓ h (ηi )ℓk (ξj ))]Jij
i=0
(4.17)
PNξ
′ Nξ
j=0 [(Vξ G̃ + Vη G̃ )ij (
k=0 φik ℓ k (ξj ))
PNη PNξ
11
21
PNη
′ Nη
φhj ℓ h (ηi ))]J˜ij
+(Vξ G̃12 + Vη G̃22 )ij ( h=0
N
N
Again, the simplification is due to the Kronecker delta functions, ℓh η (ηi ) and ℓk ξ (ξj ).
′
Assuming Nη = Nξ = N and defining the derivative matrix, Dij = ℓj (xi ), we can
factor out φij in (4.17) by swapping summations and changing indices. We first move out
57
the summation for indices, k and h, and change the summation order of j and k, and the
summation order of i and h, then (4.17) becomes
PN PN PN
11
21
i=0
j=0 [
k=0 (Vξ G̃ + Vη G̃ )ij Djk φik
+
=
+
PN PN
i=0
PN
h=0 (Vξ G̃
k=0 [
12
+ Vη G̃22 )ij Dih φhj ]J˜ij
(4.18)
11
21
˜
j=0 (Vξ G̃ + Vη G̃ )ij Djk Jij ]φik
PN
PN PN PN
12
22
˜
h=0
j=0 [
i=0 (Vξ G̃ + Vη G̃ )ij Dih Jij ]φhj .
Swapping the indices j ⇋ k and i ⇋ h, we can finally factor out φij ,
PN PN PN
11
21
˜
j=0 [
k=0 (Vξ G̃ + Vη G̃ )ik Dkj Jik ]φij
i=0
+
=
(4.19)
PN
11
21 ˜
j=0 {
k=0 [(Vξ G̃ + Vη G̃ )J ]ik Dkj
PN PN
i=0
PN PN PN
12
22
˜
h=0 (Vξ G̃ + Vη G̃ )hj Dhi Jhj ]φij
j=0 [
i=0
+
PN
h=0 [(Vξ G̃
12
+ Vη G̃22 )J˜]hj Dhi }φij .
Note that we actually choose Nη = Nξ = N for our method to avoid the interpolation along
edges shared by any two neighboring quadrilateral elements. Also, it allows us to generate
only one set of N GLL points and one N × N derivative matrix, D, for both dimensions.
Up to this point, we have completed the discretization on all the four integrals in (4.11)
and by matching all the factors of φij , we arrive at a system of ODEs for each element.
4.4
Connectivity and Stiffness Summation
We now have a system of ordinary differential equations for each quadrilateral element.
However, as we have seen in (4.19), Vξ and Vη are mixed together by the variable coefficient
G̃, so it is infeasible in general to get an explicit global system matrix. What we can do
is to perform the matrix action explicitly. Consequently, the stiffness summation needs
a completely new treatment. Also, there is another issue that arises in two dimensional
problems, namely, connectivity, that provides the necessary information to perform the
stiffness summation.
These two issues generate the greater complexity of the two dimensional implementation.
We will discuss them in the following sections, starting with the connectivity.
58
4.4.1
Connectivity
For the one-dimensional problems discussed in Section 3.3, elements are connected to each
other at their interface points. In two-dimensional problems, elements are connected by
edges and corners. Here, we define an edge to be a common side shared by two neighboring
quadrilateral elements. The valence of an edge is exactly two in two-dimensional domain. A
corner is a common vertex shared by more than two neighboring elements. The valence of a
corner can be three, four or more depending on the subdivision of the domain. For example,
in Fig. 4.1, corner a has valence of three, and corner b has valence of four.
To build the connectivity, we need a special algorithm. Prestemon [51], in his dissertation,
developed a method to use a three-dimensional array to track the valence of all the shared
GLL nodes on the four sides of each quadrilateral element. It is rather complicated to
implement. Our goal is to create an approach that is simple, natural and efficient.
We develop a special algorithm that takes an input of all vertices of the quadrilateral
elements with their coordinates. For example, a can be numbered 4 and has the coordinate,
). The algorithm also takes as input all the quadrilateral elements, each of which is
( K5 , 2K
5
represented by its four numbered vertices, e.g. “1, 4, 2, 8” in a counterclockwise order. This
set of information is the standard output of any mesh generator.
Since the connectivity is created solely for the stiffness summation, we only need to find
all the edges and all the corners given the input information of all the vertices and the
elements. Instead of working with individual GLL nodes, we define three types of objects,
i.e., element, edge and corner, and ask the program to generate an array of elements, an
array of edges, and an array of corners. Each element object stores all the variables, in the
matrix format shown in Fig. 4.3, Section 4.3. Each edge object tells that itself is formed
by which two sides, and the two sides from which two elements, and also the orientation of
the two sides relative to the edge. Similarly, each corner tells that itself is shared by which
edges, and matches which end points on the edges. In addition, the program also detects
and generates an array of boundary sides in each element, which will be used later to apply
the boundary conditions.
59
BL
0
V0L
..
.
BR
V∗
..
.
B̃ · V =
0
VNR
B
L
0
V0L
..
.
VNL
=
0
0
0
0
0
0
BR
V0R
..
.
+
0
0
VNR
0
Figure 4.4: The one-dimensional analogy of the two-dimensional stiffness summation.
4.4.2
The Stiffness Summation
Unlike the one-dimensional stiffness summation that is accomplished by adding sub-matrices
at the interface according to the physical order of the elements, for the two-dimensional
problem such as Eq. (4.11), the system needs to be stiff-summed according to the basic
principle of matching coefficients of each φij through all the elements. This translates to
adding the values from two neighboring elements along the edges and adding the values
from all neighboring elements at the corners after matrix actions, which can be shown by
the following one-dimensional analogy, Fig. 4.4. We can see that the stiffness summation
can be accomplished by first performing the matrix action on each individual element and
then adding the resulting values at the interface.
With the connectivity, we are now in a position to perform the stiffness summation on
the variables such as iteration vectors, J˜, etc. First, we loop the edge array. For each edge,
we add the values from the two sides sharing the edge, and store the sum on the edge. Next,
we sum the values at the corners. The key aspect of our algorithm is not to add the values
60
directly from the neighboring elements, but to add the available values on the edges that
share the corner. To sum the values at the corners, we loop the corner array. For each corner,
we add the values from the associated end points on the neighboring edges, and store the sum
on the corner. Then, we divide the value on the corner by two, since it is twice as large as it
should be, due to the summation made on the edges. Now, we loop the corner array again
to distribute the values at the corners back to the associated end points on the neighboring
edges. Finally, we loop the edge array again to distribute the values on the edges back to the
associated sides on the neighboring elements. At this point, we have completed the stiffness
summation procedure. The object oriented pseudo codes of the stiffness summation is given
in Algorithm 5.
Note that in the stiffness summation procedure, an assumption is made that all the
corners are interior, like a and b in Fig. 4.1, which is generally true for our domain subdivision.
We will keep this assumption in the domain subdivision, though a slight modification can
be made to handle any corners that occur on the boundary.
4.5
Iterative Solvers and Time Integrators
In this section, we will briefly introduce three iterative solvers, namely, Conjugate Gradient, Generalized Minimal Residual(GMRES) and Bi-Conjugate Gradient stabilized(BiCGSTAB). Conjugate gradient is one of the best known iterative methods to solve sparse
symmetric positive definite linear systems, while GMRES and Bi-CGSTAB are both wellestablished methods to solve non-symmetric linear systems.
Among the three solvers, generally speaking, conjugate gradient is the most efficient if
the matrix, A is symmetric positive definite. It generates a series of A-orthogonal directions
that generate a search, that terminates in N steps, where N is the dimension of A. For each
iteration, only four vectors need to be stored, which makes it a computationally efficient and
low-storage method.
On the other hand, GMRES is a projection method based on a Krylov subspace,
Km (A, r0 ) = {r0 , Ar0 , A2 r0 , ..., Am−1 r0 }. It is robust, but in general requires a large
amount of memory to store all the previous orthogonal directions. The Gram-Schmidt
orthogonalization procedure required by it will slow down the method. Therefore, two
variations on GRMES have been created, Restarted GMRES and Truncated GMRES, both
of which reduce the amount of storage and speed up the computations.
61
Algorithm 5: Two-Dimensional Stiffness Summation
Input: Z Elm , Z Edg , Z Crn , N Edg , N Crn ,
Output: Z Elm , Z Edg , Z Crn
for j = 1 to N Edg do
- - - Sum edge contributions - - -;
Z Edg [j].V alue = Z Elm [Z Edg [j].ElmIndex1].Side[Z Edg [j].SideIndex1]
+Z Elm [Z Edg [j].ElmIndex2].Side[Z Edg [j].SideIndex2];
end
for i = 1 to N Crn do
Z Crn [i].V alue = 0;
for k = 1 to Z Crn .V alence do
- - - Sum corner contributions - - - ;
Z Crn [i].V alue = Z Crn [i].V alue +
Z Edg [Z Crn [i].EdgIndex[k]].EndP oint[Z Crn [i].EndP ointIndex[k]];
end
Z Crn [i].V alue = Z Crn [i].V alue/2;
for k = 1 to Z Crn .V alence do
- - - Distribute corner stiff-sum back to edges - - - ;
Z Edg [Z Crn [i].EdgIndex[k]].EndP oint[Z Crn [i].EndP ointIndex[k]] =
Z Crn [i].V alue;
end
end
for j = 1 to N Edg do
- - - Distribute edge stiff-sum back to elements - - - ;
Z Elm [Z Edg [j].ElmIndex1].Side[Z Edg [j].SideIndex1] = Z Edg [j].V alue;
Z Elm [Z Edg [j].ElmIndex2].Side[Z Edg [j].SideIndex2] = Z Edg [j].V alue;
end
Bi-CGSTAB is a variation of Conjugate Gradients-Squared(CGS), which aims to fix the
irregular convergence behavior from CGS without giving up its attractive rate of convergence.
Interested readers are introduced to [52] and [53] for details.
Since we solve an advection-diffusion problem, the system is not symmetric if we use the
general time integration schemes such as Crank-Nicolson or backward Euler. This poses no
problem for GMRES or Bi-CGSTAB, but to take advantage of the efficiency of conjugate
gradient method, we must modify the time integration scheme to make the system symmetric
positive definite.
To create a symmetric system, we first investigate the individual operators in (4.6).
Define the following bilinear operators,
B dif , B adv , B ip : H 1 (Ω) × H 1 (Ω) → R,
62
with
B dif (v, φ) =
B adv (v, φ) =
B ip (v, φ) =
R
R
Ω
R
Ω
(G · ∇v) · ∇φdΩ,
Ω
(H · ∇v)φdΩ,
vφdΩ.
Clearly B ip (· , ·) is symmetric positive definite and B adv (· , ·) is not symmetric. For
B dif (· , ·),
B dif (v, φ) =
=
=
R
R
R
Ω
(G · ∇v) · ∇φdΩ
Ω
∇φT · G · ∇vdΩ
Ω
(G · ∇φ) · ∇vdΩ
G is symmetric
= B dif (φ, v),
which says B dif (· , ·) is symmetric. Meanwhile, the fact that G is positive definite gives
Z
dif
B (v, v) =
∇v T · G · ∇vdΩ ≥ 0.
Ω
Therefore, B dif (· , ·) is a symmetric semi-positive definite operator.
After the subdivision and the transformation,
ip
B (· , ·) =
and
B
dif
(· , ·) =
M Z
X
m=0
Ω0
M Z
X
m=0
Ω0
vm φm ||Jm ||dξdη
˜ m ) · (J −1 · ∇φ
˜ m )||Jm ||dξdη.
(Gm · Jm−1 · ∇v
m
Then, during the GLL quadrature approximation on these individual integrals, vm and φm
are treated in the same way and consequently their positions can be freely interchanged,
which indicates that the symmetry and the positivity are preserved in the discretization of
B ip (· , ·) and B dif (· , ·).
To create the symmetric positive definite system, we can apply an IMEX time integration
scheme that treat the advection term explicitly. Define the matrix action, Adif , Aadv and
Aip associated with the discretizations of B dif , B adv and B ip , respectively. Then the system
to be solved will take the form,
Aip · V̇ = −Adif · V + Aadv · V − rAip · V.
63
(4.20)
Here, “·” only represents the matrix action, not the matrix-vector multiplication.
Now, we apply the IMEX scheme to (4.20) that treats Adif · V and rAip · V implicitly,
but Aadv · V explicitly. That is
Aip · (V n+1 − V n )/∆t = −Adif · V n+1 + Aadv · V n − rAip · V n+1
ip
⇒ (A + ∆t(A
dif
ip
+ rA )) · V
n+1
ip
adv
= (A + ∆tA
for the first order IMEX scheme, and

1
(Adif + rAip )) · V n+ 2 = (Aip +
 (Aip + ∆t
2

ip
A ·V
n+1
ip
n
= A V + ∆t(−A
dif
+A
adv
(4.21)
n
)·V ,
∆t adv
A )
2
·Vn
ip
n+ 12
− rA ) · V
(4.22)
,
for the second order IMEX scheme.
Note that although Aip is in fact a diagonal matrix that is easy to invert, we do not divide
Aip through on both sides of (4.20) as we did for Ws in (3.23), because it will destroy the
symmetry we are trying to build, i.e., Adif is symmetric, but (Aip )−1 · Adif is not. Another
important issue associated with the symmetry is the stability properties of the IMEX scheme,
which we will discuss in Section 4.6.3.
For the non-symmetric iterative solvers, GMRES and Bi-CGSTAB, we can directly apply
our favorite time integration schemes, i.e.,
(Aip − ∆t(−Adif + Aadv − rAip )) · V n+1 = (Aip ) · V n
(4.23)
for backward Euler, and
(Aip −
∆t
∆t
(−Adif + Aadv − rAip )) · V n+1 = (Aip +
(−Adif + Aadv − rAip )) · V n
2
2
(4.24)
for Crank-Nicolson.
Though Conjugate Gradient, GMRES and Bi-CGSTAB all converge within the number
of iterations no bigger than the size of the system, they are all likely to suffer from slow
convergence for large scale problems arising in practice. Thus, the size of the system is, in
general, not a satisfactory criterion for the total number of iterations. To make the iterative
solvers efficient and robust, we must precondition the system.
4.5.1
Diagonal Preconditioner
Preconditioning is a technique to transform the original system into another with the same
solution, but that speeds up an iterative solver by decreasing the condition number. A
64
preconditioner, P, should be an approximation to the original system matrix, A, i.e.,
P−1 A ≈ I in some sense. It should be nonsingular and easy to solve relative to A.
Once P is available for a linear system, Ax = b, there are three ways to apply it:
Precondition from the left,
P−1 Ax = P−1 b;
(4.25)
Precondition from the right,
AP−1 u = b,
x ≡ P−1 u;
(4.26)
Or precondition from both sides with a split,
P = PL PR ,
−1
−1
P−1
L APR u = PL b,
x ≡ P−1
R u.
(4.27)
CHQZ [27] introduces several ways to precondition the system created by a twodimensional SEM approximation, including diagonal preconditioning, incomplete LU decomposition and finite element preconditioning, etc. Sophisticated preconditioners are not
necessarily more efficient than the simple ones. For example, CHQZ [27] finds that the
diagonal preconditioner is actually faster than LU factorization, and not much slower than
incomplete LU for Bi-CGSTAB on a two-dimensional advection-diffusion boundary value
problem. In fact, we have found diagonal preconditioners robust and efficient for our problem.
We will discuss their performance in Section 4.6.3.
One is Aip in Eq. (4.20), which simply
consists of the products of the Jacobian and the quadrature weights, J˜ij . The other diagonal
We consider two diagonal preconditioners.
preconditioner contains the actual diagonal entries of the systems, which are the sum of the
diagonal components of each of the terms, (4.13), (4.19), (4.15) and (4.14) after matching
φij . We denote those diagonal components by dip , ddif , dadv , and ddsc , respectively. They
are derived below.
Obviously, the diagonals of (4.13) are
˜
dip
ij = Jij ,
(4.28)
ip
ddsc
ij = rdij .
(4.29)
and the diagonals of (4.11) are
65
To find the actual diagonal entries of (4.15), we move out its (ij)th component,
(H̃1 Vξ + H̃2 Vη )ij J˜ij = H̃1ij J˜ij Vξ |ij + H̃2ij J˜ij Vη |ij
P
PN
2 ˜
= H̃1ij J˜ij N
D
V
+
H̃
J
ij
jk
ik
ij
k=0
h=0 Dih Vhj ,
and take out the coefficients of Vij in both sums and add them,
1 ˜
2 ˜
dadv
ij = H̃ij Jij Djj + H̃ij Jij Dii .
(4.30)
To derive the main diagonal components, ddif , we look at the (ij)th component in (4.19),
PN
k=0 [(Vξ G̃
=
=
11
P
12
22 ˜
+ Vη G̃21 )J˜]ik Dkj + N
h=0 [(Vξ G̃ + Vη G̃ )J ]hj Dhi
11 ˜
k=0 (G̃ik Jik Dkj Vξ |ik
PN
+
12 ˜
h=0 (G̃hj Jhj Dhi Vξ |hj
PN
11 ˜
k=0 (G̃ik Jik Dkj
PN
+
˜
+ G̃21
ik Jik Dkj Vη |ik )
PN
m=0
PN
˜
Dkm Vim + G̃21
ik Jik Dkj
n=0 Din Vnk )
12 ˜
h=0 (G̃hj Jhj Dhi
PN
˜
+ G̃22
hj Jhj Dhi Vη |hj )
PN
m=0
PN
˜
Djm Vhm + G̃22
hj Jhj Dhi
n=0 Dhn Vnj )
Again, we can take out the coefficients of Vij from each double sum individually and add
them altogether to get
ddif
ij =
PN
k=0
21 ˜
˜
G̃11
ik Jik Dkj Dkj + G̃ij Jij Djj Dii
˜
+G̃12
ij Jij Dii Djj
+
(4.31)
22 ˜
h=0 G̃hj Jhj Dhi Dhi .
PN
Now we have all the diagonals, dip , ddif , dadv and ddsc for each element. We can then
stiff-sum each of them through all the elements to get the corresponding diagonals for the
global system.
The final version of the diagonal preconditioner depends on the particular time integration
scheme. For instance, for the first order IMEX scheme, the preconditioner is
Pdiag = dip − ∆t(ddif + ddsc ).
For the second order IMEX scheme, it is
Pdiag = dip −
∆t dif
(d + ddsc ).
2
66
Table 4.1: Parameters for European Rainbow and European Basket Put Options
K
T
r
σ1
σ2
ρ
100 0.25 0.15 0.15 0.20 -0.20
4.6
Examples and Results
In this section, we demonstrate that the spectral accuracy observed in Section 3.8 is also
achieved for the two-dimensional Black-Scholes equation, (4.3). This suggests the approach
to handle the slope discontinuities in one-dimensional problems is robust, and can be
naturally extended to multi-dimensional problems.
In the following sections, we show that with the h-p refinement introduced in Section 2.1,
the numerical solution for a rainbow put option converges exponentially fast on the entire
domain, Ω = [0, 2K] × [0, 2K], and its ∆’s and Γ’s are spectrally accurate in a domain
of interest.
With spectral accuracy established for the rainbow put option, we then
present the numerical solution, its ∆’s and Γ’s for the basket put option with the payoff,
max(K − S1 − S2 , 0). Finally, we discuss the performance of the three iteration techniques,
i.e., Conjugate Gradient, GMRES and Bi-CGSTAB with the two diagonal preconditioners,
Aip and Pdiag . The parameters used for the options are listed in Table 4.1. For all numerical
examples, we use GMRES as the default iterative solver.
4.6.1
The European Rainbow Option
Before presenting the convergence results, it is important for us to look at the payoff function
of the rainbow put option, V (S1 , S2 , 0) = max(K − max(S1 , S2 ), 0), in the domain. We draw
attention to the diagonal slope discontinuity connecting the origin and the point, (K, K),
shown in Fig. 4.1. Theoretically, for any τ > 0, the solution is infinitely smooth in the
interior of the domain, due to the diffusion. However, as (S1 , S2 ) approaches the origin,
the diffusion effect weakens and the solution becomes less smooth along the diagonal. As a
matter of fact, the ∆’s are discontinuous at the origin. This singularity will directly impair
the performance of the numerical solution near the origin. Table 4.2 shows the polynomial
order convergence of the numerical solution using the subdivision in Fig. 4.1. As we can see,
the convergence rate is at most quadratic. The maximum errors are, in fact, dominated by
67
Table 4.2: Convergence behavior of a European rainbow put option with the subdivision in
Fig. 4.1. N : Polynomial order in each element; Iteration technique: GMRES; Number of
elements: 10; N T = 320; Iteration tolerance: 10−10 .
N
10
20
30
40
M axError
0.064
0.016
0.0075
0.0045
cs
❅
❅
❅ d
❅s
✟✟
✟
✟
c′ s ′ ✟✟✟
d
✟
❅
❅✟
s
0
s
s
e′
e
Figure 4.5: h-refinement within the element, (0, e, d, c) in Fig. 4.1 near the origin.
the local errors near the origin.
To recover exponential convergence, we localize the polynomial approximation, i.e., to
further divide the elements, (0, e, d, c) and (0, c, a, g), near the origin in Fig. 4.1. This is the
approach taken by h-refinement. For example, Figure 4.5 shows an h-refinement within the
element, (0, e, d, c), which is divided into the three smaller elements, (0, e′ , d′ , c′ ), (d′ , e, d, d′ ),
and (d′ , d, c, c′ ). Now the total number of elements on the entire domain, Ω, has increased
from ten to fourteen.
Table 4.3 shows the first order decay of the maximum errors as the element (0, e′ , d′ , c′ )
shrinks, which indicates that the maximum errors stay near the origin. Since we only reduce
the size of (0, e′ , d′ , c′ ), and do not create any more new elements, we can easily reduce the
errors near the origin to a negligible amount by shrinking (0, e′ , d′ , c′ ) without increasing the
68
Table 4.3: Convergence behavior of a European rainbow put option with h-refinement
shown in Fig. 4.5. The Coordinates of the element, (0, e′ , d′ , c′ ) are e′ = (K/10/f ∗ , 0),
d′ = (K/10/f ∗ , K/20/f ∗ ), and c′ = (3K/40/f ∗ , 3K/40/f ∗ ); Iteration technique: GMRES;
Number of elements: 14; N = 20; N T = 320; Iteration tolerance: 10−10 .
Log10(Maximum Error)
Shrinking factor f ∗
21
23
25
27
-1
M axError
1.8177 × 10−3
4.5454 × 10−4
1.1375 × 10−4
2.8559 × 10−5
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-2
-3
-4
-5
-6
5
10
15
20
25
30
Total Number of Spatial Points
Figure 4.6: Exponential convergence of the spectral element solution of the European rainbow
put option with shrinking factor, f ∗ = 215 . Iteration technique: GMRES; Iteration tolerance:
10−10 ; Number of elements: 14; Domain: (0, 2K) × (0, 2K).
computational work much.
Figure 4.6 demonstrates that spectral accuracy to the desired precision is recovered with
the shrinking factor, f ∗ = 215 . The convergence behavior is similar to what we have seen in
Section 3.8. The errors decrease exponentially when N is small, and then become constant
when the time integration errors dominate. When the time errors dominate, the distance
between any two adjacent curves is about 0.6, a factor of 100.6 ≈ 4, which indicates that the
time integration scheme is indeed second order accurate.
69
It is necessary to point out that making f ∗ too large will increase the number of iterations
per time step, and therefore the computational time, because the condition number of the
system increases. Nevertheless, our point here is to show that the method gives exponential
convergence despite the non-smoothness of the solution near the origin. In practice, the
region near the origin is not particularly interesting. As we will explain shortly, we only
consider the Greeks in the region of interest.
Spectral accuracy in the solution does not necessarily imply spectral accuracy in the
derivatives of the solution. Define ∆S1 ≡
ΓS2 ≡
∂2v
∂S22
∂v
,
∂S1
∆S2 ≡
∂v
,
∂S2
ΓS1 ≡
∂2v
,
∂S12
ΓS1 S2 ≡
∂2v
,
∂S1 ∂S2
and
. As already mentioned, the ∆’s are discontinuous at the origin, which means,
as (S1 , S2 ) approaches the origin along the diagonal, ∆S1 and ∆S2 behave much like local
Heaviside functions. As a result, ΓS1 , ΓS12 and ΓS2 will behave much like the Dirac Delta
function. It is infeasible to approximate these distribution functions or near-distribution
functions with spectral accuracy.
Fortunately, the region near the origin is of the least interest in financial practice. For
example, the options with the IBM stock starting on September 12, 2007 and expiring in
January, 2008 quoted on Chicago Board Options Exchange (CBOE) have the stock price,
S = 116.00, and the strike prices, $55 < K < $170, which corresponds to the range,
0.68K < S < 2.11K, in the context of our PDE solution. Consistent with this range,
without loss of generality, we define the domain of interest for the rainbow put option to be
Ωint = Ω \ [0, K2 ] × [0, K2 ], which excludes the region near the origin.
Since the large errors are local near the origin, we expect the spectral accuracy to be
recovered in the solution and its derivatives in Ωint , with a small shrinking factor, f ∗ .
Figure 4.7 demonstrates the convergence of the put option, its ∆’s and Γ’s in Ωint , with
a small shrinking factor, f ∗ = 1. We see that the Greeks are all spectrally accurate, and of
course, so does the solution. Also, an accuracy of 10−4 in the solution requires N = 18 and
Nτ = 40 only. Similarly, the ∆’s and the Γ’s achieve the same accuracy with N = 20 and
Nτ = 40.
It is important to note that to obtain the convergence graphs Fig. 4.6 and Fig. 4.7, we have
used the Rannacher modified Crank-Nicolson scheme [54] to damp out the high frequency
modes, which are not supposed to appear in the exact solution. For instance, when Nτ = 40,
we divide the first time step into eight smaller time steps and apply the backward Euler
scheme to them, but use the regular Crank-Nicolson scheme for the remaining 39 time steps.
70
Convergence of the ∆S
Convergence of the Put
1
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-4
-4
-5
-5
-6
-6
-7
-7
-8
10
20
30
40
50
10
Convergence of the ∆S
20
30
40
50
40
50
40
50
Convergence of the ΓS
2
1
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-4
-4
-5
-5
-6
-6
-7
-7
-8
-8
10
20
30
40
50
10
Convergence of the ΓS S
1 2
20
30
Convergence of the ΓS
2
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-2
-3
-4
-4
-5
-5
-6
-6
-7
-7
-8
-8
10
20
30
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
40
50
10
20
30
Figure 4.7: Exponential convergence of a European rainbow put option and its derivatives in
the domain of interest, [0, 2K] × [0, 2K] \ [0, K/2] × [0, K/2]. The horizontal axis represents
the polynomial degrees N on each element; The vertical axis is “Log10 (Maximum Error)”;
The Coordinates of the element, (0, e′ , d′ , c′ ) are e′ = (K/10, 0), d′ = (K/10, K/20), and
c′ = (3K/40, 3K/40); The shrinking factor, f ∗ = 1; Iteration technique: GMRES; Iteration
tolerance: 10−10 ; Number of elements: 14.
71
n
∆S
1
io
pt
tO
Pu
0
100
−0.5
50
0
−1
50
0
0
200
100
50
150
100
200
1
200
200
100
S
100
S
0
2
0
S
1
Γ
S
1
S2
150
∆S
2
0.05
0
0
−0.05
−0.5
200
200
100
−1
200
150
100
S
50
0
0
100
S1
0
S
2
100
150
200
100
150
200
S1
Γ
S
2
2
0
50
ΓS S
1 2
0.1
0.05
0.1
0
0.05
−0.05
0
0
0
100
100
S
200
200
−0.1
0
100
200
S
1
S1
2
0
50
S
2
Figure 4.8: The numerical solution of the European rainbow put option and its derivatives.
The plots from left to right, top to bottom, are the solution, ∆S1 , ∆S2 , ΓS1 , ΓS1 S2 and ΓS2 .
Iteration technique: GMRES; Iteration tolerance: 10−6 ; Number of elements: 10; Polynomial
degrees: 10.
72
Table 4.4: Error behavior of a European rainbow put option using the Crank-Nicolson scheme
with and without Rannacher modification. The coordinates of the element, (0, e′ , d′ , c′ ) are
e′ = (K/10/f ∗ , 0), d′ = (K/10/f ∗ , K/20/f ∗ ), and c′ = (3K/40/f ∗ , 3K/40/f ∗ ); Iteration
technique: GMRES; Iteration tolerance: 10−10 ; Number of elements: 14; Nτ = 40.
N
12
16
20
24
MaxError Without Rannacher MaxError With Rannacher
1.3280 × 10−3
1.3280 × 10−3
5.6830 × 10−4
5.6839 × 10−4
−4
7.6620 × 10
2.2371 × 10−4
4.2954 × 10−3
1.4281 × 10−4
The effect of the Crank-Nicolson scheme with and without Rannacher modification is shown
in Table 4.4. We see that when N is small, both schemes give the same results. However, as
N gets large, the errors given by the regular Crank-Nicolson scheme starts to grow, a result
of the undamped high frequency modes in the numerical solution. The last column shows
that the modified Crank-Nicolson scheme effectively removes those high frequency modes
from the solution. The Rannacher modification is a very effective technique, and we will use
it in all the later computations.
Figure 4.8 shows the sample numerical solutions of the put option, its ∆’s and Γ’s with
N = 10 and Nτ = 40, using the domain subdivision in Figure 4.1. The CPU time to compute
the solution is 0.14 second, and all the errors in the region of interest are all smaller than 10−2 .
From the upper right plot, we can see the Heaviside function behavior along the S2 direction
near the origin for ∆S1 . The middle left plot of ∆S2 shows the obvious discontinuity in the
computed ∆S2 near the origin. The extremity of the discontinuity happens at the origin with
∆S2 (0, 0) equal to −1 on one element but 0 on the other. For the Γ’s, only the values in
the region of interest are plotted, since the values near the origin have overwhelmingly large
magnitude and are not particularly interesting. We can see that the computed Γ’s in Ωint
are all graphically smooth in the region of interest.
4.6.2
The European Basket Option
So far, we have established the spectral accuracy on the rainbow put option, its ∆’s and Γ’s,
using the SEM. Now we are ready to present the numerical solution and the Greeks of the
European basket put option with the payoff, max(K − S1 − S2 , 0). The basket put option
73
has a nice topology, i.e., only one straight line of slope discontinuity in the domain. The fact
that the discontinuity is away from the origin suggests that the solution will be infinitely
smooth on the entire domain. Therefore, we should expect similar or better performance of
the SEM for the basket put option.
Figure 4.9 presents the put option value, the ∆’s and the Γ’s, and also shows the domain
subdivision with only five elements needed for the simple topology of the payoff function.
The CPU time is 0.52 second with N = 18, Nτ = 80, and GMRES as the iterative solver.
We can see that all the plots are graphically smooth. Furthermore, the two left bottom plots
show the two-dimensional horizontally projections of the computed ∆S2 and ΓS1 S2 . We can
see that neither images give signs of oscillations at the values of ∆S2 = 0 or −1, and at the
values of ΓS1 S2 = 0. With N = 18 and Nτ = 80, we can estimate the maximum errors of the
basket put option and its Greeks by reading from the convergence curves in Fig. 4.7. As we
can see, the maximum errors are about 10−4 .
4.6.3
Performance of the Iterative Solvers and the Diagonal Preconditioners
Having shown the accuracy of the method, we now look at the performance of the diagonal
preconditioners and the iterative solvers, since their performance plays a direct and important
role in the efficiency of the method. In Section 4.6.3, we proposed two candidates for the
diagonal preconditioner, Aip and Pdiag . We also discussed three candidates for the iterative
solver, Conjugate Gradient, GMRES and Bi-CGSTAB. To apply Conjugate Gradient, we
use the IMEX schemes, (4.21) and (4.22), to create a a symmetric positive system. To
apply GMRES and Bi-CGSTAB, we simply use the backward Euler scheme, (4.23), and the
Crank-Nicolson scheme, (4.24). In practice, iterative solvers and preconditioners can be very
problem dependent. To choose the best solver and the preconditioner, we measure their
efficiency by numerical experiments.
First of all, we need to establish the feasibility of Conjugate Gradient with the IMEX
schemes that are only conditionally stable. Table 4.5 shows the errors produced by the
IMEX scheme with Conjugate Gradient in comparison with the benchmark errors given by
the Crank-Nicholson scheme with GMRES for different choices of the parameters. We see
from the last two columns that the Crank-Nicholson scheme is absolutely stable, i.e., the
maximum errors stays small with both N = 20 and N = 30 for all the five choices of the
74
∆
S
1
ption
Put O
0
100
0
200
−0.5
50
100
100
−1
0
50
100
150
200
S
S
2
0
200 S1 200
150
100
S
50
0
0
S
1
2
Γ
S
1
∆
2
0
0.08
−0.2
0.06
−0.4
0.04
−0.6
0.02
−0.8
0
200
0
Γ
SS
S1
100
50
100
150
S2
200
0
S
2
S1
S
100
100
−0.02
0
200
Γ
1 2
0
200
2
−1
0.08
0.08
0.06
0.06
0.04
0.04
0.02
0.02
0
0
−0.02
200
100
−0.02
0
100
S
1
200
0
100
0
200
S
1
S
200
150
S2
100
50
0
2
Figure 4.9: The European basket put option and its derivatives. The plots from left to right,
top to bottom, are the basket put option, ∆S1 , ∆S2 , ΓS1 , ΓS1 S2 and ΓS2 . Iteration Technique:
GMRES; Number of Elements: 5; N = 18; Nτ = 80; Iteration tolerance: 10−6 .
75
Table 4.5: The errors comparison between the IMEX scheme with Conjugate Gradient(CG)
and the Crank-Nicolson scheme with GMRES for the European rainbow put option. Number
of elements: 10; Nτ = 40; Iteration tolerance: 10−6 .
r, σ1 , σ2
0.50, 0.01, 0.01
0.30, 0.05, 0.05
0.20, 0.05, 0.05
0.20, 0.10, 0.10
0.15, 0.15, 0.15
Maximum Error
N = 20
1.3690 × 101
1.6645 × 10−2
7.2656 × 10−3
5.0074 × 10−4
1.4954 × 10−4
(IMEX & CG)
N = 30
6.3615 × 1021
4.7038 × 103
1.4321 × 10−2
5.9139 × 100
7.1873 × 10−3
Maximum Error
N = 20
3.2541 × 10−1
2.0271 × 10−2
6.6961 × 10−3
4.3694 × 10−4
1.4950 × 10−4
(C-N & GMRES)
N = 30
1.0399 × 10−1
2.2513 × 10−3
6.8699 × 10−4
2.2908 × 10−4
1.4620 × 10−4
parameters. The third column shows that when N = 30, the solution does blow up with
the IMEX schemes for small volatilities and large interest rates, which correspond to small
diffusion and large advection, respectively. This is not surprising. The IMEX schemes, (4.21)
and (4.22), are absolutely unstable for advection problems since the spatial approximation
has nearly imaginary eigenvalues when N is large, [27].
Nevertheless, the second column in Table 4.5 shows that when r is relatively small and
σ1 , σ2 are relatively large, which is the usual case in financial practice, the IMEX schemes
with N = 20, are stable and give errors that are consistent with those produced by the CrankNicolson scheme. Therefore, for a reasonable choice of r, σ1 and σ2 , and with a relatively
small N, the IMEX schemes are stable and Conjugate Gradient is a feasible candidate as
the iterative solver. However, caution must be exercised, and N > 20 is not recommended.
Now, we look at the performance of the two diagonal preconditioners, Aip and Pdiag .
We use I for no preconditioner. Table 4.6 shows that the diagonal preconditioners, Aip and
Pdiag , lead to a significant reduction - a factor of ten to forty - in the average number of
iterations per time step over when no preconditioner is used. This is uniformly true for all
three iterative solvers. Moreover, we see that Aip requires only about a half of the number of
iterations used by Pdiag , which suggests that Aip helps reduce the condition number of the
whole system more efficiently than the actual diagonal components, Pdiag . In practice, one
just needs to try a few handy candidates, since preconditioning is a rather heuristic issue.
Table 4.7 lists the total CPU time to compute the put option price for each iterative
solver and for each diagonal preconditioner. We see that the CPU time in Table 4.7 is
roughly proportional to the average iteration numbers shown in Table 4.6. For example,
76
Table 4.6: The average number of iterations per time step with the three diagonal
preconditioners for the European rainbow put option. Number of elements: 10; nτ = 40;
Iteration tolerance: 10−6 ; GMRES restarts for every 40 iterations.
N
8
12
16
20
Conjugate Gradient
I
Pdiag
Aip
210
9
6
284
18
11
371
32
18
462
52
26
Bi-CGSTAB
I
Pdiag Aip
148
6
4
201
14
7
261
25
12
372
37
16
GMRES
I
Pdiag Aip
269
9
5
390
18
9
536
31
14
> 800
53
20
Table 4.7: The Total CPU Time With the Three Diagonal Preconditioners for the European
Rainbow Put Option. Number of Elements: 10; Nτ = 40; Iteration Tolerance: 10−6 ; GMRES
restarts for every 40 iterations.
N
8
12
16
20
Conjugate Gradient (sec)
Bi-CGSTAB (sec)
GMRES (sec)
I
Pdiag
Aip
I
Pdiag
Aip
I
Pdiag
Aip
1.932 0.11
0.07
3.164 0.12 0.09 6.499 0.15 0.08
5.197 0.38
0.26
9.063 0.63 0.33 17.004 0.54 0.28
13.118 1.211
0.691
25.256 2.313 1.191 40.348 2.73 0.901
33.538 3.795
2.062
64.392 6.529 2.914 > 100 5.628 2.383
when N = 16, for Conjugate Gradient, the ratio of the average iteration numbers between I
and Pdiag is 371/32 ≈ 11.6, while the ratio of their total CPU time is 13.118/1.211 ≈ 10.8,
which indicates that the diagonal preconditioners create virtually no extra computational
cost during the iterations.
From Table 4.7, we can also compare the performance of the three iterative solvers. We
see that Conjugate Gradient is uniformly faster than Bi-CGSTAB, but takes more iterations
than Bi-CGSTAB according to Table 4.6. This is because Bi-CGSTAB requires about twice
the work per iteration as Conjugate Gradient. We can also see in Table 4.7 that Conjugate
Gradient is faster than GMRES, but takes about the same number of iterations as GMRES,
as shown Table 4.6. This is because GMRES requires the Gram-Schimdt orthogonalization
procedure on all or part of the previous directions to produce a new iteration direction,
which slows down the speed. However, when Aip is applied, GMRES becomes efficient. It is
slightly faster than Bi-CGSTAB, and is competitive to Conjugate Gradient.
In practice, the performance of both the preconditioners and the iterative solvers can vary
77
from problem to problem. For the two-dimensional Black-Scholes equation, we have found
that Aip is an ideal preconditioner. It is in fact very efficient, is easy to apply, and creates no
extra computational cost. We also conclude that Bi-CGSTAB and GMRES are both robust
and are competitive to each other. The GMRES is slightly faster than Bi-CGSTAB when
Aip is used.
On the other hand, although Conjugate Gradient is the fastest iterative solver among
the three, it requires the use of the IMEX schemes, which are only conditionally stable.
Also, since Conjugate Gradient outperforms GMRES by only a small amount with the
preconditioner, Aip , we do not consider Conjugate Gradient with the IMEX schemes as a
reliable candidate for our problem, and will not use it in the next chapter.
78
CHAPTER 5
EUROPEAN OPTION PRICING WITH ONE ASSET
UNDER A STOCHASTIC VOLATILITY MODEL
As we have mentioned in Chapter 1, empirical evidence does not agree with the lognormal
distribution of stock prices predicted by the Black-Scholes model. MacBeth and Merville [55]
found that implied volatilities tended to be relatively high for in-the-money options and
relatively low for out-of-money options. The results from Jackwerth and Rubinstein [56]
showed that options with low strike prices had much higher volatility than those with high
strike prices. More recently, there was a high volatility period in the stock market caused by
the default in the sub-prime loan in Aug, 2007. All this evidence tends to suggest that the
volatility of stock prices changes over time. In 1980’s, Johnson and Shanno [15], Hull and
White [16], Scott [17] and Wiggins [57] proposed models to allow for stochastic volatility.
In this chapter, we first briefly review several stochastic volatility models and derive the
two-dimensional partial differential equation (1.9). Then, we discuss the boundary conditions
used by several papers, and propose a version of our own. In Section 5.5, we show spectral
accuracy in the solution and the Greeks. We also look at the effect of the boundary conditions
imposed, and compare the results with others.
79
5.1
Stochastic Volatility Models
The stochastic volatility model has many variants. One general version [43] assumes that
the volatility is a function of an underlying mean reverting, Orstein-Uhlenbeck process1 ,
dS = µSdt + σSdzS ,
σ = f (y),
(5.1)
dy = β(θ − y)dt + δdzy .
where f is a positive function, β, θ, δ > 0, and dzS , dzy have correlation ρ. The mean
reverting mechanism is governed by the drift term, β(θ − y). When y(t) < θ, y(t) tends to
increase, and when y(t) > θ, it tends to decrease. In other words, y(t) tends to move towards
θ, which is the long term mean, and the parameter β governs how fast it moves.
The mean reverting process can be solved quickly by introducing the integration factor,
eβt , and applying the Itô’s formula,
−βt
y(t) = y0 e
−βt
+ θ(1 − e
)+δ
Z
t
eβ(u−t) dz(u).
0
Clearly, y(t) has a normal distribution with mean,
θ + (y0 − θ)e−βt ,
and variance, by Itô isometry,
Z t
Z t
δ2
βu
2
2 −2βt
2 −2βt
(1 − e−2βt ).
[ e2βu du] =
δ e
E[( e dz(u)) ] = δ e
2β
0
0
As t → ∞, E[y(t)] approaches θ and V ar[y(t)] approaches
δ2
.
2β
It is interesting to note that the discrete version of y(t) is indeed a Gaussian AR(1) time
series [59]. To see this, write the discrete version of y(t),
yn+1 − yn = β(θ − yn )∆t + δ∆z.
Under rearrangement,
yn+1 = β∆tθ + (1 − β∆t)yn + δ∆z,
1
This is also the process adopted by Vasicek [58] for the interest rate model.
80
which is a Gaussian AR(1) process. This time series has a long term mean,
E(y) =
β∆tθ
= θ,
1 − (1 − β∆t)
and variance,
E(y − E(y))2 =
V ar(δ∆z)
δ 2 ∆t
δ2
=
=
1 − (1 − β∆t)2
2β∆t − β 2 ∆t2
2β(1 −
β∆t
)
2
,
which both agree with those of the continuous process, as ∆t → 0.
To solve for option prices, one can directly use the volatility as the underlying variable.
Scott [17] used the stochastic volatility model, (5.1) with σ = y to price options, but didn’t
give a complete closed-form formula. Instead, he used Monte-Carlo simulation to solve for the
option prices and reduced the computational cost by assuming dzS and dzy are independent
of each other. Stein and Stein [60] also used (5.1) with σ = y. They derived a closed-form
distribution for the stock price, and therefore the option pricing formula, but again with
the assumption, ρ = 0. They also made a note on the potential possible negative volatility
generated by the process and claimed that it had no significant consequence for a wide range
of relevant parameters.
Instead of working with volatility itself, one can also solve for option prices with a variance
process. Hull and White [16] assumed that the variance follows a geometric Brownian motion,
dν = µνdt + δνdzν ,
and solved explicitly for the option prices in series form for the case, ρ = 0. They used the
Monte Carlo simulation for the general case, ρ 6= 0.
Heston [19] started with the process,
√
√
d ν = −β νdt + δdzν ,
(5.2)
and then applied Itô’s formula to transform (5.2) to the variance process,
√
dν = κ(θ − ν)dt + δ νdzν ,
where κ = 2β and θ =
δ2 2
.
2β
(5.3)
He then formed a two-dimensional PDE and found an exact
solution for the European option price. The closed-form formula was given by an inverse
Fourier transform, which needs to be integrated numerically.
2
The variance process (5.3) takes the same form as the Cox-Ingersoll-Ross interest rate model [61].
81
We see that by introducing the stochastic volatility, the option price is not analytically
tractable in general, except for a few special cases. And the special cases themselves need
to be evaluated numerically.
To test out our numerical scheme and compare the results with those in [1], we will use
Heston’s model, (5.3), and derive the equation, (1.9).
5.2
The Pricing Equation
The standard approach to derive the governing equation of the option price is to form a
riskless portfolio. However, since there are two sources of randomness, dzS and dzν , and ν
itself is not a traded asset, a portfolio consisting of only one option and certain shares of
stocks will not be risk free. In other words, the market is incomplete to price options with
stochastic volatility.
To show the consequence of the incomplete market, we consider one stock and two options,
v (1) and v (2) , with maturities T1 and T2 satisfying T2 > T1 [43]. Because we have two different
options, a risk-free portfolio can be constructed with a shares of stock, one share of v (1) , and
b shares of v (2) , so that,
a dS + dv (1) + b dv (2) = r(a S + v (1) + b v (2) )dt.
(5.4)
By the Itô’s formula,
(i)
(i)
(i)
(i)
(i)
(i)
dv (i) = (vt + vS µS + vν κ(θ − v) + 21 vSS νS 2 + 21 vνν δ 2 ν + vSν δνρS)dt
(i) √
+vS νSdzS
+
(i) √
vν δ νdzν
(5.5)
for i = 1, 2. Substituting (5.5) into (5.4), we can eliminate the random sources by choosing
(1)
a=
(1)
−vS
−
(2)
b vS ,
b=−
vν
(2)
vν
.
We then rearrange terms to arrive at
(1)
1
(1) [vt
vν
=
(1)
(1)
(1)
(1)
+ 21 vSS νS 2 + 12 vνν δ 2 ν + vSν δνρS + r(vS S − v (1) )]
(2)
(2) [vt
v
1
ν
+
1 (2)
v νS 2
2 SS
+
1 (2) 2
v δ ν
2 νν
+
(2)
vSν δνρS
+
(2)
r(vS S
(5.6)
(2)
− v )].
Note that the left hand side of (5.6) is independent of v (1) and the right hand side of (5.6) is
independent of v (2) , which means either side of (5.6) should be equal to a function, g ∗ that
82
does not depend on either v (1) or v (2) , i.e.,
1
1
vt + vSS νS 2 + vνν δ 2 ν + vSν δνρS + r(vS S − v) − vν g ∗ = 0.
2
2
(5.7)
Since g ∗ is arbitrary, the option price is not unique, which is consistent with the notion of
incomplete market.
To derive the pricing equation, we must resort to equilibrium asset pricing. Scott [17]
pointed out that the expected return on the option is
E[
SvS
vν
dv
] = [r +
(µ − r) + λ∗ ]dt,
v
v
v
(5.8)
where λ∗ is the risk premium associated with ν. If we match (5.8) with the dt term in (5.5)
and set λ∗ = λν [19], where λ is the market price of the variance, we arrive at the option
pricing equation, (1.9), with τ = T − t,
νS 2
δ2ν
vτ =
vSS +
vνν + ρδνSvSν + rSvS + (κ(θ − ν) − λν)vν − rv.
2
2
5.3
(5.9)
The Boundary Conditions
As we did for the two-dimensional Black-Scholes equation, we restrict Eq. (5.9) to a finite
rectangular domain, this time truncated at ν = νm and S = Sm , which forms four boundaries.
Clarke and Parrott [1], and Zvan et al. [20] proposed two different versions of the boundary
conditions for an American put option. Those boundary conditions can be adapted to the
European counterpart. We now provide a detailed discussion on those boundaries below,
and propose a version of our own.
We first look at the boundary condition at S = 0. Clarke and Parrott [1] imposed
v(S = 0, ν, τ ) = K, which means the American put option will be exercised immediately,
because S remains zero once it is zero. In the European case, the boundary condition
translates to vτ = −rv, which we have already used in Section 3.3. Zvan et al. [20], on the
other hand, imposed the condition by substituting S = 0 into Eq. (5.9) and got
δ2ν
vτ =
vνν + (κ(θ − ν) − λν)vν − rv,
2
(5.10)
which itself needs two boundary conditions at the points, (ν, S) = (0, 0) and (ν, S) = (νm , 0).
To avoid the unnecessary computation to solve Eq. (5.10), we choose vτ = −rv as our
candidate for the Dirichlet boundary condition at S = 0.
83
For the boundary, S = Sm , it is natural to impose v(Sm , ν, τ ) = 0 for the put option as we
did for (4.2). This boundary condition was used in [20]. However, along this boundary, when
ν gets large, the put option value can be significantly greater than zero, so v(Sm , ν, τ ) = 0
would no longer be a good approximation. Clarke and Parrott [1] exploited another property
of a put option, i.e., vS (Sm , ν, τ ) = 0, which provides a better approximation. This Neumann
boundary condition is mathematically legitimate, since Eq. (5.9) is diffusion dominated when
S is large. We will impose this Neumann condition at S = Sm .
To find an accurate boundary condition at ν = νm is not an easy task. From the BlackScholes formula, (1.5), we can see that the European put option price approaches Ke−rτ , as
ν → ∞. However, v(S, ∞, τ ) = Ke−rτ is too extreme to be a practically accurate boundary
condition at ν = νm , because neither does it agree with the initial condition, nor is it a good
approximation for a finite value of νm .
Zvan et al. [20] argued that as ν → ∞, vν → 0, so (5.9) reduces to a standard Black-
scholes equation,
νS 2
vSS + rSvS − rv,
2
also vanishes. We should point out that setting highest order terms vνν to be zero
vτ =
where vνν
at the boundary is potentially ill-posed. Therefore, we shall avoid it.
Clarke and Parrott [1] only imposed vν (S, νm , τ ) = 0 and did not assume vνν vanishes.
This Neumann boundary condition is consistent with the fact that the information flows out
through ν = νm because the coefficient of vν in (5.9), (κ(θ − ν) − λν) < 0 when ν is large. We
will impose vν = 0 along ν = νm . Later, in Section 5.5.2, we will show that this boundary
condition is not accurate for our choice of νm = 2.5, but leads to accurate solutions in the
domain of interest, which we will define in Section 5.4.
Next, we investigate the boundary condition at ν = 0. Clarke and Parrott [1] argued that
when ν = 0, the stock price becomes deterministic, so the American put option should be
exercised immediately to have max(K − S, 0), rather than to wait for any period t and have
less value, e−rt max(K − Sert , 0). This argument is actually not quite correct, and we will
give the explanation shortly. Clarke and Parrott [1] then checked the Eq. (5.9) and found
that it becomes hyperbolic at ν = 0, i.e.,
vτ = rSvS + κθvν − rv.
(5.11)
Since κθ > 0 indicates that information flows out through the boundary ν = 0, the imposition
84
of the Dirichlet boundary condition, v(S, ν = 0, τ ) = max(K − S, 0), is not appropriate.
Instead, Clarke and Parrott [1] used the Neumann boundary condition, vν̃ = 0 at ν̃ ≪ 0
on a transformed grid with ν̃ = log(ν). This Neumann condition is asymptotically correct,
provided that vν is bounded at ν = 0. Nevertheless, our decision for this boundary condition
is not to impose any condition, since the equation (5.11) is purely hyperbolic and out-flowing.
We will see in Section 5.5 that this decision leads to accurate solutions.
It is worthwhile to point out that the Dirichlet boundary condition, v(S, 0, τ ) =
max(K − S, 0), is neither well-posed nor accurate for American put options, since we have
noticed that it was directly used in the later work, [62] and [63]. We have already concluded
that the imposition of v(S, ν = 0, τ ) = max(K − S, 0) is not well-posed. Now, we explain
why the boundary condition, v(S, ν = 0, τ ) = max(K − S, 0), is not accurate, either. The
hyperbolic equation, (5.11), indicates that information flows out from the interior through
the boundary, ν = 0, which tells us that the solution is smooth at ν = 0. In other words,
v(S, ν = 0, τ ) 6= max(K − S, 0), and v(S, ν = 0, τ ) > 0 for S > K. From the stochastic
process point of view, the fact that ν = 0 at t = 0 does not imply ν = 0 for all t > 0, because
ν is driven by the mean-reverting process, (5.3). When ν = 0, (5.3) is not stochastic and
has a positive drift towards to the long term mean, θ, which guarantees ν > 0 for at least
a period. Therefore, the put option price is larger than zero for S > K. This means that
v(S, ν = 0, τ ) = max(K − S, 0) underestimates the value of American put options.
At this point, we have discussed the four boundary conditions.
We impose two
Neumann boundary conditions at S = Sm and ν = νm , i.e., vS (S = Sm , ν, τ ) = 0 and
vν (S, ν = νm , τ ) = 0. We do not impose any boundary condition at ν = 0. Along S = 0, we
can impose the Dirichlet boundary condition, vτ = −rv. However, to show spectral accuracy
in the Greeks, we choose not to impose any boundary condition at S = 0 to avoid the
boundary layer problem, i.e., we incorporate the boundary points into the whole system, as
we did in Section 4.1. Figure 5.1 shows the four boundary conditions and the information
flow along ν = 0 and ν = νm .
To finalize the IBVP for the European put option, we write (5.9) in the divergence form,
vτ = ∇ · G · ∇v + H · ∇v − rv,
85
(5.12)
ν
vν = 0
νm ✻ ✻
NO
B.C.
✻
✻
vS = 0
1
❄ K
0
❄ 2K
NO
❄
✲ S
Sm
B.C.
Figure 5.1: The boundary conditions and the domain subdivision for a put option under the
stochastic volatility model, (5.3).
which is the same as (4.2), but with different G and H,



 2
νS 2 ρδνS
S
ρδS
1
= ν
,
G= 
2
2
2
2
ρδνS δ ν
ρδS δ
and


H=

(r − ν − 21 ρδ)S
(κθ −
1 2
δ )
2
− (κ + λ +
1
ρδ)ν
2


.

We now multiply φ ∈ H 1 in Eq. (5.12), and integrate by parts on the diffusion term,
Z
Z
Z
Z
Z
(G · ∇v) ·~nφd(∂Ω) − (G · ∇v) · ∇φdΩ + H · ∇vφdΩ − rvφdΩ, (5.13)
vτ φdΩ =
where
R
∂Ω
(G · ∇v) · ~nφd(∂Ω) = 21 [−
+
R
R
S=0
S=Sm
Ω
Ω
Ω
∂Ω
Ω
(νS 2 vS + ρδSνvν )φdν −
(νS 2 vS + ρδSνvν )φdν +
R
R
ν=0
ν=νm
(ρδSνvS + δ 2 νvν )φdS
(ρδSνvS + δ 2 νvν )φdS].
(5.14)
Again, the first two integrals in (5.14) vanish due to the singularities. Unlike the twodimensional Black-Scholes equation in Section 4.1, the last two terms in (5.14) do not vanish.
86
With the Neumann boundary conditions, vS (Sm , ν, τ ) = 0 and vν (S, νm , τ ) = 0, the boundary
term, (5.14), reduces to
Z
Z
Z
1
(G · ∇v) · ~nφd(∂Ω) = [
(ρδSνm vS )φdS].
(ρδSm νvν )φdν +
2 S=Sm
∂Ω
ν=νm
(5.15)
Up to this point, we have completely determined the IBVP for the European put option
with the stochastic volatility model, (5.3). Because no Dirichlet boundary conditions are
imposed, we solve for option prices on all the points in the domain.
5.4
The Approximation
To approximate Eq. (5.13), we first subdivide the domain, Ω, and map each subregion
onto the master element, Ω0 = [0, 1] × [0, 1]. This time, the payoff function, v(S, ν, 0) =
max(K − S, 0) suggests a very straightforward subdivision, because there is only one slope
discontinuity at S = K. Nevertheless, it is a challenging task to maintain spectral accuracy
in the numerical solutions because the Neumann boundary conditions at S = Sm and ν = νm
will not be accurate if Sm and ν are not large enough. Fortunately, as we have discussed
in Section 3.5, the spectral element method allows us to make Sm and ν large enough by
adding buffer elements.
Figure 5.1 suggests a natural subdivision of Ω. The region is divided into six rectangles.
We choose [0, 2K] × [0, 1] to be the domain of interest. The remaining four surrounding
rectangles are the buffer elements. In practice, a typical annualized stock volatility would
be between 0.10 and 0.50, equivalent to a small variance of 0.01 to 0.25. We choose the
large variance range, [0, 1], for the region of interest to make the numerical solution general
enough to handle the possible extreme cases, and likewise to demonstrate the robustness of
the method and the boundary conditions that we chose in Section 5.3.
Now we are ready to approximate (5.13) by the GLL quadrature. As we have already
noticed, Eq. (5.13) has almost the same form as (4.6). Therefore, the quadrature approximation follows the same procedure that we described for (4.6) in Section 4.3, except for the
boundary term, (5.15).
To approximate (5.15), we first break the boundary integrals according to the subdivision,
87
Fig. 5.1,
R
S=Sm
=
(ρδSm νvν )φdν +
PM
i
i=1 ISm
R
S (i) =Sm
R
ν=νm
(ρδSνm vS )φdS
(i)
(ρδSm ν (i) vν )φ(i) dν (i) +
PM
j
j=1 Iνm
(i)
(j)
R
(j)
ν (j) =νm
(ρδνm S (j) vS )φ(j) dS (j) ,
(5.16)
where M is the total number of elements, and ISm , Iνm are the indicator functions,


 1, if S (i) = Sm is a side of Ωi
 1, if ν (j) = νm is a side of Ωj
(i)
(j)
ISm =
, Iνm =
.


0, otherwise
0, otherwise
(5.17)
PM j
PM i
We can see from Fig. 5.1 that i=1 ISm = 2 and j=1 Iνm = 3, because there are two elements
that contain S = Sm and three elements that contain ν = νm . In the implementation, the
codes will detect the boundary sides in each element.
Next, each integral in (5.16) will be transformed according to the mapping between Ωm
and Ω0 . For simplicity, we assume S (i) = Sm is mapped in ξ direction and ν (j) is mapped in
η direction, then (5.16) becomes
R
PM i R
P
(i) (i)
(i)
(i)
j
(j)
(j)
(j) (j)
+ M
i=1 ISm S (i) =Sm (ρδSm ν vν )φ dν
j=1 Iνm ν (j) =νm (ρδνm S vS )φ dS
=
PM
i
i=1 ISm
R1
0
(ρδSm ν
(i)
(i)
(η)vη )φ(i) dη
+
PM
j
j=1 Iνm
R1
0
(ρδνm S
(j)
(5.18)
(j)
(ξ)vξ )φ(j) dξ.
Each integral can be easily approximated by one-dimensional GLL quadrature.
After the spatial discretization, the system can be written in form similar to (4.20), with
the extra contribution from the boundary term,
Aip · V̇ = Abdy · V − Adif · V + Aadv · V − rAip · V,
(5.19)
where Abdy is the boundary term action.
To integrate (5.19) in time, we only consider the Crank-Nicolson scheme because of the
stability limitations of the IMEX scheme. The fully discretized system is
(Aip −
∆t bdy
∆t
(A −Adif +Aadv −rAip ))·V n+1 = (Aip + (Abdy −Adif +Aadv −rAip ))·V n . (5.20)
2
2
5.5
Examples and Results
In this section, we present the results for European put options under the stochastic volatility
model (5.3) with Eq. (5.13). We show that the spectral accuracy observed in Section 4.6
88
Table 5.1: Parameters for European Put Options Under Stochastic Volatility Model
K
T
r κ
θ
δ
ρ λ
100 0.25 0.1 5 0.16 0.9 0.1 0
for the two dimensional Black-Scholes equation, (4.3), is also achieved here for Eq. (5.13).
The SEM, together with our choice of boundary conditions discussed in Section 5.3, gives
exponential convergence not only in the solution, but also in the Greeks within the domain
of interest, Ωint = [0, 2K]×[0, 1]. The parameters from [1] are used for the main computation
and are listed in Table 5.1. The Greeks of interest for this problem are ∆S =
and Γ =
∂2V
.
∂S 2
Usually, in the financial literature [3], the “Vega”,
∂V
√
∂ ν
∂V
,
∂S
∆ν =
is used instead of
∂V
∂ν
∂V
∂ν
,
.
Therefore, we will also include “Vega” in the sample solution plots and denote it by ∆σ .
In the following sections, we first show spectral accuracy of the method, then look at some
interesting effects that the boundary has on the solution. Finally, we assess the numerical
performance of the method and draw comparisons to the results found in the paper, [1].
5.5.1
Convergence Results
Figure 5.2 shows the convergence in V, ∆S , ∆ν and Γ with the subdivision, Fig. 5.1. We see
that while V and ∆ν are spectrally accurate as expected, ∆S and Γ show less than exponential
convergence when N is large. In fact, the largest errors in the derivatives occur at the origin.
As discussed in Section 5.3, the solution is smooth at the boundary ν = 0, a result of
the outflow created by the positive mean reverting factor, κθ. Nevertheless, the solution at
the boundary is less smooth than the solution in the interior. Meanwhile, the polynomial
approximation is global within each element, which means that any approximation error is
global and effects every node in the element. Since the solution is virtually linear near the
origin, and the derivative matrix entries, D00 and DN N grow as N 2 [64], a tiny oscillation at
the origin may not be notable in the solution, but it can be amplified to be the dominating
error in the derivatives when N is large.
To recover spectral accuracy in the derivatives, we again resort to h-refinement, i.e., to
subdivide the region, [0, K] × ν, vertically at, say, S =
K
,
2
which now gives eight elements in
total. Figure 5.3 shows the convergence results with eight elements. We see that although
89
Convergence of the ∆S
Convergence of the Put
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-4
-4
-5
-5
-6
-6
-7
10
20
30
40
10
Convergence of the ∆ν
20
30
40
Convergence of the Γ
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-3
-4
-4
-5
-5
-6
-7
-6
10
20
30
40
10
20
30
40
Figure 5.2: Convergence behavior of European put option and its derivatives in the domain
of interest, [0, 2K] × [0, 1], with the subdivision, Fig. 5.1. The horizontal axis represents
the polynomial degree N on each element; The vertical axis is “Log10 (Maximum Error)”;
Iteration technique: GMRES; Iteration tolerance: 10−10 ; Number of elements: 6.
there are some oscillations in the convergence curves of Γ, the overall trend is exponential.
In practice, the accuracy given by Nτ = 40 or Nτ = 80 shown in Fig. 5.2 will be
sufficient. Figure 5.4 gives sample plots of V, ∆S , ∆ν , ∆σ and Γ in the domain of interest
with six elements, N = 12 and Nτ = 40. The accuracy level is about 10−3 and the total
computational time is 0.56 second. As we can see, all the five plots are graphically smooth.
The Greeks, ∆S , ∆ν and Γ all have sharp curvature near S = K and ν = 0, which indicates
the solution near the boundary ν = 0 is less smooth. Also, ∆ν and the “Vega” ∆σ have the
90
Convergence of the ∆S
Convergence of the Put
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-4
-4
-5
-5
-6
-6
-7
10
20
30
40
10
Convergence of the ∆ν
20
30
40
Convergence of the Γ
0
0
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
Nτ = 640
-1
-2
-3
-4
-3
-5
-4
-6
-5
-7
-8
-6
10
20
30
40
10
20
30
40
Figure 5.3: Convergence behavior of European put option and its derivatives in the domain
of interest, [0, 2K] × [0, 1], with 8 elements. The horizontal axis represents the polynomial
degree N on each element; The vertical axis is “Log10 (Maximum Error)”; Iteration technique:
GMRES; Iteration tolerance: 10−10 .
similar shape except that ∆σ behaves almost linearly along the volatility axis, σ.
5.5.2
Boundary Condition Effect
So far, we have established the spectral convergence of the solution and its Greeks in the
domain of interest, [0, 2K] × [0, 1]. However, it will be interesting to examine the impact of
the Neumann boundary conditions, vS (Sm , ν, τ ) = 0 and vν (S, νm , τ ) = 0, on the solution.
Figure 5.5 shows the comparison between the exact ∆S and the computed ∆S , and the
91
tion
p
ut O
P
100
50
1
0
0
0.5
100
200
ν
0
∆S
∆ν
S
15
0
10
−0.2
−0.4
5
−0.6
−0.8
0
1
−1
1
0.5
0
0
50
∆σ
ν
100
150
0.5
200
ν
S
0
100
0
200
S
Γ
15
0.04
10
0.03
0.02
5
0.01
0
0
1
1
0.5
σ
0
0
50
100
S
150
200
200
0.5
100
ν
0
0
S
Figure 5.4: The numerical solution of the European put option and its derivatives in the
domain of interest, [0, 2K] × [0, 1], with the subdivision, Fig. 5.1. Iteration technique:
GMRES; Iteration tolerance: 10−5 ; Total number of elements: 6; Polynomial degrees: 12;
Nτ = 40.
92
Table 5.2: Parameters of the European put option example from [1].
K T r κ
θ
δ ρ
100 0.5 0 4 0.09 0.4 0
λ
0
comparison between the exact ∆ν and the computed ∆ν , on the entire domain [0, Sm ] ×
[0, νm ] = [0, 6K] × [0, 2.5]. The top pair of the graphs show the exact ∆S and the computed
∆S , which are, clearly, graphically consistent and agree at the boundary S = Sm . This
indicates that the boundary condition vs (Sm , ν, τ ) = 0 is indeed the correct one, and helps
to achieve spectral accuracy within the domain of interest.
On the other hand, the bottom pair of the graphs show a huge difference between the exact
∆ν and the computed ∆ν at the boundary, ν = νm . Since we weakly impose the Neumann
boundary condition, vν (S, νm , τ ) = 0, the computed ∆ν is indeed zero at the ν = νm .
Nevertheless, the actual exact ∆ν has a maximum value of about 15 at ν = νm = 2.5.
Although vν (S, νm , τ ) = 0 is not an accurate boundary condition, the computed ∆ν is
consistent with the exact ∆ν in the region away from the boundary. This is the phenomenon
sometimes also observed in fluid dynamics computations. Because ν = νm is an outflow
boundary and the information propagates out from the interior, when the advection created
by the mean reverting effect is dominating, the solution at ν = νm will virtually have no
influence on the solution in the interior. Instead, it will only create a boundary layer in
∆ν at ν = νm . Meanwhile, the buffer elements in the region, [0, 2K] × [1, 2.5], isolate the
effect of the inaccurate boundary condition. Therefore, the solution in the domain of interest
can be made spectrally accurate, until the error created by the boundary condition finally
dominates.
5.5.3
Efficiency
Efficiency is always important. In this section, we assess the efficiency of the method
measured by speed and storage. The parameters used in numerical examples are listed
in Table 5.2, which are from [1], page 191.
Table 5.3 lists the computational time of the SEM for the European put option at
the accuracy level of 10−2 , 10−3 , 10−4 and 10−5 , within the domain of interest, Ωint =
93
Exact ∆S
Computed ∆
S
0
0
−0.5
−0.5
−1
−1
600
600
400
200
S
0
2
2.5
1
1.5
0.5
400
0
200
S
ν
Exact ∆ν
0
2.5
2
1
1.5
0.5
0
ν
Computed ∆ν
15
15
10
10
5
5
0
600
0
600
400
400
200
S
0
2.5
2
1
1.5
0.5
0
200
S
ν
0
2.5
2
1.5
1
0.5
0
ν
Figure 5.5: The numerical solution of the European put option and its derivatives in the
domain of interest, [0, 2K] × [0, 1], with the subdivision, Fig. 5.1. Iteration technique:
GMRES; Iteration tolerance: 10−5 ; Number of elements: 6; Polynomial degrees: 12; Nτ = 40.
94
Table 5.3: The CPU time with the four levels of accuracy for the European put option.
Ωint = [0, 2K] × [0, 1]; νm = 1.5; Sm = 6K; Number of Elements: 6; GMRES restarts for
every 40 iterations.
Accuracy N T ol
< 10−2
8 10−3
< 10−3
11 10−4
−4
< 10
14 10−6
< 10−5
17 10−7
NT
10
20
80
320
GMRES
M axError Time (sec)
0.91 × 10−2
0.10
−3
0.97 × 10
0.42
0.91 × 10−4
1.86
−5
0.48 × 10
5.71
Bi-CGSTAB
M axError Time (sec)
0.85 × 10−2
0.08
−3
0.93 × 10
0.32
0.88 × 10−4
1.68
−5
0.36 × 10
5.77
[0, 2K] × [0, 1]. The first row shows that with Bi-CGSTAB, it only takes a total of 0.08
second for the SEM to achieve an accuracy of 10−2 in the entire domain of interest. We also
see that Bi-CGSTAB is slightly faster than GMRES, but overall, they are still competitive
to each other.
From Table 5.3, we can also see that for every factor of ten accuracy improvement, the
computational time only increases by about a factor of four. That is,
W orkSEM = CSEM (Accuracy)−0.6 .
This is not true for a second order finite difference method. To improve accuracy by a
factor of four, one needs double the number of time steps, and at the same time, double the
number of grid points in each dimension. This results in a factor of eight increase in the
computational time for the finite difference method. That is,
W orkF D = CF D (Accuracy)−1.5 .
Therefore, to improve a given accuracy by a factor of two, the finite difference method
requires about twice as much computational time as the SEM does, if we assume CSEM =
CF D . This means that the higher the accuracy required, the faster the SEM is relative to
the finite difference method.
To show the memory advantage of the SEM, we compare the data provided in Table(3)
from [1] with our results listed in Table 5.4. Table(3) in [1] shows that a European put option
computed by a second order finite difference method with the parameters in Table 5.2 has a
maximum error of 1.3 × 10−2 at ν = 0.09, and needs 65 × 33 total spatial points. Table 5.4
gives the computational time as well as the polynomial order, N, used in each element at the
95
Table 5.4: The CPU time with four levels of accuracy of the European put option.
Ωint = [0, 2K] × [0, 0.1]; νm = 0.5; Sm = 6K; Number of Elements: 6; GMRES restarts
for every 40 iterations.
Accuracy N T ol
< 10−2
7 10−3
< 10−3
11 10−4
−4
< 10
14 10−5
< 10−5
17 10−7
NT
10
20
80
320
GMRES
M axError Time (sec)
0.88 × 10−2
0.02
−3
0.72 × 10
0.20
0.54 × 10−4
0.88
−5
0.42 × 10
3.03
Bi-CGSTAB
M axError Time (sec)
0.86 × 10−2
0.03
−3
0.72 × 10
0.16
0.54 × 10−4
0.80
−5
0.42 × 10
3.06
four accuracy levels within the domain of interest, Ωint = [0, 2K] × [0, 0.1], which contains
the above ν = 0.09.
From Table 5.4, we also see that at the accuracy level of 10−2 , the SEM requires a total
number of (N + 1) × (N + 1) × M = (7 + 1) × (7 + 1) × 6 spatial points, which is a factor
of five fewer than the number of points, 65 × 33, required by the finite difference method in
Table(3) in [1]. Since the finite difference method only shows a factor of four improvement
in accuracy for a factor of four increase in the number of spatial points, we can deduce
that to achieve an accuracy of 10−3 , the finite difference method in [1] will require a total
of 65 × 33 × 16 spatial points. The SEM requires only (11 + 1) × (11 + 1) × 6 points,
according to Table 5.4. This leads to a significant factor of forty reduction in the memory
required by the finite difference method. Likewise, for an accuracy of 10−4 , the SEM will
lead to an even more significant - a factor of one hundred - reduction in the memory, i.e.,
(65 × 33 × 64)/((14 + 1) × (14 + 1) × 6) ≈ 100. Furthermore, we see that the SEM is fast. It
only takes 0.02 second to achieve an accuracy of 10−2 , and less than one second to achieve
an accuracy of 10−4 in Ωint .
From all the examples and results presented in this section, we conclude that the
boundary conditions proposed in Section 5.3 produce spectrally accurate results. Also, the
SEM is superior to second order finite difference methods in both speed and storage for the
European put option.
96
CHAPTER 6
CONCLUDING REMARKS
6.1
Summary and Conclusions
We have presented a spectral element method to price European options under the BlackScholes model, the jump diffusion model, and the stochastic volatility model with up to two
underlying variables. The method uses piecewise high order Legendre polynomial expansions
to approximate the option price represented pointwise on a Gauss-Lobatto mesh within each
element. It is the piecewise polynomial approximation that allows an exact representation of
the non-smooth initial condition. Numerical results have shown that by dividing the domain
into elements at the singularities of the non-smooth initial condition, the method gives the
exponential convergence in not only the solutions, but also in the Greeks under all the three
models.
For European put options under the jump diffusion model, the convolution integral that
represents the jump diffusion is also approximated by high order Gauss-Lobatto quadratures.
A study of the eigenvalues of the spatial approximation suggests that a second order
implicit/explicit (IMEX) approximation can be used in time, with the convolution integral
integrated explicitly. This means that only a block diagonal, rather than full, system of
equations needs to be solved at each time step. When compared to a standard second order
finite difference method, the spectral accuracy of the SEM leads to a factor of up to 30 fewer
mesh points needed for a maximum error of 10−4 .
For options under the Black-Scholes model with two assets, the domain is divided
into quadrilateral elements, and the basis functions are chosen to be tensor products of
one dimensional expansion polynomials. The numerical complexity is introduced by the
unavailability of the explicit global system matrix. Three iteration methods to solve the
two-dimensional system at each time step have been studied. Two diagonal preconditioners
97
are used to speed up the iterative solvers. We have found that both GMRES and Bi-CGSTAB
with the Crank-Nicolson time integration scheme are efficient, when the preconditioner
Aip is used, which is the product of the Jacobians and the quadrature weights. On the
other hand, Conjugate Gradient is fast, but is not suitable for the problem because of the
conditional stability of the IMEX scheme that integrates the advection term explicitly. A
robust algorithm is also created to perform the stiffness summation for each iteration. To
handle the singular behavior of the European rainbow put option near the origin, we have
used h-refinement in the neighborhood of the origin, and have recovered spectral accuracy
in the domain of interest. We also applied the Rannacher modified Crank-Nicolson scheme
to remove the high frequency modes in the solution when N is large. Finally, we applied the
SEM to accurately price the European basket put option, which does not have an explicit
formula.
For European options under the stochastic volatility model, we provided a detailed
discussion on the boundary conditions and proposed a correct version of our own. Numerical
experiments have shown that the negative effect of the inaccurate asymptotic boundary
condition, v(S, ν = νm , τ ) = 0, can be isolated by creating buffer elements at ν = νm , which
is easy to do for the SEM. We have shown that the SEM is efficient in both speed and
storage. For example, at the accuracy level of 10−4 , the SEM leads to a significant reduction
- a factor of one hundred - in the number of spatial points required by a second order finite
difference method.
From all the numerical experiments, we see that the spectral element method is an
efficient and robust numerical scheme to solve for European options.
6.2
Future Work
Although we have established the general framework of the SEM to price European options,
the method can be potentially extended to price other financial derivatives. One important
class of derivatives are American options. An important feature of American options is that
they can be exercised at any time before the maturity. This feature usually adds complexity
to American option pricing, which we have already mentioned in Chapter 1.
However, there are a few cases where American options can be solved easily. One such
example is the American binary option or digital option whose payoff is E · I{S≤K} for the
put and E · I{S≥K} for the call, where E is the cash payment and I is an indicator function.
98
1
Exact
Computed
Put option
0.8
0.6
0.4
0.2
0
100
120
140
160
Stock Price
180
200
Figure 6.1: The spectral element and exact solutions for the American binary put option
with two Dirichlet boundary conditions. NT otal = 15; Nτ = 40. The parameters are listed in
Table 2.1.
An analytical solution to the American binary put option is provided in Appendix A.
For the American binary put option, once the stock price S drops below the strike price
K, for any τ > 0 before the maturity, the option will be exercised immediately, since the
payment E is fixed. This translates to the following IBVP,
vτ =
σ2 2
S vSS
2
v(S, 0) = 0
+ rSvS − rv,
f or
S > K,
(6.1)
v(K, τ ) = E,
where the challenge is the jump discontinuity at S = K in the payoff function.
Despite the initial discontinuity, the SEM still gives spectral accurate solutions. Figures
6.1 and 6.2 show the solution, its ∆ and Γ with Nτ = 40 and NT otal = 15. We can see that
they are all graphical accurate. Figures 6.3 and 6.4 demonstrate the exponential convergence
in the solution as well as in the ∆ and the Γ. Note that we have used the Crank-Nicolson
scheme with the Rannacher modification for the time integration. In the future work, we
can easily extend the SEM to price American binary option under the jump diffusion model
and the stochastic volatility model where the exact formulae are not yet available.
Although the numerical experiments give the nice results, it is not obvious why the SEM
can handle the discontinuous initial data so accurately and efficiently. The initial condition
99
0.01
0
Exact
Computed
Exact
Computed
0.008
Delta
Gamma
-0.05
0.006
0.004
-0.1
0.002
-0.15
100
0
120
140
160
Stock Price
180
200
100
120
140
160
Stock Price
180
200
Figure 6.2: The ∆ and Γ computed from the spectral element method solution and the exact
∆ and Γ of European Black-Scholes put option with two Dirichlet boundary conditions.
NT otal = 15; Nτ = 40. The parameters are listed in Table 2.1.
Log10(Maximum Error)
-1
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
-2
-3
-4
-5
-6
-7
0
10
20
30
40
50
Total Number of Spatial Points
Figure 6.3: Exponential convergence of the maximum error for the spectral element solution
of American binary put option with two Dirichlet boundary conditions. The parameters are
listed in Table 2.1.
100
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
-2
-3
-4
-5
-6
-7
-1
Log10(Maximum Error)
Log10(Maximum Error)
-1
-8
Nτ = 40
Nτ = 80
Nτ = 160
Nτ = 320
-2
-3
-4
-5
-6
-7
-8
0
10
20
30
40
50
Total Number of Quadrature Points
0
10
20
30
40
50
Total Number of Quadrature Points
Figure 6.4: Exponential convergence of the maximum error for the ∆ and the Γ of American
binary put option with two Dirichlet boundary conditions. The parameters are listed in
Table 2.1.
as the limit of (A.4) as τ → 0, is half the heaviside function. Therefore, the traditional
orthogonal modal expansion of the initial condition is not able to tell the story, since all
the inner products are zero. If we look at the nodal basis expansion instead, we see that
the discontinuous initial condition is represented by only one nodal basis function at the
boundary, i.e., ℓN
0 (x), which has the high frequency oscillation near S = K, also known
as the Gibbs phenomenon. In the future research work, it is possible to analyze the rapid
convergence in the numerical solution based on the nodal basis function, ℓN
0 (x).
Next, we can look at the vanilla American option. Although it is not optimal to exercise
a vanilla American call option early on a non-dividend paying stock [3], it is optimal to
exercise a vanilla American put option before the maturity when the price of the underling
stock is sufficiently low. This early exercise feature of vanilla American put options is a great
challenge to numerical methods. One important reason is that the solution is not smooth
for any τ ≥ 0, and the moving speed of the non-smooth location is infinite initially.
To solve the vanilla American option numerically, we usually formulate the put to be
either a moving boundary problem or a linear complementary problem.
As a moving boundary problem, the American put option is the solution to the following
101
nonlinear IBVP,
vτ =
σ2 2
S vSS
2
+ rSvS − rv
v(S, τ ) = K − S
f or
S > S̄(τ ),
0 ≤ S ≤ S̄(τ ),
v(S, 0) = max(K − S, 0),
vS (S̄(τ ), τ ) = −1,
f or
S̄(0) = K,
(6.2)
v(Sm , τ ) = 0,
where S̄(τ ) is the moving boundary. Eq. (6.2) can be solved by tracking S̄(τ ) and applying
a front fixing method [65]. The advantage of the moving boundary formulation is that the
solution is infinitely smooth for S > S̄. If we can compute both the position and the speed
of S̄(τ ) accurately, we expect the SEM to be accurate and efficient. However, S̄(τ ) with an
infinite initial speed is hardly possible to be tracked with spectral accuracy. As a result, the
formulation, (6.2) is not suitable for the SEM . A number of papers including [66], [67] and
[68], priced the American put option based on (6.2) using the finite difference method with
the front-fixing or the front-tracking approach [65], but no complete convergence results
were established. Greenberg [28] used a Chebyshev tau method with convergent smooth
approximations for the initial infinite speed of S̄(τ ). The method is second order accurate,
but takes a large amount of computational time.
The American put option can also be formulated as the following linear complementary
problem [69],
2
Lv ≡ vτ − ( σ2 S 2 vSS + rSvS − rv),
Lv ≥ 0,
v(S, τ ) ≥ max(K − S, 0)
(6.3)
(Lv)(v − max(K − S, 0)) = 0,
v(S, 0) = max(K − S, 0),
v(Sm , τ ) = 0.
A projected SOR [70] or a multigrid method [1] can be used as the iterative solver when the
finite difference method is applied to (6.3). Forsyth and Vetzal [9], on the other hand, added
a penalty term to (6.3),
σ2 2
vτ = ( S vSS + rSvS − rv) + ρ max(max(K − S, 0) − v, 0),
2
(6.4)
where ρ is a large penalty parameter, and established a second order convergence rate.
102
Since the linear complementary formulation does not require the explicit tracking of the
moving front, S̄(τ ), and can be easily extended to multi-dimensional problems, we can look
at the feasibility of the h-p spectral element method to price American options under either
(6.3) or (6.4) in future research work.
103
APPENDIX A
SOLUTION TO AMERICAN BINARY OPTION
We present an explicit solution to an American binary put option in the Black-Scholes
framework. The call option can be deduced in exactly the same way.
We first simplify (6.1) to the following IBVP with a heat equation by the changes of
variables, S = Kex and ṽ = eαx+βτ v,
ṽτ = kṽxx ,
ṽ(x, 0) = 0
f or
x > 0,
(A.1)
ṽ(0, τ ) = Eeβτ ,
where α = ( σr2 − 21 ), β =
1
(r
2σ 2
+
σ2 2
)
2
and k =
σ2
.
2
If we can make the boundary condition at x = 0 homogeneous, then we can apply the
reflection technique to solve (A.1). Let u(x, τ ) = ṽ(x, τ ) − Eeβτ y(x), and substitute it into
Eq. (A.1),
βEeβτ y + uτ = k(Eeβτ yxx + uxx ).
(A.2)
When we match the y terms,
βy = kyxx ,
which gives a solution
y = ex
√
β/k
,
which makes the boundary condition zero for the new heat equation,
uτ = kuxx ,
u(x, 0) = −Eex
√
β/k
u(0, τ ) = 0.
104
f or
x > 0,
(A.3)
Now, we can solve (A.3) using an odd reflection with respect to the origin. Finally, the
solution of the American binary put option is
v = e−(αx+βτ ) (Ee(βτ +cx) + u),
where
2 −cx)
u = Ee(kτ c
2kτ c − x
2kτ c + x
[N ( √
) − e2cx N ( √
)],
2kτ
2kτ
and
c=
p
β/k.
105
(A.4)
REFERENCES
[1] N. Clarke and K. Parrott. Multigrid for American option pricing with stochastic
volatility. Applied Mathematical Finance, 6(3):177–195, August 1999. (document),
1, 5.1, 5.3, 5.3, 5.3, 5.5, 5.5, 5.2, 5.5.3, 5.5.3, 5.5.3, 6.2
[2] L. Pizzani. Financial engineering news. Newspaper, Jan, Feb 2007. 1
[3] J.C. Hull. Options, Futures, and Other Derivatives. Oxford University Press, fourth
edition, 2000. 1, 1, 5.5, 6.2
[4] M.S. Taqqu. Bachelier and his times: A conversation with Bernard Bru. Finance and
Stochastics, 5:332, 2001. 1
[5] F. Black and M. Scholes. The pricing of options and corporate liabilities. Journal of
Political Economy, 81:637–659, 1973. 1
[6] R.C. Merton. Theory of rational option pricing.
Management Science, 4:141–183, 1973. 1
Bell Journal of Economics and
[7] S.P. Zhu. An exact and explicit solution for the valuation of American put options.
Quantitative Finance, 6(3):229242, June 2006. 1
[8] M.J. Brennan and E.S. Schwartz. The valuation of American put options. Journal of
Finance, 32:449–462, 1977. 1, 1
[9] P.A. Forsyth and K.R. Vetzal. Quadratic convergence for valuing American options
using a penalty method. SIAM J. Sci. Comput., 23:20952122, 2002. 1, 1, 6.2
[10] M. Broadie and P. Glasserman. Pricing American-style securities using simulation.
Journal of Economic Dynamics and Control, 21:132352, 1997. 1
[11] F.A. Longstaff and E.S. Schwartz. Valuing American options by simulation: A simple
least-squares approach. Review of Financial Studies, 14:11347, 2001. 1
[12] R.C. Merton. Option pricing when underlying stock returns are discontinuous. Journal
of Financial Economics, 3:125–44, 1976. 1, 3.1
[13] D. Tavella and C. Randall. Pricing Financial Instruments: The Finite Difference
Method. Wiley, 2000. 1, 1, 3.2
106
[14] F.A. Longstaff and E.S. Schwartz. Jump-diffusion processes: Volatility smile fitting and
numerical methods for option pricing. Review of Derivatives Research, 4:231–262, 2000.
1, 1, 3.2, 3.6
[15] H. Johnson and D. Shanno. Option pricing when the variance is changing. The Journal
of Financial and Quantitative Analysis, 22(2):143–151, June 1987. 1, 5
[16] J. Hull and A. White. The pricing of options on assets with stochastic volatilities. The
Journal of Finance, 42(2):281–300, June 1987. 1, 5, 5.1
[17] L.O. Scott. Option pricing when the variance changes randomly: Theory, estimation,
and an application. The Journal of Financial and Quantitative Analysis, December
1987. 1, 5, 5.1, 5.2
[18] F.A. Longstaff K.C. Chan, G.A. Karolyi and A. B. Sanders. An empirical comparison of
alternative models of the short-term interest rate. Journal of Finance, 47(3):1209–1227,
July 1992. 1
[19] S.L. Heston. A closed-form solution for option with stochastic volatility with applications to bond and currency options. The Review of Financial Studies, 6(2):327–343,
1993. 1, 5.1, 5.2
[20] P.A. Forsyth R. Zvan and K.R. Vetzal. A penalty method for American options with
stochastic volatility. J. Comp. Appl. Math., 91:199–218, 1998. 1, 5.3, 5.3
[21] S. Ross J. Cox and M. Rubinstein. Option pricing: A simplified approach. Journal of
Financial Economics, 7:229–263, 1979. 1
[22] R. Jarrow and A. Rudd. Option Pricing. Dow Jones-Irwin, 1983. 1
[23] K. Amin. On the computation of continuous time option prices using discrete approximations. J. Financial Quant. Anal., 26:477–496, 1991. 1
[24] P. Boyle. Option valuation using a three-jump process. International Options Journal,
3:7–12, 1986. 1
[25] M.J. Brennan and E.S. Schwartz. Finite difference methods and jump processes arising
in the pricing of contingent claims: A synthesis. Journal of Financial Quantitative
Analysis, 13:461–474, 1978. 1
[26] M. Broadie and J. Detemple. Option pricing: Valuation models and applications.
Management Science, 50(9):1145–1177, 2004. 1
[27] A. Quarteroni C. Canuto, M.Y. Hussaini and T.A. Zang. Spectral Methods: Fundamentals in Single Domains. Springer, 2006. 1, 2, 2.1, 2.2, 2.2, 3.4.1, 3.4.2, 3.4.2, 3.6, 3.8.1,
4.5.1, 4.6.3
[28] A. Greenberg. Chebyshev Spectral Method for Singular Moving Boundary Problems with
Application to Finance. PhD thesis, California Institure Of Technology, 2002. 1, 6.2
107
[29] Y. Ren F.O. Bunnin, Y. Guo and J. Darlington. Design of high performance financial
modelling environment. Parallel Computing, 26:601–622, 2000. 1
[30] P.A. Forsyth Y. d’Halluin and G. Labahn. A penalty method for American options with
jump diffusion processes. Numerische Methematik, 97:321–352, 2004. 1, 3.2, 2
[31] S.A. Orszag. Numerical simulation of incompressible flows within simple boundaries: I.
Galerkin (spectral) representations. Stud. Appl. Math., 50, 1971. 2.1
[32] S.A. Orszag. Comparison of pseudospectral and spectral approximation. Stud. Appl.
Math, 51, 1972. 2.1
[33] D. Gottlieb and S.A. Orszag. Numerical Analysis of Spectral Methods: Theory and
Applications. SIAM-CMBS, 1977. 2.1
[34] A. Quarteroni C. Canuto, M.Y. Hussaini and T.A. Zang. Spectral Methods in Fluid
Dynamics. Springer-Verlag, 1987. 2.1
[35] J.P. Boyd. Chebyshev and Fourier Spectral Methods. Springer, 1989. 2.1
[36] S.A. Orszag. Spectral methods for problems in complex geometries. J. Comput. Phys.,
37, 1980. 2.1
[37] Y. Morchoisne. Pseudo-spectral space-time calculations of incompressible viscous flows.
AIAA Pap., 1981. 2.1
[38] A.T. Patera. A spectral element method for fluid dynamics - Laminar flow in a channel
expansion. Journal of Computational Physics, 54(3):468–488, 1984. 2.1
[39] D.A. Kopriva. A spectral multidomain method for the solution of hyperbolic systems.
Applied Numerical Mathematics, 2:221–241, 1986. 2.1
[40] B.A. Szabó I. Babuška and I.N. Katz. The p-version of the finite element method. SIAM
Journal of Numerical Analysis, 18:515–545, 1981. 2.1
[41] Y. Maday and A.T. Patera. Spectral element methods for the Navier-Stokes equations.
State-of-The-Art Surveys In Computational Mathematics, 1988. 2.2
[42] A. Quarteroni C. Canuto, M.Y. Hussaini and T.A. Zang. Spectral Methods: Evolution
to Complex Geometries and Applications to Fluid Dynamics. Springer, 2007. 2.2
[43] Y. Achdou and O. Pironneau. Computational Methods for Option Pricing. SIAM, 2005.
2.3, 5.1, 5.2
[44] K. Sato. Lévy Processes and Infinitely Divisible Distributions. Cambridge University
Press, first edition, 2000. 3.1
[45] H.J. Kusher and P. Dupuis. Numerical Methods for Stochastic Control Problems in
Continuous Time. Springer, second edition, 1992. 3.1
108
[46] A. Kane Z. Bodie and A.J. Marcus. Investments. McGraw Hill, 2002. 3.1
[47] V. Naik and M. Lee. General equilibrium pricing of options on the market portfolio
with discontinuous returns. Review of Financial Studies, 3, 1990. 1
[48] E.M. Ronquist and A.T. Patera. A Lagrange spectral element method for the Stefan
problem. International Journal for Numerical Methods in Engineering Engineering,
December 1987. 3.3
[49] R. Natalini M. Briani and G. Russo. Implicit-explicit numerical schemes for jumpdiffusion processes. Preprint, 2004. 3.7
[50] R.M. Stulz. Options on the minimum or the maximum of two risky assets. Journal of
Financial Economics, 10:161–185, February 1982. 4, 1
[51] S.O. Prestemon. Development of A Spectral-Element Code for the Study of Heat and
Momentum Transfer in Tubulent Flows Through Rough Channels. PhD thesis, The
Florida State University, 2002. 4.4.1
[52] Y. Saad. Iterative Methods For Sparse Linear Systems. SIAM, second edition, 2003. 4.5
[53] H.A. Van Der Vorst. Bi-CGSTAB: A fast and smoothly converging variant of Bi-CG for
the solution of nonsymmetric linear systems. SIMA J. Sci. Stat. Comput., 13(2):631–
644, March 1992. 4.5
[54] R. Rannacher. Finite element solution of diffusion problems with irregular data. Numer.
Math., 43:309–327, 1984. 4.6.1
[55] J.D. macBeth and L.J. Merville. An empirical examination of the Black-Scholes call
option pricing model. Journal of Finance, 34:1173–1186, December 1979. 5
[56] J.C. Jackwerth and M. Rubinstein. Recovering probability distributions from option
prices. Journal of Finance, December 1996. 5
[57] J.B. Wiggens. Option values under stochastic volatility: Theory and empirical estimates,. Journal of Financial Economics, 19:351–372, 1987. 5
[58] O. Vasicek. An equilibrium characterisation of the term structure. Journal of Financial
Economics, 5:177–188, 1977. 1
[59] J.D. Hamilton. Times Series Analysis. Princeton University Press, 1994. 5.1
[60] E.M. Stein and J.C. Stein. Stock price distributions with stochastic volatility: An
analytic approach. The Review of Financial Studies, 4(4):727–752, 1991. 5.1
[61] J. Ingersoll Jr. J. Cox and S. Ross. A theory of the term structure of interest rates.
Econometrica, 53(2):385–407, March 1985. 2
[62] C.W. Oosterlee. On multigrid for linear complementarity problems with application to
American-style options. Electronic Transactions on Numerical Analysis, 15, 2003. 5.3
109
[63] S. Ikonen and J. Toivanen. Efficient numerical methods for pricing American options
under stochastic volatility. Reports of the Department of Mathematical Information
Technology Series B. Scientifc Computing, (B12), 2005. 5.3
[64] D.A. Kopriva and Y. Hussaini. Spectral Methods for Scientists and Engineers. Springer,
first edition, Expected 2008. 5.5.1
[65] J. Crank. Free and Moving Boundary Problems. New York: Clarendon Press, 1984. 6.2
[66] L. Wu and Y. Kwok. A front-fixing finite difference method for the valuation of American
options. J. Financial Engineering, 1997. 6.2
[67] E.N. Houstis K. Pantazopoulos and S. Kortesis. A front-tracking finite difference
methods for the valuation of American options. Computational Economics, 12:255273,
1998. 6.2
[68] O. Skavhaug B. Nielsen and A. Tveito. Penalty methods for the numerical solution of
American multi-asset option problems. Journal of Computational Finance, 2000. 6.2
[69] J. Dewynne P. Wilmott and S. Howison. Option Pricing. Oxford Financial Press, 1993.
6.2
[70] S. Howison P. Wilmott and J. Dewynne. The Mathematics of Financial Derivatives: A
Student Introduction. Cambridge University Press, 2002. 6.2
110
BIOGRAPHICAL SKETCH
Wuming Zhu
Wuming Zhu was born on 5th, August, in 1973, in Ningbo, Zhengjiang province, China. In
the summer of 1995, he completed his Bachelors degree in Material Science and Engineering
at East China University of Science and Technology in Shanghai, China.
Under the
advisement of Prof. John E. Moody and Prof. David Basterfield, he obtained his Masters
degree in summer of 2002, from the Computational Finance Program in the OGI school at
OHSU. He enrolled in the doctoral program of Financial Mathematics at FSU in fall of 2003,
and did the research work under the advisement of Prof. David A. Kopriva.
Wuming’s research interests include financial derivative pricing, spectral element methods, numerical linear algebra, numerical optimization, and high performance computing.
Wuming will move to San Francisco, CA, and live with his wife.
111