When calibrating the Heston model for instance;

\begin{align} d S_{t}=\mu S_{t} d t+\sqrt{\nu_{t}} S_{t} d W_{t}^{S} \\ d \nu_{t}=\kappa\left(\theta-\nu_{t}\right) d t+\xi \sqrt{\nu_{t}} d W_{t}^{\nu} \end{align}

one will achieve risk-neutral parameters since we are extrapolating from benchmark instruments. But are these parameters daily or annual? For instance if I get $\kappa = 0.5$, does this mean on a yearly basis or daily?

  • 3
    $\begingroup$ It depends in what you are expressing your $t$ units in. If these are year fractions then yes all parameters are "annualised" (e.g. $\mu$ is the average annualised return). $\endgroup$
    – Quantuple
    Mar 17, 2020 at 8:12
  • $\begingroup$ @Quantuple I dont have any stock data, so I dont express $t$. I calibrate with call and put options. Should I use dates my options are collected or expiration dates? $\endgroup$
    – siktir
    Mar 17, 2020 at 9:36

1 Answer 1


There are many ways to estimate model parameters.

In your case, if you're going to use only option data, I strongly suggest defining your pricing error in the (Black-Scholes-Merton) implied volatility space. Specifically, I would minimise this: \begin{equation} \frac{1}{N} \sum_{i=1}^N \left( IV(C_{it}^\text{model}, \Theta) - IV(C_{it}^\text{observed}) \right)^2 \end{equation} where $\Theta$ is a vector of relevant parameter values. In other words, you invert the BSM formula on model and observed price and you try to get the best fit to the volatility surface.

Now, if you do this, you have to think that pricing is (usually) done in the Q measure, not the P measure. In other words, you have to use the risk-neutral dynamics where the expected growth rate of your stock is the risk-free rate of return. What you show us here is the Heston (1993) model. His original paper gives you a choice for the pricing kernel based on a consumption model, the resulting risk-neutral dynamics for both the price and volatility processes, as well as the equations you need to price European call options by the inverse Fourrier transform. In essence, what you are showing us here would usually be interpreted as the physical and not the risk-neutral process.

As people say, you will have to make a choice for what $\Delta t=1$ units means. In particular, in your risk-neutral process, the risk-free rate will appear... For option pricing, it's not worth bothering modeling its dynamics (see, Bakshi,Cao and Chen 1997 for example), so we just use the rate as a given: you look for the yield on something like a US Treasury bond and you pick one with the maturity which best matches the time to maturity of your option contract. If you express this in annual values, then everything else will be expressed in annual values. For convenience, people usually think of a trading day as $\Delta t$ when talking about weeks and months long option contracts. So, you could take the annualized yield and divide it by either 252 or 365, depending on whether you want to think in business days or just days.


You can also proceed to a sequential estimation where you fit historical returns and, then, estimate only the parameters of your pricing kernel (i.e., what is missing to risk-neutralize the model). Likewise, you could perform a joint estimation where you fit both returns and option contracts. Usually, people do this by weighting two likelihood functions -- one in returns, the other in implied volatility pricing errors, weighted by their respective number of observations.

Personally, I'd say it's an asburd waste of time doing either of these things with a continuous time SV model: you need to discretize the model and you need to use filtering methods for the likelihood for returns. If you want to do any of this, I strongly suggest using state-of-the-art GARCH option pricing models. You'll get to have equivalents to time-varying intensity jumps, highly persistent volatility dynamics, etc. but it will run several thousand times faster.


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.