Complex logarithms in Heston-like models

The characteristic functions of many affine jump-diffusion models, such as Heston’s stochastic volatility model and all of its extensions, involve multivalued functions like the complex logarithm. If we restrict the logarithm to its principal branch, as is done in most software packages, the characteristic function can become discontinuous, leading to completely wrong option prices if options are priced by Fourier inversion. In this paper we prove without any restrictions that there is a formulation of the characteristic function in which the principal branch is the correct one. Seen as this formulation is easier to implement and numerically more stable than the so-called rotation count algorithm of Kahl and Jäckel [2005], we solely focus on its stability in this article. The remainder of this paper shows how complex discontinuities can be avoided in the Variance Gamma and Schöbel-Zhu models, as well as in the exact simulation algorithm of the Heston model, recently proposed by Broadie and Kaya.

“Why the rotation count algorithm works” is the initial version of this paper.