When Characteristic Functions Support Fourier Option Pricing
Summary
The document discusses Fourier-based pricing of European calls using a model’s characteristic function. It presents an integral representation that expresses the call price through two probability terms and asks how the formula is derived, when it applies, and where to study it. The responses point to affine structure as a key condition: in such models, conditional characteristic functions can often be represented exponentially in state variables, with coefficients obtained recursively in discrete time.
Examples cited as compatible include Black–Scholes–Merton, Heston, and affine GARCH models, while a non-affine GARCH specification is given as a case where this approach does not apply in the same way. Simulation is suggested for that example. The discussion is brief and does not derive the integrals or establish a full applicability test for all models; it also recommends further reading for the mathematical details.
Key ideas
- Fourier option pricing can express a European call value using integrals of the model’s characteristic function.
- Affine structure is identified as a useful condition for obtaining conditional characteristic functions in tractable form.
- The responses cite Black–Scholes–Merton, Heston, and affine GARCH models as examples where the approach works.
- A non-affine GARCH example is described as requiring simulation instead of the same analytic method.
- The document points to references but does not derive the pricing formula in detail.
Tags
Full text
# Option pricing using characteristic function
# Option pricing using characteristic function
I'm currently on a mission trying to calculate option prices using the rough Heston model. I've found that this is usually done using the characteristic function of the model, but I must admit that I don't really understand which formulas that are applicable, and how they're derived. I feel quite comfortable with the math being a major in applied mathematics, but I'm having trouble finding nice references.
For example, in the paper "Optimal Fourier inversion in semi-analytical option pricing" they say that (where $\varphi$ is the characteristic function of the model):
"Knowing the characteristic function allows us to express the forward price of a European call with strike $K$ and maturity $\tau$ very similarly to the Black-Scholes price as $$ C(S,K,\tau) = F\Pi_1 - K\Pi_2, $$ with $F$ being the forward value of the underlying and $$ \Pi_1 := \frac{1}{2} + \frac{1}{\pi}\int_0^{\infty}Re\left(\frac{e^{-iuk}\varphi(u-i)}{iu\varphi(-i)}du\right). $$ The logarithm of the strike is denoted as $k=\ln(K)$. [...]. Moreover we have $$ \Pi_2 := \frac{1}{2} + \frac{1}{\pi}\int_0^{\infty}Re\left(\frac{e^{-iuk}\varphi(u)}{iu}du\right)." $$
Is this formula applicable to all financial models? How is this formula derived? What are some good resources for learning more about this, in a structured and "mathematical way"?
Many thanks
## Answer by Stéphane (score 2)
https://quant.stackexchange.com/a/68431
The simplest reference would be Derivative Analytics with Python -- simple, concise and to the point about why this works and how to apply it. It also comes with Python code (bad inefficient, but illustrative code).
The key to "when" you apply this? It's useful when you can write the conditional characteristic function as an exponentially affine function of state variables. In discrete time models, you then have coefficients in there that you can back out recursively from the time at maturity. If I recall, something similar applies in continuous time.
I know this idea will work with Black-Scholes-Merton and with Heston's 1993 model. It also works with all so-called affine GARCH models in discrete time (e.g., Heston and Nandi, 2000). But it DOESN'T work with a non affine model like Duan's 1995 GARCH option pricing model (same as HN2000, but the volatility enters the return equation differently). For that one, your only choice is to simulate the model.
Also, note that this can be written using the imaginary rather than the real part in the integral, though it is less common. You can also look at the late Peter Christoffersen's webpage -- he has MATLAB codes for GARCH option pricing where he does what you want, but in discrete time models.
## Answer by Enrico Schumann (score 1)
https://quant.stackexchange.com/a/68422
You may want to have a look at this paper:
```
@ARTICLE{Bakshi2000a,
author = {Gurdip Bakshi and Dilip B. Madan},
title = {Spanning and Derivative-Security Valuation},
journal = {Journal of Financial Economics},
year = 2000,
volume = 55,
pages = {205--238},
number = 2
}
```Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.