I'm curious how an option pricing model like the Heston model is calibrated in practice.

Here's how I imagine it happens:

Let's say I have access to the most recent option prices on a given stock for $n$ strikes and $m$ expirations dates for each strike. Let now say it's the end of the business day, so I have a set of $n \times m$ closing prices $p$ each given by $p(K,\tau)$. The collection of all closing prices would be denoted $\{p(K_i,\tau_j)\}_{i,j=1}^{n,m}$.

I'm going to need to price options on this stock tomorrow, so let's calibrate Heston's model to this most recent closing data. For this, use some method of least squares optimization, finding the parameter values that best describes the price data. Whatever method I use, I calibrate Heston's model to the $n \times m$ data points of today.

Now, let's say I also have access to previous days' closing prices, say $d$ days, each with $n \times m$ prices. That's $d \times n \times m$ closing prices.

  1. Should I include all $d \times n \times m$ closing prices in my calibration? That is, should I try to fit Heston's model to $d \times n \times m$ data points? This seems like it would better capture the recent history of the option prices.

  2. Or, should I stick with the most recent data, perhaps relying on some efficient markets idea to argue this is all I need?

  3. Or, perhaps calibrate the model $d$ times, once to each day of data, build a distribution of parameters and pick the most likely parameters?

  4. Or,...

It seems there are many methods for calibration. I'd be excited to hear from those with experience on how they have seen it done!


3 Answers 3


The typical approach is: you only use option data from the last day. Furthermore, you only include those points that are liquid enough. One approach to this is to weigh the modelling error of an option by its bid-ask spread and vega.

Using data from multiple days is not a good approach, because you might have options with the same strike but different prices. The calibration might then get stuck at a point where neither market price is recovered by the calibrated model. Furthermore, there is no guarantee that option data taken over multiple days can form an arbitrage-free surface.

For liquid options the most recent data is enough, provided you don't just have at-the-money strikes.

It is not common for institutes to look at the uncertainty on the calibrated model parameters, but this is definitely a good thing to do. It might be difficult and time-consuming to implement a Bayesian-like optimization scheme though, which is why it is usually not done. It is more important to look at the effect of "what happens if I bump the volatility surface by 1%", or what happens if the interest rate shifts up or down by 10 bp.

Furthermore, the loss function usually has many local minima, and small changes in the option prices might put the global minimum in a completely different region in the parameter space. Put differently: smooth deformations of the market option prices can induce very discontinuous behaviour in the calibration parameters. As a result model parameters can jump on a day-to-day basis, even though the implied volatility surface hasn't change that much.

For more complicated models, that involve multiple underlying (e.g. interest rates and stocks: a Hull-White Heston model) it really becomes an art to properly calibrate the model. You often see that parameters like correlation are replaced by historical estimates instead, and the range of other parameters are severely restricted, simply because you might have a global minimum in a region with very unlikely parameters. It takes quite a bit of experience to figure out what instruments you should include in the calibration procedure.

See also this work by Homescu:



The Heston model is represented by the bivariate system of stochastic differential equations (SDE) \begin{align} & d{{S}_{t}}=rS_tdt+{\sqrt\upsilon_t} d{{W}_{1}}(t) \\ & d{{\upsilon}_{t}}=\kappa(\theta-\upsilon_t) dt+\sigma{\sqrt\upsilon_t}d{{W}_{2}}(t) \\ \end{align} The most popular way to estimate the parameters of the Heston model is with loss functions. This method uses the error between quoted market prices and model prices, or between market and model implied volatilities. The parameter estimates $\hat\Theta=(\hat\kappa, \hat\theta,\hat\sigma,\hat\upsilon_o,\hat\rho)$ are those values which minimize the value of the loss function, so that the model prices or implied volatilities are as close as possible to their market counterparts. A constrained minimization algorithm must be used in this regard so that the constraints on the parameters \begin{align} \kappa>0\ ,\ \theta>0\ , \ \sigma>0 \, \ ,\upsilon_0>0 \, \ , \,\rho\in[-1,1] \end{align} are respected. Since loss functions use market option prices (or implied volatility derived from those prices) as inputs, they produce estimates of the risk-neutral parameters of the Heston model.Suppose we have a set of $N_T $ maturities $\tau_i$($ i=1,2,...,N_T)$ and set $N_K$ strikes $K_k$ ($k=1,2,...,N_k$).For each maturity For each maturity-strike combination $(\tau_t,\ K_k)$ we have market price $P(\tau_t , K_k)$ and a corresponding model price $P(\tau_t , K_k;\Theta)=P_{t,k}^{\Theta}$ generated by the Heston model. Attached to each option is an optional weight $w_{t,k}$ . There are many possible ways to define a loss function, but they usually fall into one of two categories: those based on prices, and those based on implied volatilities. The first category of loss functions are those that minimize the error between quoted and model prices. The error is usually defined as the squared difference between the quoted and model prices, or the absolute value of the difference; relative errors can also be used. For example, parameter estimates obtained using the mean error sum of squares (MSE) loss function are obtained by minimizing \begin{align} \frac{1}{N}\sum_{t,k}w_{t,k}(P_{t,k}-P_{t,k}^{\Theta})^2 \end{align} with respect to $\Theta$ where $N$ is the number of quotes. The relative mean error sum of squares (RMSE) parameter estimates are obtained with the loss function \begin{align} \frac{1}{N}\sum_{t,k}w_{t,k}\frac{(P_{t,k}-P_{t,k}^{\Theta})^2}{P_{t,k}} \end{align} The second category of loss functions are those that minimize the error between quoted and model implied volatilities. Again, the error is usually defined as the squared difference, absolute difference, or relative difference, between quoted and model implied volatilities. This category of loss function is sensible, since options are often quoted in terms of implied volatility, and since the fit of model is often assessed by comparing quoted and model implied volatilities. Hence, for example, the implied volatility mean error sum of squares (IVMSE) parameter estimates are based on the loss function \begin{align} \frac{1}{N}\sum_{t,k}w_{t,k}(IV_{t,k}-IV_{t,k}^{\Theta})^2 \end{align} where $IV_{t,k}$ and $IV_{t,k}^\Theta$ are are the quoted and model implied volatilities, respectively. The relative and absolute versions can also be used.Estimation of the Heston model parameters by loss functions has been used by Bakshi, Cao, and Chen (1997), Bams et al. (2009), Christoffersen and Jacobs (2004), Mikhailov and No¨ gel, (2003), and many others. There is no consensus on which loss function is the best one, but Christoffersen and Jacobs (2004) point out that the same loss function should be used for parameter estimation and for evaluating model fit.

  • 5
    $\begingroup$ The application of Fourier transforms to option pricing is not limited to obtaining probabilities, as is done in Heston’s (1993) original derivation. As explained by Wu (2008), the literature approaches Fourier transforms in option pricing in two broad ways. The first approach considers option prices to be analogous to cumulative distribution functions. This is the approach adopted by Heston (1993), Carr and Madan (1999), Bakshi and Madan (2000), and others. The second approach considers option prices to be analogous to probability density functions. $\endgroup$
    – user16651
    Commented Jun 25, 2015 at 20:15
  • 4
    $\begingroup$ For calibration, a quick valuation, in particular, analytical approach, is preferred. What valuation method will you use for the Heston variance model calibration? $\endgroup$
    – Gordon
    Commented Jun 25, 2015 at 20:18
  • 5
    $\begingroup$ Carr and Madan (1999) present a derivation of the call price based on the Fourier transform. It offers advantages in terms of reduced computation time and an integrand that decays faster than the integrand of the original Heston (1993) formulation. $\endgroup$
    – user16651
    Commented Jun 25, 2015 at 20:19
  • 5
    $\begingroup$ This allows us to bypass the bisection algorithm entirely. Another remedy is to use the loss function described in Christoffersen et al. (2009), which serves as an approximation to the IVMSE. $\endgroup$
    – user16651
    Commented Jun 25, 2015 at 21:03
  • 5
    $\begingroup$ S&P , option price Microsoft Corporation , ... $\endgroup$
    – user16651
    Commented Jun 26, 2015 at 15:00

I know two papers explaining how to calibrate this kind of models, and one of them explain the impact of the quality of the fit on a pricing model:

I guess you should start by the second one. Authors have put numerical examples on the S&P 500 and the VIX.


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.