Heston with a switching long-run variance
Option prices by Fourier inversion, with the characteristic function expanded in $1/\lambda$.
In Heston's model the log-price follows $dX = -\tfrac12 v\,dt + \sqrt v\,dW$ and the variance $dv = \kappa(\theta_y - v)\,dt + \xi\sqrt v\,dZ$, with correlation $\rho$. The characteristic function is $\mathbb{E}[e^{iuX_T}] = e^{iuX_0 + D(T)v_0}\,a_i(T)$, where $D$ is Heston's Riccati solution, which does not involve $\theta$. The regime enters only through
$$g_i(t) = \kappa\,\theta_i\,D(t), \qquad D(t) = \frac{\kappa - \rho\xi iu - d}{\xi^2}\;\frac{1 - e^{-dt}}{1 - \gamma e^{-dt}},$$with $d = \sqrt{(\rho\xi iu - \kappa)^2 + \xi^2(iu + u^2)}$ and $\gamma = (\kappa - \rho\xi iu - d)/(\kappa - \rho\xi iu + d)$. Call prices follow from Lewis's formula, $C = S_0 - \frac{\sqrt{S_0K}}{\pi}\int_0^\infty \operatorname{Re}\big[e^{iu\log(S_0/K)}\,\phi(u - \tfrac i2)\big]\,\frac{du}{u^2 + 1/4}$.
Here $\kappa = 2$, $\theta = (0.09, 0.02)$, $\xi = 0.4$, $\rho = -0.6$, $v_0 = 0.04$, $S_0 = 100$, one year to expiry, a symmetric chain switching at $\lambda = 10$, and a start in the high-variance regime. The table gives call prices from the numerical characteristic function and after each order.
| strike | numerical | order 0 | order 1 | order 2 | order 4 |
|---|---|---|---|---|---|
| 80 | 22.13369 | 22.06371 | 22.13501 | 22.13388 | 22.13369 |
| 90 | 14.47902 | 14.38309 | 14.47998 | 14.47922 | 14.47903 |
| 100 | 8.40280 | 8.29383 | 8.40317 | 8.40289 | 8.40281 |
| 110 | 4.22012 | 4.11250 | 4.22051 | 4.22017 | 4.22012 |
| 120 | 1.82993 | 1.73643 | 1.83091 | 1.83003 | 1.82992 |
A Monte Carlo simulation of the switching model, with 200,000 paths, gives 22.13, 8.41 and 1.83 at strikes 80, 100 and 120, each within its standard error of the numerical prices. The same construction applies to any affine stochastic volatility model in which only the long-run level switches.