I have following Heston model with stochastic short rate: \begin{eqnarray*}dS\left(t\right)&=&r\left(t\right)S\left(t\right)dt+\nu\left(t\right)S\left(t\right)dW^{S}\left(t\right)\\dr\left(t\right)&=&\beta\left(\alpha-r\left(t\right)\right)dt+\sigma\sqrt{r\left(t\right)}dW^{r}\left(t\right)\\d\nu\left(t\right)&=&\kappa\left(\theta-\nu\left(t\right)\right)dt+\xi\sqrt{\nu\left(t\right)}dW^{\nu}\left(t\right)\end{eqnarray*}

where all Wiener processes can be correlated. How can I calibrate this model? I heard that if short rate is not correlated with stock price process, then we can firstly calibrate short rate (how to do this? which instruments should we use?) and then calibrate stock process to for example call option prices. Why this is possible only when these two components are not correlated? What is the correlation between stock and interest rate in practice? If we have correlated stock and interest rate, how to calibrate this model?

  • 2
    $\begingroup$ Hi, I think you have an error in your price process formula, it should be $\sqrt{v_t}$ for the stochastic part instead of plain $v_t$. $\endgroup$ May 3, 2021 at 9:13

1 Answer 1


If we take your model literally (with the correction that I suggested as a comment), then there exists no (semi-)closed form, IMHO, that you can use for asset pricing. What you could do is then to make the model a bit simpler or to simulate.


This is the nasty part. Based on your model, you simulate a very large number of the discount factor(s) and asset prices and price your reference options as average discounted payoffs. Keeping the random seed fixed, of course. Then you calibrate the model parameters trying to minimize some function of the pricing errors.

Decrease complexity and gain tractability

If you could work with a slightly simpler version, you could use the standard machinery of European type derivatives valuation under affine diffusion processes.

You might assume zero correlations between the risk free rate and asset / variance stochastics, i.e. $\mathrm{E}(dW_S(t)dW_r(t))=\mathrm{E}(dW_v(t)dW_r(t))=0dt$ and recover the models that you have already quoted in your question. Or you could reformulate your model as:

$$ \begin{eqnarray*}dS\left(t\right)&=&r\left(t\right)S\left(t\right)dt+\color{red}{\sqrt{\nu\left(t\right)}}S\left(t\right)dW^{S}\left(t\right)\\ dr\left(t\right)&=&\beta\left(\alpha-r\left(t\right)\right)dt+\sigma\color{red}{\sqrt{\nu\left(t\right)}}dW^{r}\left(t\right)\\d\nu\left(t\right)&=&\kappa\left(\theta-\nu\left(t\right)\right)dt+\xi\sqrt{\nu\left(t\right)}dW^{\nu}\left(t\right)\end{eqnarray*} $$

In this formulation, the three processes share the same variable driving their variance, $\nu(t)$. Hence the process' covariance structure, after transforming $S_t\to ln(S_t)\equiv y_t$,

$$ \mathrm{E}(dXdX^T)=\mathrm{E}\begin{pmatrix}dy_tdy_t&dy_tdr_t&dy_td\nu_t\\ dy_tdr_t & dr_tdr_t & dr_tdy_t\\ dy_td\nu_t & dr_td\nu_t & d\nu_td\nu_t\end{pmatrix}=\nu_t\begin{pmatrix}1&\sigma\rho_{S,r}&\xi\rho_{S,\nu}\\ \sigma\rho_{S,r}&\sigma^2&\sigma\xi\rho_{r,\nu}\\\xi\rho_{S,\nu}&\sigma\xi\rho_{r,\nu}&\xi^2\end{pmatrix}dt $$

This is linear in $X_t$, i.e. in $\begin{pmatrix}y_t\equiv \ln(S_t)&r_t&\nu_t\end{pmatrix}^T$.

From here, you could, quite traceably, derive the discount bond pricing equations and the characteristic equations of the option price formula, plug everything into some Fourier transform method. As a result, you obtain tractable (quasi) closed form bond and option pricing formulas that can be calibrated to observed prices.

HTH a bit?

NB: One question will remain for the practitioner: Which financial instrument out there will yield information to pinpoint the relationship between the innovation in the short rate and the innovation in the stock prices?

  • $\begingroup$ Thanks for your answer. So if I assume that only stock price and volatility are correlated, then I can calibrate short rate to market data separately. But how to calibrate this CIR model, i.e. find $r_0,\alpha,\beta,\sigma$? Which market data use? In CIR model we have formula for zero coupon bond prices, co can we minimalize differences between bond prices from marketa and bond prices from model? Where can I download bond prices? Or maybe another instrument should be used for calibration? $\endgroup$ May 4, 2021 at 11:09
  • $\begingroup$ Yes, you minimize the distance between observed (zero coupon) bond prices and your model prices in order to calibrate the short rate model parameters. But: Of what use would these parameters be to you if your processes are not correlated in the first place? Also, if all else fails, you could imply the risk free discount factors directly from observed put and call prices thru the Put-Call-Parity. $\endgroup$ May 4, 2021 at 14:34
  • $\begingroup$ Where can I get zero coupon bond prices for my calibration? In Shoutens (2003) I found that we can first calculate bond price, then we can compute yield to maturity from formula $r_t(T)=-\frac{1}{T-t} \ln{P_t(T)}$ and we can minimalize the difference between yield from the market and yield from our model. Is it okay? $\endgroup$ May 4, 2021 at 15:42
  • $\begingroup$ I suggest that you have a look at the relevant literature / books; but yes, that is a possible and meaningful Ansatz. $\endgroup$ May 4, 2021 at 16:22

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.