  This paper presents an algorithm for a complete and efficient calibration of
the Heston stochastic volatility model. We express the calibration as a
nonlinear least squares problem. We exploit a suitable representation of the
Heston characteristic function and modify it to avoid discontinuities caused by
branch switchings of complex functions. Using this representation, we obtain
the analytical gradient of the price of a vanilla option with respect to the
model parameters, which is the key element of all variants of the objective
function. The interdependency between the components of the gradient enables an
efficient implementation which is around ten times faster than a numerical
gradient. We choose the Levenberg-Marquardt method to calibrate the model and
do not observe multiple local minima reported in previous research.
Two-dimensional sections show that the objective function is shaped as a narrow
valley with a flat bottom. Our method is the fastest calibration of the Heston
model developed so far and meets the speed requirement of practical trading.
