Finite Difference Methods (FDM) are an integral component of solving the Black-Scholes equation and related quantitative models. They are used to discretise and approximate the derivatives for a *smooth* partial differential equation (PDE), such as the Black-Scholes equation. Paul Wilmott and Daniel Duffy are two quantitative finance professionals who have applied the PDE/FDM approach to solving financial engineering problems. In this article, we present the essential list of finite difference books for a practising or aspirant quantitative analyst.

## 1) Finite Difference Methods in Financial Engineering: A Partial Differential Equation Approach - Daniel J. Duffy

Daniel Duffy has written two books on Finite Difference Methods, the other being listed below (number #5). This book is the more theoretical of the two. It begins with a theoretical discussion on partial differential equations (PDE) and then explains the finite difference method in detail. After which the FDM is applied to a one-factor Black-Scholes problem. Subsequently, the FDM is extended to multidimensional models and then multi-factor models. Free and moving boundary value problems are discussed prior to a section on implementation in C++.

This book is a necessary companion to *Financial Instrument Pricing Using C++* as it covers the theory of FDM and PDE, as applied to finance, in greater depth. However, it is not a text on numerical analysis or C++, which is why they should really be obtained as a pair.

## 2) Pricing Financial Instruments: The Finite Difference Method - Domingo Tavella, Curt Randall

*Pricing Financial Instruments: The Finite Difference Method* is a slightly older text than most on FDM. The book is designed to go from 'theory to solution' from start to finish. The book begins with theory on stochastic differential equations and analytical examples of their pricing, with a discussion on the Feynmann-Kac approach. Finite Difference Methods are then discussed, with stability analysis provided. Techniques for solving sparse systems of linear equations are then considered. Tavella and Randall have included a useful chapter on special issues, particularly relating to performance and jump-diffusion models.

Although the book does show its age with regard to its approach to stability analysis and discretisation techniques, it is still a very useful text for the practising quant analyst (or fluid dynamics engineer!).

## 3) Numerical Solution of Partial Differential Equations: Finite Difference Methods - G. D. Smith

As with the book below by Evans, Blackledge and Yardley, this text is not recent and is extremely theoretical. It covers parabolic, elliptic and hyperbolic PDE. Regarding parabolic PDE, which are most applicable to the quantitative analyst (since Black-Scholes is of parabolic classification), there is an extensive discussion on numerical stability of the methods. Non-linear parabolic PDE are even discussed. For hyperbolic PDE, the Lax-Wendroff method is utilised. For the elliptic equations, a good treatment is provided on iterative matrix methods, particularly Jacobi, Gauss-Siedel and SOR.

Although most quants will find the book somewhat dated and theoretical, it is useful for an alternative approach to the remaining "implementation" books. In particular, the stability analysis provides good insight into the FDM method, not usually gained by books geared towards programmatic development.

## 4) Numerical Methods for Partial Differential Equations - G. Evans, J. Blackledge, P. Yardley

*Numerical Methods for Partial Differential Equations* is a significantly more mathematical tome than the other items on this list, as would be expected, since it belongs within the Springer Undergraduate Mathematics Series. The book begins with some preliminary mathematics for matrices. It then discusses finite difference methods and parabolic equations, which will interest the readers of this list. However, it also discusses hyperbolic equations (used in compressible flow, for instance), with basic solution methods. This section does lack a discussion on the Riemann problem and associated Godunov solutions. The book then continues with elliptic problems with solutions of sparse matrix systems. The remainder of the book consists of describing the finite element method - applied to both ODEs and PDEs.

The book is heavy on theory and proof, which detailed discussions on stability analysis and the underlying mathematical tools (such as variational principles). If one is interested in the details of the underlying theory, this is a great book. However, it does not delve too deeply into the implementation, so for a practical quant, may not be 100% suitable for desk work.

## 5) Financial Instrument Pricing Using C++ - Daniel J. Duffy

*Financial Instrument Pricing using C++* is Duffy's main text on practical implementation of PDE models with C++. This book is extremely comprehensive, covering an extensive amount of theory as well as practicalities. The book begins by reviewing the C++ Standard Template Library (STL) and motivating it with financial engineering examples. The author then proceeds to create some basic "building block" classes such as more suitable arrays/matrices, used later in the numerical linear algebra routines. Functions are modelled in C++, as are statistical distributions.

The remainder of the book concentrates on solving ordinary, stochastic and partial differential equations using an object-oriented approach. Many solution methods are discussed such as Crank-Nicolson, Jacobi and Gauss-Seidel. Design patterns are discussed (in the vein of Gamma et al.) and applications to finance are given. Finally, the book concludes with a section on "day to day" practical issues, such as interfacing with Excel. The book spends a great deal of time creating a sophisticated object-oriented (i.e. extensible) solver for partial differential equations. UML diagrams are used frequently, allowing one versed in the language to observe the structural nature of the objects.

For any quants who utilise PDE methods on a day-to-day basis, the book will be an invaluable reference on the desk.

I've also created a numerical methods bookshop, with many more finite difference methods books.