Simulating the Rough Heston

I found this paper here https://arxiv.org/abs/1810.04868, "The Lifted Heston", but since I'm not an expert in stochastic volterra processes , nor in fractional ricatti equations, the math is beyond me. If anyone could explain to me step-by-step the process to simulate paths described in the paper (I know it's an approximation), or better yet, share a repo, I would greatly appreciate it.

The rough Heston process is a Heston process that has had its variance process process replaced with a fractional square-root diffusion $$$$d S_t = S_t \sqrt{V_t} d B_t$$$$ $$$$V_t = V_0 + \frac{\int_0^t (t - s)^{H - \frac{1}{2}} \lambda (\theta - V_s) d s + \int_0^t (t - s)^{H - \frac{1}{2}} v \sqrt{V_s} d W_{} }{\Gamma \left( H + \frac{1}{2} \right)}$$$$

The lifted Heston model is a finite linear combination of conventional stochastic volatility models with $$n$$ factors driving the variance process given by the system of stochastic differential equations $$$$d S_t^n = S_t^n \sqrt{V_t^n} d B_t$$$$ $$$$V_t^n = g_0^n (t) + \sum_{i = 1}^n c_i^n U_t^{n, i}$$$$ $$$$d U_t^{n, i} = (- x_i^n U_t^{n, i} - \lambda V_t^n) d t + v \sqrt{V_t^n} d W_t$$$$ with $$$$S_0^n > 0$$$$ $$$$U_0^{n, j} = 0 \forall 1 \ldots n$$$$ and $$$$B = \rho W + \sqrt{1 - \rho^2} W^{\perp}$$$$ such that $$$$(W, W^{\perp})$$$$ is a standard 2-dimensional Wiener process on a fixed filtered probability space with correlation $$\rho \in [- 1, + 1]$$ and parameters $$g_0^n, \lambda, \nu \in \mathbb{R}_+, c_i^n, x_i^n \geqslant 0$$. The weights $$x_i^n$$ and $$c_i^n$$ are functions of $$\alpha = H + \frac{1}{2} \forall i \in 1 \ldots n$$ given by $$$$x_i^n = \left( \frac{1 - \alpha}{2 - \alpha} \right) \left( \frac{r_n^{2 - \alpha} - 1}{r_n^{1 - \alpha} - 1} \right) r_n^{i - 1 - \frac{n}{2}}$$$$ $$$$c_i^n = \frac{(r_n^{1 - \alpha} - 1) r_n^{(\alpha - 1) \left( 1 + \frac{n}{2} \right)}}{\Gamma (\alpha) \Gamma (2 - \alpha)}$$$$ where $$$$r_n = 1 + \frac{10}{n^{0.9}} \forall n \geqslant 1$$$$

• this is clear. Thank you! Nov 12, 2020 at 2:27

Isn't this model just a bunch of classical Heston volatility processes, driven by the same Brownian motion? In this case, you can use some common schemes like Milstein. At least as a starter to toy with the model. If speed/accuracy is an issue, there probably exist some clever solutions as well.

• So I know how to simulate a classical heston. And yes, my understanding is that you are right that the above paper just uses many classical hestons to approximate the rough heston. My question then is how do I figure out what set of classical hestons to simulate? Aug 13, 2020 at 1:05

... or better yet, share a repo ...

Yes, of course. This library is probably the best library in the world for SDEs.

In less than 10 lines you can simulate a Heston model using various simulation schemes.

• He is not looking to simulate a Heston, the OP said he already knows how to do that.
– crow
Nov 5, 2020 at 19:11