Diagnosing Numerical Instability in Heston Implied Volatility
Summary
The document describes a workflow for generating option implied volatilities from the Heston model: price options with a Lipton integral formula, then invert prices with a Black–Scholes–Merton implied volatility routine. The author asks whether parameter bounds can prevent failures when building neural network training data, noting that bounds from a cited study have already been tried.
The response identifies two possible sources of trouble. Implied volatility inversion may be unstable for deep in-the-money options, so out-of-the-money options are commonly preferred. Separately, if the pricing integral is the source of error, using a finer integration step may improve the result. These are diagnostic suggestions rather than a systematic treatment: the document gives no tested parameter ranges, convergence study, or evidence that either adjustment resolves all failures. It also does not distinguish numerical errors from prices outside the valid range for implied volatility inversion.
Key ideas
- Deep in-the-money options may make implied volatility inversion numerically unstable.
- Out-of-the-money options are commonly used when calculating implied volatility.
- If the Heston pricing integral is inaccurate, a smaller integration step may improve numerical results.
- The response offers troubleshooting guidance but no recommended universal Heston parameter bounds.
Tags
Full text
# Heston Model numerical instabilities
# Heston Model numerical instabilities
I hope that all is well,
I am working on creating a neural network to compute the implied volatilities of options using the Heston Model. However, I am coming across some issues with the numerical instabilities in the Heston model when creating the training data set.
I am using the following method to get the implied volatilities:
- Compute option price using Lipton pricing formula (Guaranteed under the full dimensional and unrestricted parameter space): $ C_t = S_t - \frac{Ke^{-r(T-t)}}{\pi} \int_{0}^{\inf} Re [e^{(iu + 0.5)\hat{F}_{t,T}} \phi_{T-t}(u-i/2)]\frac{d}{u^2-1/4} $
- Use py_vollib.black_scholes_merton.implied_volatility formula from the py_vollib method (Documentation), built from Jaeckel, Let's be rationale, 2015.
However, for some parameters combination, I am unable to compute the implied volatility. I thus wanted to know if there are any bounds recommended for Heston paramters to ensure that there won't be any numerical instabilities. For the moment, I am using the parameters bounds proposed by Asridi et al, 2023 (Differential Machine Learning).
Thank you very much in advance,
Best,
## Answer by THATS MY QUANT MY QUANTITATIVE (score 1, accepted)
https://quant.stackexchange.com/a/80209
Are you meaning that you can’t calculate the IV from a specific option price generated from the Heston? If so, it’s most likely because the option is deep ITM. Normally OTM options are used to calculate IV due to the concave-convex nature of ITM options, which lead to numerical instabilities (it’s discussed in the let’s be rational and also by implication from Jackel.)
If it’s from the definite-integral, normally decreasing the $du$ (so increasing the number of points) will lead to more realistic resultsShown 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.