# Finite Differences for option pricing

#### d.koutsomito

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.

Thanks.

#### Weiyi CHEN

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 Diﬀerence 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:

#### d.koutsomito

I have now a guide and enough material to study further.

Thank you both very much.

#### Daniel Duffy

##### C++ author, trainer
FDM is also used to approximate SDEs, but the theoretical foundations are trailing behind those for PDEs.

#### d.koutsomito

FDM is also used to approximate SDEs, but the theoretical foundations are trailing behind those for PDEs.
Do you mean by solving the PDE of the drift of the SDE?

If not, could you propose any material on this topic too?

Last edited:

#### Daniel Duffy

##### C++ author, trainer
Do you mean by solving the PDE of the drift of the SDE?

If not, could you propose any material on this topic too?
See the above links where there is more.

#### Bastian Gross

##### German Mathquant
In large dimension PDE-solving could be really expensive.
So be tricky and use reduced basis methods.

#### Daniel Duffy

##### C++ author, trainer
In large dimension PDE-solving could be really expensive.
So be tricky and use reduced basis methods.
in 32-bit a 4d pde won't even fit into the memory!

#### ExSan

in 32-bit a 4d pde won't even fit into the memory!
could you please explain why ? -sample-

#### MEqnet

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.

#### ExSan

make a nXmXpXq 4-d array
m = ? n = ? p = ? q = ?
I have tested a 4-D and n-D arrays for not so small values, my own abstract data structure

#### Daniel Duffy

##### C++ author, trainer
m = ? n = ? p = ? q = ?
I have tested a 4-D and n-D arrays for not so small values, my own abstract data structure
n >= 50 etc.

Using Boost::multi_array in the past with a few objects brought my PC to a halt!

#### 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.

#### Attachments

• Duffy.pdf
227.4 KB · Views: 53
Last edited:

#### PepeQuant

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!

Replies
30
Views
2K
Replies
1
Views
423
Replies
0
Views
531
Replies
7
Views
2K
Replies
2
Views
977