Finite Difference Methods are a family of numerical techniques to solve partial differential equations (PDEs). They do this by discretizing the continuous equation in the spatial dimensions (forming a multidimensional grid), and then iteratively evolving the system over a series of N discrete time steps. The result is a discrete solution for each individual grid point.
In the provided solver, the PDE is the Heston Pricing Model [HESTON1993]. Using the naming conventions of Hout & Foulon [HOUT2010], the PDE is given as:
Where:
\(u\) - the price of the European option;
\(s\) - the underlying price of the asset;
\(v\) - the volatility of the underlying price;
\(\sigma\) - the volatility of the volatility;
\(\rho\) - the correlation of Weiner processes;
\(\kappa\) - the mean-reversion rate;
\(\eta\) - the long term mean.
The Heston PDE then describes the evolution of an option price over time (\(t\)) and a solution of this PDE results in the specific option price for an \((s,v)\) pair for a given maturity date \(T\). The finite difference solver maps the \((s,v)\) pair onto a 2D discrete grid, and solves for option price \(u(s,v)\) after \(N\) time-steps.