Pricing European Options with Characteristic Functions
Summary
The discussion explains how Fourier transforms and characteristic functions can price European options when the underlying log-price density is difficult to obtain directly. It starts from the discounted expected payoff, expresses that expectation as an integral over the terminal log price, and replaces the density calculation with a Fourier-domain calculation using the characteristic function of log returns.
For a call, the payoff is exponentially damped so its Fourier transform exists; the resulting transform can be combined with the characteristic function in an integral for the price. The responses describe how this integral can be discretized for fast Fourier transform calculations, which can produce prices across multiple strikes. A Black–Scholes example is cited as reproducing the stated benchmark price. The explanation is introductory rather than implementation-ready: damping conventions, transform signs, parameter constraints, discretization accuracy, and model-specific characteristic functions require care. The replies also point to other references but do not assess their methods.
Key ideas
- Option value can be written as a discounted expectation of the terminal payoff.
- Characteristic functions can replace explicit transition-density calculations in Fourier-based pricing.
- Exponential damping makes the call payoff transformable under suitable parameter conditions.
- The pricing integral can be discretized for FFT-based calculations across multiple strikes.
- Transform conventions and numerical settings affect implementation and require validation.
Tags
Full text
# From Fourier Transforms to Option Values
# From Fourier Transforms to Option Values
I am trying to understand how Fourier transforms & Characteristics functions can be used to calculate option values.
However, I am having difficulty following the process that is used in several introductory papers like: Carr & Madam, Liuren Wu, Schmelze or Chourdakis (chapter 4)
In order to obtain an intuitive understanding of this method, it will be very helpful if someone could provide me with an example on how to calculate option prices using this pricing technique.
Since this is not homework, any intuitive example will be greatly appreciated.
EDIT: as a potential example, consider that we want to estimate the fair value of an European call option struck at $K = 12$ and with time to maturity $T = 2$ years. The underlying asset $S$ has initial price $S_0 = 10$ and its returns volatility is $\sigma = 0.25$. The risk free rate is $r = 0.05$.
For the previous example, the Black-Scholes equation indicates that the option fair value should be $1.07$. How can I reproduce this result using Fourier transforms?
## Answer by dmanuge (score 9, accepted)
https://quant.stackexchange.com/a/9360
When the pdf of a distribution is not known analytically, it's common to compute by taking the inverse Fourier transform of its characteristic function. The same idea applies here. Consider the discounted expectation formula of a European option $$V (S,\tau) = e^{-r\tau} \mathbb{E}_{x_0} [\theta(x_T)] $$. for log prices $x$ and time to expiry $\tau=T-t$. In integral form this is $$V (S,\tau)= e^{-r\tau} \int_{-\infty}^\infty \theta(x_T) f(x_T|x_0) dx_T $$ where $f(x_T|x_0)$ is the transition probability density (i.e. probabiltiy of reaching $x_T$ given $x$). For assets following certain distributions, $f$ can be hard to find analytically and may not even exist (consider the stable distribution). However, for the large majority of distributions used in finance, the Fourier transform (or characteristic function) is. So recasting the pricing problem in the Fourier domain is quite natural. Let's do this by applying the Fourier transform to the discounted expectation formula. Introduce the damping $\exp (\alpha x)$ so that $\exp (\alpha x) \theta(x) \in \mathbb{L}^2(\mathbb{R})$ \begin{align} \hat{V} (S,\tau) &= e^{-r \tau} \mathcal{F} \{\mathbb{E}_{x_0} [e^{\alpha x} \theta(x_T)] \} \\ &= e^{-r\tau} \mathbb{E}_{x_0} [\hat{\theta}_\alpha(x_T) ] . \end{align} By Fourier inversion \begin{align} V(S, \tau) &= e^{-r\tau} \mathcal{F}^{-1} \{ \mathbb{E}_{x_0} [\hat{\theta}_\alpha (x_T) ] \} \\ &= \frac{e^{-r\tau}}{2 \pi} \int_{-\infty+i \alpha}^{\infty+i \alpha} \hat{\theta}_\alpha (x_T) \mathbb{E}_{x_0} [e^{iux_T}] dx_T \\ &= \frac{e^{-r\tau}}{2 \pi} \int_{-\infty+i \alpha}^{\infty+i \alpha} \hat{\theta}_\alpha (x_T) \mathbb{E}_{x_0} [e^{iux_T-iux_0+iux_0}] dx_T \\ &=\frac{e^{-r\tau}}{2 \pi} \int_{-\infty+i \alpha}^{\infty+i \alpha} \hat{\theta}_\alpha (x_T) \phi(u;T) e^{iux_0} dx_T \end{align} where $\phi(u;T):=\mathbb{E}_{x_0} [e^{iu(x_T-x_0)}]$ is the characteristic function of the log price process.
To address your question of computation, MATLAB code is available for the Carr and Madan method. Using the MAIN FUNCTION and the characteristic function LIBRARY, you can call the function (untested):
CallPricingFFT('BlackScholes',14,10,12,2,0.05,0)
which will return your call option price of 1.073389...
## Answer by BlueTrin (score 8)
https://quant.stackexchange.com/a/9324
Aleš Černý has very simple examples in his book. Alternatively, this paper seems to recap part of the chapter on Fourier series:
Introduction to Fast Fourier Transform in Finance - Aleš Černý
## Answer by Jonas K (score 6)
https://quant.stackexchange.com/a/9252
I think this blog post is quite good at explaining option pricing via fourier transforms.
## Answer by Freakalien (score 5)
https://quant.stackexchange.com/a/9339
Let $C$ be the price of the option, $S_t=S_0e^{X_t}$ be the stock price, $r$ be the risk-free rate, $K$ be the strike price, $T$ be the maturity time, $m=S_0/K$, $f$ be the density of $X_T$ and $\phi$ be the characteristic function $E(e^{i\xi X_T})$ which we assume is known.
$$ C = e^{-rT}E((S_T-K)^+) = e^{-rT}S_0\int_{-\infty}^\infty \left(e^x-m\right)\mathbb{I}_{\{x>\ln(m)\}}f(x)dx \\ = e^{-rT}S_0\int_{-\infty}^\infty e^{-ax}\left(e^{ax}\left (e^x-m\right)\mathbb{I}_{\{x>\ln(m)\}}\right)f(x)dx. $$
We exponentially damp the payoff is order to ensure its Fourier transform exists. Then we re-write the last in terms of the inverse Fourier transform of the Fourier transform of the damped payoff. Note that the damped payoff is integrable so long as $a<-1$.
Now the Fourier transform of the damped payoff is $$ \mathcal{F}\left(e^{ax}\left (e^x-\frac{K}{S_0}\right)\mathbb{I}_{\{x>m\}}\right):=h(\xi) = \frac{m^{1+a+i\xi}}{(a+i\xi)(1+a+i\xi)} $$ which then allows $$ C = e^{-rT}S_0\int_{-\infty}^{\infty}e^{-ax}\left( \frac{1}{2\pi}\int_{-\infty}^{\infty} h(\xi)e^{-ix\xi}d\xi \right) f(x)dx \\ = e^{-rT}S_0 Re\left( \int_{-\infty}^{\infty}e^{-ax}\left( \frac{1}{\pi}\int_{0}^{\infty} h(\xi)e^{-ix\xi}d\xi \right) f(x)dx \right) \\ = \frac{e^{-rT}S_0}{\pi}Re\left( \int_{0}^{\infty} \left( \int_{-\infty}^{\infty}f(x)e^{i(ia-\xi)x}dx \right)h(\xi)d\xi \right) \\ = \frac{e^{-rT}S_0}{\pi}S_0\ Re \left( \int_{0}^{\infty} \phi(ia-\xi)h(\xi)d\xi \right). $$ The second step here is justified because the damped payoff is real. Hence $h$ is even in its real part and odd in its imaginary part. The third step requires Fubini's theorem which holds in most cases of interest.
This expression can be used immediately to price a single option or allows discretisation in a form compatible with the FFT. If you use the FFT with $N$ discretisation points the output will be $N$ option prices calculated for $N$ levels of $m$ (which may be useful for calibration).
See Pascucci (2011) PDE and martingale methods in option pricing (chapter 15) for more details and for a newer method using cosine expansions.
P.S. I have added an image of some simple Mathematica code for the GBM case.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.