I am new to stochastic volatility and Heston model and I don't understand why would a price of a call option involve complex numbers. I can see technically why but I don't see the intuition.

I was looking at this article http://www.rogerlord.com/complexlogarithmsheston.pdf and I was wondering :

1 - How would one compute numerically the integral in equation (1) in the article?

2 - Would the integral yield a real number surely?


  • $\begingroup$ See the Re in front of the integral? This is the real part ensuring that the option price is always a real number. The residual correction $R_\alpha(F,K)$ is real, as well. So, option prices are not complex valued. But one can integrate in the complex plane to obtain the option price via Fourier inversion. The Fourier transform of the density function is called characteristic function and this leads you immediately to complex valued functions $\endgroup$
    – Kevin
    Commented Mar 21, 2020 at 21:31
  • $\begingroup$ Than you. Your explanation is very helpful. Maybe you could give me hint how to compute the characteristic function numerically? I don't find result googling that $\endgroup$
    – user44791
    Commented Mar 21, 2020 at 22:13
  • $\begingroup$ No problem, I give the formula below. Just write a function which outputs the char fun at a number $u$ given the parameter values $r$, $\kappa$, etc. Rouah (2013) wrote a book which is only about the Heston model and provides lots of example code for C++ and Matlab. $\endgroup$
    – Kevin
    Commented Mar 21, 2020 at 22:22
  • $\begingroup$ Thanks a lot. I downloaded Rouah's book and it has many code example. It is exactly what I am looking for. Thank you again $\endgroup$
    – user44791
    Commented Mar 21, 2020 at 22:28

1 Answer 1


In the Heston (1993) model, the stock price is defined by the SDE system \begin{align*} \mathrm{d}S_t&=(r-q) S_t \mathrm{d}t+\sqrt{v_t} S_t \mathrm{d}W_{1,t}, \\ \mathrm{d}v_t&=\kappa(\theta-v_t) \mathrm{d}t+\xi \sqrt{v_t} \mathrm{d}W_{2,t}, \end{align*} where $\mathbb{E}^\mathbb{Q}[\mathrm{d}W_{1,t}\mathrm{d}W_{2,t}]=\rho\mathrm{d}t$. So, I assume all parameter are given under the risk-neutral measure, The characteristic function of the log stock price $\ln(S_t)$ under the risk-neutral measure $\mathbb{Q}$ is given by \begin{align*} \varphi_t^\text{Heston}(u) &= \exp\big( \ln\big(S_0e^{(r-q)t}\big)iu + C_t(u) + D_t(u)\cdot v_0 \big), \end{align*} where \begin{align*} C_t(u) &= \frac{\kappa\theta}{\xi^2} \left(\big( h(u)+d(u)\big) t - 2\ln\left(\frac{1-g(u)e^{d(u)t}}{1-g(u)}\right) \right),\\ D_t(u) &= \frac{h(u)+d(u)}{\xi^2}\cdot\frac{1-e^{d(u)t}}{1-g(u)e^{d(u)t}}, \\ g(u) &= \frac{h(u) + d(u)}{h(u)-d(u)}, \\ h(u) &= \kappa - \rho\xi \cdot i u, \\ d(u) &= \sqrt{h(u)^2+\xi^2\big(i u + u^2\big)}. \end{align*}

There are some numerical issues about the Heston chararcteristic function. Just google ``little Heston trap''. The author of the paper in your question, Roger Lord, alongside Kahl and Jäckel, did some research on this. The simplest case seems to be the adjustment from Albrecher et al. (2007) and Gatheral (2006).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.