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
© Copyright 2026 Paperzz