Finite Difference method
Finite Difference is considered one of the most accurate method for option pricing as it has been perfected over the years on thermodynamic equations. The Black & Scholes equation is a modified form of the Heat equation, hence most of the techniques that come from solving diffusion equations can easily be applied to the Black & Scholes par- tial differential equation.
As per theory the sigma variable can be a function of (S,t). Similarly r can be a function of t. Many people con- fuse that the Black & Scholes equation is applicable only for constant volatility. Basically the solution derived for call/put formulas is true for constant volatilities and interest rates, but the equation is generic.
Any partial differential equation can be solved by iteration, but we should know the boundary conditions. Boundary conditions are known solutions of the option at expiry. For example a call option has the price Max(Spot - Strike,0) at expiry. This is one of the boundary conditions.
Discretization
Our solution is in 2D space (spot and time) or V(S,t) hence we use a grid for calculating the derivatives. Each of the derivatives in the PDE can be calculated using numerous techniques. The one we use are as follows
(Based on Saul’ev Diffusion)
Here
n denotes the time step on the grid, and i denotes the spot step on
the grid. n+1 is the next step which we need to calculate based on
the previous step. Second derivative is calculated using
This
is called the diffusion term. The other term or the first derivative
is called the convection
term and is calculated as,
We solve the equation from expiry to time zero. At expiry we know the option value so we move backwards in time. In spot space we can either go from ZERO to MAXSPOT or from MAXSPOT to ZERO. The first one is called UP- STREAM, and second one is called DOWNSTREAM.
UPSTREAM Equation
To make it easier to solve, we group terms and derive the upstream equation. Same analysis can be repeated for downstream.
Substituting the derivatives into the Black & Scholes equation
Assume
Transfering terms and some manipulations we get the following
Similarly for downstream I will get,
Solving the PDE
Any exotic / vanilla option can easily be solved by fitting the correct boundary condition. We always start at expiry and proceed in finer time steps and spot steps to approach the solution
A European digital will just have at expiry the condition
V(i,0) = 1
An american digital on the other hand will have the pay-off V(i,j) = 1 where j is any possible time step
Once the boundary conditions are set we use the above UPSTREAM and DOWNSTREAM formulas for alternating time steps. Apart from these boundary conditions we re- quire two extra conditions for the lowest and highest point in the spot space.
At spot 0 we can easily turn off the diffusion operator as the discounting effect dominates.
V(0,j) = V(0,j-1) x (1 – r dt)
How to choose time step ds and dt? Stability Conditions and more in the next post!