VIX term structure in the rough Heston model via Markovian approximation
Project description
VIXRHeston
VIXRHeston is a lightweight Python package for computing the VIX term structure in a rough Heston–type setting via a Markovian (lifted Heston) approximation. Leveraging the key theoretical result that, under the lifted model, the squared VIX can be expressed analytically (in particular, as a linear function of the Markovian variance components), the package evaluates the quantity
VIX^2_{t,τ} = (1/τ) ∫_{t}^{t+τ} E_t[V_s] ds
efficiently across maturities, without requiring nested Monte Carlo simulation. This enables fast generation of the full VIX term structure and is suitable for calibration workflows where repeated VIX evaluations are needed.
Rough Heston dynamics (risk-neutral)
Under the risk-neutral measure ( \mathbb{Q} ), the rough Heston model specifies the index and variance dynamics as
[
\frac{dS_t}{S_t} = r,dt + \sqrt{V_t},dB_t,
]
[
V_t = g_0(t) + \int_0^t K(t-s)\Big(\lambda(\theta - V_s),ds + \nu\sqrt{V_s},dW_s\Big),
]
where (B_t) and (W_t) are Brownian motions with instantaneous correlation (dB_t,dW_t=\rho,dt).
Here (r) is the risk-free rate, (\lambda) is the mean-reversion speed, (\theta) is the long-run variance level, (\nu) is the vol-of-vol, and (K(\cdot)) is a fractional (rough) kernel (typically of the form (K(u)\propto u^{H-\frac12}) with Hurst index (H\in(0,\tfrac12))). The deterministic function (g_0(t)) encodes the forward variance curve / initial variance condition.
Installation
From PyPI
pip install VIXRHeston
Quick start
import numpy as np
from VIXRHeston import vec_c, vec_x
from VIXRHeston import squared_VIX
H,n = 0.1,2
alpha, rn= H+0.5, 1+10*(1/(n)**0.9)
c, x = vec_c(n,rn,alpha), vec_x(n,rn,alpha)
t, tau = 0, 1/12
rho, lamb,theta,nu,V0 = -0.7,0.1,0.03,0.3, 0.01
VIX2 = squared_VIX(t, c, x, V0,lamb,theta,nu,rho, tau)
VIX = np.sqrt(VIX2)
print(VIX)
License
MIT License. See LICENSE.
References
Ye, Y., Fan, Z., & Kwok, Y. K. (2026). VIX term structure in the rough Heston model via Markovian approximation. Journal of Futures Markets, forthcoming.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vixrheston-0.1.1.tar.gz.
File metadata
- Download URL: vixrheston-0.1.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
48c3f36b7cacde9dbd539ebc23aa01172c26a16136807c2bd2bbf6acff4f5123
|
|
| MD5 |
48133c376b7864331c21aa3daeda7a00
|
|
| BLAKE2b-256 |
6816b7929783815f4c75ab20e0e8df4276411c83a49b1840553712f91dcd00bd
|
File details
Details for the file vixrheston-0.1.1-py3-none-any.whl.
File metadata
- Download URL: vixrheston-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5cfd21e8243ef9349301ee219d767ba9cfdf6ace531a8346ceba932215cdbe61
|
|
| MD5 |
aa7c53608cb9b9ab878953095f4bbc28
|
|
| BLAKE2b-256 |
3f8a90a07c6b320066155ab50cbe3f565281aa41ab5da96fb4c6ab02f99eb584
|