Choosing Heston Simulation Schemes for Accuracy and Speed
Summary
The discussion compares approaches to simulating the Heston stochastic volatility model, prompted by a moment-matching method that can fail when volatility of volatility is large and the Feller condition is strongly violated. In that method, equations for matching moments may have no solution; flooring negative intermediate values to zero can then produce substantial pricing error. The questioner reports that the method is otherwise simple and fast, including at higher correlation values.
The answers distinguish time-discretization methods, such as Andersen’s quadratic-exponential scheme and an inverse-Gaussian approximation, from exact simulation approaches, including Broadie–Kaya and a gamma-series expansion. Discretization methods use cheaper steps and suit path-dependent pricing when sufficiently fine time steps control error. Exact methods can simulate to a chosen time but cost more, making them more appropriate when only a terminal value is needed. The cited comparison favors QE in practical use, while the inverse-Gaussian method may reduce total cost through greater accuracy per step. The material offers references rather than a controlled benchmark, and does not establish one method as accurate for every parameter set.
Key ideas
- Moment-matching simulation can become unreliable when its matching equations have no solution under extreme parameter values.
- Replacing negative intermediate quantities with zero can introduce material pricing error.
- Time-discretization methods trade inexpensive steps for the need to control time-step bias.
- Exact simulation methods can jump directly to a target time but generally require more computation.
- Path dependence and whether only the terminal value is needed help determine which method family to consider.
Tags
Full text
# Simulation of Heston model, best reference?
# Simulation of Heston model, best reference?
I am currently experimenting with various implementations for simulating the standard Heston model. \begin{eqnarray*} dS_t &=& \mu S_t \, dt + \sqrt{v_t} \cdot S_t \, dW_t^S \\ dv_t &=& \kappa(\theta - v_t) \, dt + \xi \cdot \sqrt{v_t} \, dW_t^v, \end{eqnarray*} where the correlation between the Brownian motions is $\rho$. I am however struggling to find a decent reference article with an implementation which is accurate for all choices of parameter values.
I have, for example, implemented the method described in the article "A Simple and Exact Simulation Approach to Heston Model" by J. Zhu. This has the advantage of being very easy to implement and understand. It also give good results even for higher values of the correlation parameter. It is also very fast.
However, when the "vol-vol", $\xi$, is large and the Feller condition $2 \kappa \theta > \xi^2$ is violated by a large margin, the method fails. The option prices seem to become too large in general. The reason this is happening is not too hard to understand. The method of Zhu is based on a moment matching procedure for the volatility process. When $\xi$ is too large the equations you need to solve to make the moments match lack solution. The authors "solved" this by flooring a negative value to zero. If values are only slightly negative the effect of this should not be too bad, but for larger negative values the error should be significant, which is exactly what is seen for larger $\xi$.
What is the current state of the art regarding to simulation of the Heston method? Are there any good references to point to? The most important thing for me is that the method produces at least decently accurate results. After that, a faster method is of course preferable. Simplicity of implementation comes third.
## Answer by FunnyBuzer (score 4)
https://quant.stackexchange.com/a/58872
This link presents several discretization schemes for Heston: https://www.degruyter.com/view/journals/math/15/1/article-p679.xml
For example, Milstein is a popular one.
An alternative to the Euler discretization scheme for the Heston model is the second-order discretization method. The system of SDE under the risk-neutral measure \begin{eqnarray*} dS_t &=& r S_t \, dt + \sqrt{v_t} S_t \, dW_t^S \\ dv_t &=& \kappa(\theta - v_t) \, dt + \sqrt{v_t}(\xi_1\, dW_t^S+\xi_2 \, dW_t^v), \end{eqnarray*} gets discretized as follows: \begin{eqnarray*} dS_{i+1} &=& S_i\left(1+rh+\sqrt{v_i}\Delta W^S\right)+\frac{1}{2}r^2S_ih^2 \\ &+&\left(\left[r+\frac{\xi_1-\kappa}{4}\right]S_i\sqrt{v_i}+\left[\frac{\kappa\theta}{4}-\frac{\xi^2}{16}\right]\frac{S_i}{\sqrt{v_i}}\right)\Delta W^Sh \\ &+&\frac{1}{2}S_i\left(v_i+\frac{\xi_1}{2}\right)((\Delta W^S)^2-h)+\frac{1}{4}\xi_2S_i(\Delta W^v\Delta W^S+\varepsilon) \\ v_{i+1} &=& \kappa\theta h+(1-\kappa h)v_i + \sqrt{v_i}(\xi_1\Delta W^S+\xi_2\Delta W^v)-\frac{1}{2}\kappa^2(\theta-v_i)h^2 \\ &+&\left(\left[\frac{\kappa\theta}{4}-\frac{\xi^2}{16}\right]\frac{1}{\sqrt{v_i}} - \frac{3\kappa}{2}\sqrt{v_i}\right)(\xi_1\Delta W^S+\xi_2\Delta W^v)h \\ &+&\frac{1}{2}\xi_1^2((\Delta W^S)^2-h)+\frac{1}{4}\xi_2^2((\Delta W^v)^2-h)+\frac{1}{2}\xi_1\xi_2\Delta W^S\Delta W^v \end{eqnarray*} where $\xi^2 = \xi_1^2+\xi_2^2$ and $$\varepsilon = \begin{cases} h, & \mbox{with prob. } \frac{1}{2} \\ -h, & \mbox{with prob. } \frac{1}{2} \end{cases}$$ $\varepsilon$ and $\Delta W^S$ being independent. One can consider taking the absolute value of $v_i$.
This scheme can be used for instance by fixing $h=\frac{T}{n}$ with various sample sizes $n$ and 1e+06 repetition for each $n$. This method is known to produce smaller estimation bias but it has a slightly worse convergence
## Answer by jaehyukchoi49 (score 1)
https://quant.stackexchange.com/a/71127
Here are some references to the state-of-art simulation schemes of the Heston model. Roughly speaking there are two lines of algorithms: time-discretization v.s. exact schemes.
Time-discretization schemes:
- Andersen (2008)'s QE method
- Tse & Wan (2013)'s Inverse-Gaussian approximation
The computation cost for jumping a step is cheap in this line of methods, but you have to make multiple jumps (with a small-time step) in order to control the error. Therefore, these are more suitable if you need the price time series (i.e., path) as in pricing path-dependent (e.g., Asian or barrier) options.
See Van Haastrecht & Pelsser (2010) for performance comparison. They propose their own methods, but the conclusion is that the QE method is practically the best. Tse & Wan (2013) is relatively new. The cost for one jump is higher than the QE, but it's more accurate, so you don't need as many jumps as in QE. So, the overall cost can be lower.
Exact simulation schemes:
- Broadie & Kaya (2006)'s original exact simulation scheme.
- Glasserman & Kim (2011)'s Gamma series expansion.
These are more suitable when you only care about the terminal price (not the path). In these methods, you can jump any time step albeit with high computation cost. Regarding this line, read another post of mine
References:
- Andersen L (2008) Simple and efficient simulation of the Heston stochastic volatility model. Journal of Computational Finance 11:1–42. https://doi.org/10.21314/JCF.2008.189
- Broadie M, Kaya Ö (2006) Exact Simulation of Stochastic Volatility and Other Affine Jump Diffusion Processes. Operations Research 54:217–231. https://doi.org/10.1287/opre.1050.0247
- Glasserman P, Kim K-K (2011) Gamma expansion of the Heston stochastic volatility model. Finance Stoch 15:267–296. https://doi.org/10.1007/s00780-009-0115-y
- Tse ST, Wan JWL (2013) Low-bias simulation scheme for the Heston model by Inverse Gaussian approximation. Quantitative Finance 13:919–937. https://doi.org/10.1080/14697688.2012.696678
- Van Haastrecht A, Pelsser A (2010) Efficient, almost exact simulation of the Heston stochastic volatility model. Int J Theor Appl Finan 13:1–43. https://doi.org/10.1142/S0219024910005668.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.