I am studying the Heston model. I have not had time to read the detailed derivation of the formula to compute option prices. The formula is given according to this thread: Heston Model Option Price Formula

I want to compute the delta of the option priced under Heston model: By looking at this expression, having read the thread on the link it seems the $S_t$ does not make part of $P_1$ and $P_2$ \begin{align} C(t\,,{{S}_{t}},{{v}_{t}},K,T)={{S}_{t}}{{P}_{1}}-K\,{{e}^{-r\tau }}{{P}_{2}} \end{align} So that I could take the direct derivative:

\begin{align} \frac{\partial C(t\,,{{S}_{t}},{{v}_{t}},K,T)}{\partial S_t}=\frac{\partial{{S}_{t}}{{P}_{1}}-K\,{{e}^{-r\tau }}{{P}_{2}}}{\partial S_t}=P_1 \end{align}

I do not know if it is this simple. I read that I should use some "Homogeineity property" but I do not know what that means.


Couls someone help me on the computation of the delta of the option price under Heston model?

  • $\begingroup$ @Kevin It is perfect! Thanks! $\endgroup$ Commented Mar 20, 2021 at 22:48

1 Answer 1


Bad news: Your calculation is not quite correct

As you say, the initial price of a European call option is $$C(S_0;K,T)= S_0e^{-qT}\Pi_1-Ke^{-rT}\Pi_2. \tag{$\star$}$$ However, the exercise probabilities $\Pi_1$ and $\Pi_2$ depend on the stock price $S_0$ too! Thus, you need the product rule and the chain rule to differentiate the option price with respect to $S_0$. The same problem applies to the calculation of delta in the Black-Scholes model. This makes the calculation a bit lengthy, see here.

Note that formula $(\star$) applies to many models, not just the Black-Scholes model and the Heston model. The formula equally applies to the CEV model, the jump-diffusion models from Merton and Kou, pure jump processes (e.g. variance gamma model), etc. etc. It is a consequence of the change of numéraire technique.

Good news: Option prices are homogeneous of order one

Suppose the stock price is modelled as $S_t=S_0e^{X_t}$, where $X_t$ is a stochastic process normalised to $X_0=0$ which does not depend on $S_0$. Thus, doubling today's stock price also doubles future stock prices. While not every model satisfies this property, a great deal do (e.g. all the ones I mentioned above). Recall that risk-neutral pricing suggests \begin{align*} C(S_0;K,T)=e^{-rT}\mathbb{E}^\mathbb{Q}_0\left[\max\{S_T-K,0\}\right]. \end{align*} Homogeneity of order one simply means that for any $\lambda>0$, \begin{align*} C(\lambda S_0;\lambda K,T)=e^{-rT}\mathbb{E}^\mathbb{Q}_0\left[\max\{\lambda S_T-\lambda K,0\}\right]=\lambda C(S_0;K,T). \end{align*} Differentiating both sides with respect to $\lambda$ (using the multivariate chain rule) gives $$ S_0\frac{\partial C}{\partial S_0}+K\frac{\partial C}{\partial K}=C. \tag{$\star\star$}$$ Comparing the coefficients in Equations ($\star$) and $(\star\star$), we get \begin{align*} \frac{\partial C}{\partial S_0} &= e^{-qT}\Pi_1>0,\\ \frac{\partial C}{\partial K} &= -e^{-rT}\Pi_2<0. \tag{$\star\star\star$} \end{align*}

Some notes

Because $\Pi_1$ and $\Pi_2$ are probabilities and bounded between 0 and 1, we know that so is a call option's delta (ignoring dividend yields). You can use the put-call-parity to get a similar result for European put options. The calculation above is closely linked to Euler's Theorem on homogeneous functions. If you calculate $\Pi_1$ as an improper integral of the characteristic function of the log-stock price, $\varphi$, you can compute delta explicitly via $\frac{\partial \varphi(u)}{\partial S_0}=\frac{iu}{S_0}\varphi(u)$, which holds for homogeneous stock price models.

Equation ($\star\star\star)$ links the risk-neutral distribution function, $\Pi_2$, to an (observable) derivative of call option prices. Differentiating this equation once more with respect to the strike price $K$ yields the celebrated result from Breeden and Litzenberger (1978).


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.