Learn

Finite-difference methods

Solving the pricing equation on a grid, and the trade-off between stability and simplicity.

Discretising the equation

Replace the derivatives in the Black-Scholes equation with differences on a grid of spot values \(S_j = j\,\Delta S\) and times \(t_n = n\,\Delta t\):

$$ \frac{\partial V}{\partial S} \approx \frac{V_{j+1} - V_{j-1}}{2\Delta S}, \qquad \frac{\partial^2 V}{\partial S^2} \approx \frac{V_{j+1} - 2V_j + V_{j-1}}{\Delta S^2} $$

The value at expiry is the payoff. Stepping backwards in time, each level is found from the one after it. Boundary conditions pin the edges: a call is worthless at \(S = 0\) and worth \(S e^{-q\tau} - K e^{-r\tau}\) for very large \(S\).

Three schemes

Write the spatial operator as \(L\). The theta-scheme is

$$ V^{n} - \theta\, L V^{n} = V^{n+1} + (1 - \theta)\, L V^{n+1} $$
  • Explicit, \(\theta = 0\). Each new value is a weighted sum of three old ones. No equations to solve, but stable only when \(\Delta t \lesssim 1 / (\sigma^2 M^2)\) for \(M\) spot steps. Fine grids need enormous numbers of time steps.
  • Implicit, \(\theta = 1\). A tridiagonal system every step, solved in linear time by the Thomas algorithm. Stable for any step sizes; first-order accurate in time.
  • Crank-Nicolson, \(\theta = \tfrac{1}{2}\). The average of the two. Stable and second-order accurate in time. The default choice, though the kink in the payoff can cause small oscillations near the strike.

American exercise

After each time step, replace every grid value by the larger of itself and the payoff. This projection is simple and works well; more careful methods solve the linear complementarity problem exactly at each step.

What you get

Unlike a tree or a simulation, a grid solve returns the option value at every spot and every time at once. Delta and Gamma are differences of neighbouring grid values, Theta the difference between two time levels. The heatmap on the solver page is that whole surface.

Try it. Select the explicit scheme and watch the solver raise the time-step count to stay stable. Then switch to Crank-Nicolson with the same spot grid and compare the errors.
Open the grid solver
Check your understanding

4 questions. Pick an answer for each, then check. Nothing leaves your browser session.

1. The explicit finite-difference scheme is

2. Crank-Nicolson is

3. American exercise on a grid is enforced by

4. The pricing equation is solved

Answer every question to check.
Numerical methods for option pricing, step 6 of 8

Finite differences

Discretise the pricing equation on a grid and roll back from expiry. Stability is the new concern.

An unhandled error has occurred. Reload ๐Ÿ—™

Reconnecting…

Your connection to Derivatives Lab dropped, probably a Wi-Fi blip. Hold on while it reconnects. Your inputs are kept.

The connection could not be restored. The page will reload in a few seconds and your inputs will reset.