Skip to content
All library documents

When Heston Call Prices Have Black–Scholes Implied Volatility

Article Quant Q&A · Author: MA-

Summary

The document explains when a European call price from a Heston model can be represented by a Black–Scholes implied volatility. It states that the Heston asset-price and variance processes do not generally have explicit pathwise solutions, though Fourier methods can provide option prices. The main existence argument is based on the Black–Scholes call price: for fixed inputs, it rises with volatility from the intrinsic-value limit toward the call’s upper no-arbitrage bound. A price within that range therefore has an implied volatility.

A failed calculation may indicate that a simulated option price falls outside the no-arbitrage range, perhaps because of Monte Carlo error, or that the numerical root finder did not converge. The suggested checks are to verify the price bounds, use a robust method such as bisection, and consider pricing out-of-the-money options to reduce floating-point accuracy problems at extreme strikes. The discussion is conceptual; it does not specify a Monte Carlo error-control method or a particular root-finding implementation.

Key ideas

  • A Heston model does not generally provide explicit pathwise solutions for its asset and variance processes.
  • Fourier methods can be used to obtain Heston option prices.
  • A Black–Scholes implied volatility exists when the option price lies within its no-arbitrage bounds.
  • Monte Carlo pricing error can push an estimate outside those bounds and prevent inversion.
  • A robust root solver and out-of-the-money option prices can help with numerical failures.

Tags

Full text
# Does Implied Volatility always exist?


# Does Implied Volatility always exist?












I am considering a simple Heston Model Market with one risky and one riskless asset.

The dynamics of the riskless asset is simply $dB_t=r*B_t*dt$

The dynamics of the risky asset is as follows,

$ dS_t=r*S_t*dt+\sqrt{V(t)}*S_t*dW_t, S_0>0 $

$ dV_t= \alpha*(\beta-V_t)*dt+\gamma*\sqrt{V_t}*dW^{\rho}_t, V_0=\sigma^2 $

$ W^{\rho}_t = \rho*W_t +\sqrt{1-\rho^2}*W^*_t $

where $W_t,W^*_t$ are independent standard one-dimentional Brownian Motion.

I want to ask firstly, whether there exist a explicit solution for $S_t$ and $V_t$. If yes, can you please tell me what is it and how to find it.

Secondly, when i simulate this market and compute the price of simple European call option on this risky asset using Monte Carlo $C_{Heston}$ and then compute the implied volatility in the Black and Scholes Market, i cannot find implied volatility for some values of the strike price.

this is the equation i am using to find implied volatility of Heston Model in Black and Scholes Market, $s*exp(r*T)*\Phi(\frac{(ln(s/K)+(r+(1/2)*\sigma^2)*T)}{(\sigma*\sqrt{T})})-K*\Phi(\frac{(ln(s/K)+(r-(1/2)*\sigma^2)*T)}{(\sigma*\sqrt{T})}) = C_{Heston}$

where $\Phi$ is CDF of Normal(0,1).

solving for $\sigma$ using computer algebra gives, $RootOf(-S_0*exp(r*T)*erf((1/4)*\frac{(T*Z^2+2*r*T+2*\ln(S_0/K))*\sqrt{2}}{(Z*\sqrt{T})})+erf((1/4)*\frac{(-T*Z^2+2*r*T+2*ln(S_0/K))*\sqrt{2}}{(Z*\sqrt{T})})*K-S_0*exp(r*T)+K+2*C_{Heston})$

but this is becoming complex for some values of $K$ in the model.

So my question is does the implied volatility of Heston Model in Black Scholes Model for European Call Option exist for all values of the strike price $K\gt 0$.

Please answer in easy to understand and elaborate manner as i am new to this subject.

## Answer by q.t.f. (score 5)

https://quant.stackexchange.com/a/14570

(1) No, the stochastic differential equation for Heston model does not have an explicit solution. What does exist is an explicit formula for the Fourier transform of a call option price. See e.g. http://www.zeliade.com/whitepapers/zwp-0004.pdf for a decent survey.

(2) Yes, implied vol always exists. You can check that the Black-Scholes price of an option is monotonically increasing in sigma, with lower limit at intrinsic value [0 for out-of-money option] and upper limit at the super-replication value [price of the underlying, for a call option]. So by the inverse function theorem for every non-arbitrageable price there is an implied volatility.

When implied vol calculation fails, one of two things may be going wrong. (i) The input option price may be outside of the no-arbitrage range, for example due to numerical error in the price calculation. This is almost certainly the problem you are experiencing when using monte carlo. (ii) Your numerical root-finding algorithm may fail. It is easy to check if (i) occurs, just by checking if the input value is in the range. For (ii), just find an adequate solver. For testing things, you can write your own bisection method if you like; that should be 100% robust. For strikes far from spot, use the out-of-the-money option [calls for high strikes, puts for low strikes] to avoid loss of numerical accuracy in the floating point calculations.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.