• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

Finite Differences for option pricing

Hello there,

I would like to know how efficient and how popular is to price options using finite difference methods. If I am not wrong, finite differences are used for their PDEs. If it is not the best way to do so, can you suggest any?

I am looking forward to your opinion.

Yes, FD methods are generally used to approximate the solutions of certain PDEs, numerically. I'm not sure it's the most efficient one when solving PDEs but certainly it's widely used in industry at least currently. The reason why FD methods are a popular choice for pricing options is that all options will satisfy the Black-Scholes PDE. Finite Difference methods can be applied to American Options and they can also be used for many exotic contracts.

Most popular FD methods in computational finance includes Explicit Euler, Implicit Euler, CN method and so on. Each FD method has its pros and cons, so they are used in different situations. For example, Explicit Euler is unstable for certain choices of domain discretisation, while Implicit Euler and CN are unconditionally stable with respect to the domain discretisation though solving linear systems of equations. So in short, FD methods has powerful abilities to solve PDEs when you're able to adjust your explicit strategy according to given conditions, I can't see it would become less populars in recent future, personally speaking.
Last edited:

Bastian Gross

German Mathquant
In large dimension PDE-solving could be really expensive.
So be tricky and use reduced basis methods.
I've seen people recommend using eigendecomposition to knock out the cross terms for BS multi-asset options, then apply a standard ADI method after making some change-of-variables. I haven't seen this implemented for a stochastic vol term, although there is a paper floating out there the applies extended ADI methods to the Heston model.

Out of curiosity, what type of option are you trying to value? 'Efficiency' beyond that of your time marching scheme may start with how you discretize your domain.

Daniel Duffy

C++ author, trainer
Here is an overview article on PDE/FDM. It was written for a mathematically savvy audience in academia, not necessarily in computational finance.


  • Duffy.pdf
    227.4 KB · Views: 53
Last edited:
To solve multi-dim PDEs, you can either reduce the dimension...most of the case X2/X1 or...sometimes X/P(t, T)... if none of them works, try to use operator splitting method

Daniel Duffy

C++ author, trainer
update: I just took a quick look and it is very similar to operator splitting method

Until you get to know it; it's like learning the names of trees or birds :)

Soviet Splitting originated in USSR 1960s; ADE originated there in the 1950s!