Downloads

Everything used to produce the numbers below is published with the paper and reproducible end-to-end:

WP-4 v3.0 Paper
PDF · 65 pages
Companion Notebook
Jupyter (rhftlab kernel)
Live Metrics
JSON · Sharpe / PnL / MaxDD
All-in-one Bundle
ZIP · PDF + notebook + metrics
Outline
  1. Why a v3.0 rewrite?
  2. Three pillars: Quintic OU, rHH, QRH+
  3. Multi-factor Markovian lift of the fractional kernel
  4. Volterra propagator and BSDE Sharpe-optimal allocator
  5. The 0DTE smart-leverage rule
  6. Companion notebook layout
  7. Empirical results — live SPY backtest
  8. References

1. Why a v3.0 rewrite?

WP-4 v3.0 is a focused, single-story rewrite: the whole paper is built around the canonical affine Volterra stack and a closed-form smart-leverage rule for 0DTE options. The goal is reproducibility — a quant should be able to download the bundle above, open the notebook on a stock conda environment, and regenerate every figure and metric in the paper from live yfinance data.

LayerReference
Affine Volterra (Quintic OU, rHH, QRH+)WP-4 §3.5–§3.7
Volterra propagator + BSDE allocator§3.9–§3.10
Multi-factor Markovian lift§3.4
0DTE smart-leverage backtest§3.12 + Appendix B

2. Three pillars: Quintic OU, rough Hawkes Heston, QRH+

The paper bundles three models that solve three different empirical pains:

ModelSolvesWhy
Quintic OUjoint SPX/VIX calibration$V_t = \xi_0(t)\,p(X_t)^2$ with $X$ Ornstein–Uhlenbeck — closed-form variance swap and VIX$^2$ representations
rough Hawkes Heston (rHH)jump clustering, vol-spike auto-correlationHawkes intensity $\lambda_t = \mu_0 + \int \alpha e^{-\beta(t-s)}\,dN_s$, affine VS / VIX$^2$ in the lifted state
QRH+0DTE put-wing tail premiumquadratic + Volterra path-dependence with a single boost parameter $b_0 \ge 0$

3. Multi-factor Markovian lift of the fractional kernel

The fractional kernel $K(\tau) = \tau^{\alpha-1}/\Gamma(\alpha)$ with $\alpha = H + \tfrac12 \in (0,1)$ is non-Markovian, which kills any naive PDE solver. By Bernstein–Widder it is a Laplace transform of a positive measure $\nu$, and on a geometric grid $x_i = r^{\,i-(n+1)/2}$ we get the finite-dimensional approximation

$$ K_n(\tau) \;=\; \sum_{i=1}^{n} c_i\, e^{-x_i \tau}, \qquad c_i = \int_{x_{i-1/2}}^{x_{i+1/2}} \nu(dx), \qquad \nu(dx) = \frac{x^{-\alpha}}{\Gamma(\alpha)\Gamma(1-\alpha)}\,dx. $$

This converts every Volterra SDE in the paper into a Markov system in $\mathbf U_t = (U^{(1)}_t,\dots,U^{(n)}_t)$. Block B of the notebook implements this and reports a relative $L^2$ error of $1.15\times10^{-2}$ for $n=15$ on the working horizon $\tau \in [5\!\cdot\!10^{-3},\,0.5]$.

4. Volterra propagator + BSDE Sharpe-optimal allocator

For execution we use the classical propagator price model

$$ \widehat P_t = P_t + \int_0^t G(t,s)\,dq_s, \qquad G(t,s) = (t-s)^{-\beta} e^{-\rho(t-s)}, $$

and the BSDE Sharpe-optimal allocator of Bouchard–Élie–Touzi (2009)

$$ w^{*}_t \;=\; \Lambda^{-1}\, Z_t, \qquad \Lambda = \int_0^T G(t,s)\,ds, \qquad Z_t = \mu/\sigma^{2}. $$

Block F simulates a half-and-half block trade and recovers the qualitative transient-impact decay predicted by Alfonsi–Schied–Slynko (2012).

5. The 0DTE smart-leverage rule

The closed-form output of WP-4 Lab 1 is the leverage rule

$$ L^{*}(t) = L_{\max} \cdot \bigl(1 - \kappa_b\, \widehat b_0(t)\bigr) \cdot \bigl(2 - \mathrm{SSR}(t)\bigr)^+ $$

where $\widehat b_0(t)$ is the QRH+ boost (block E), $\mathrm{SSR}(t)$ is the skew-stickiness ratio, $L_{\max}$ caps gross exposure and $\kappa_b$ tunes the put-wing throttle. The notebook implements the practical vol-target projection of this rule that matches it to first order:

$$ L^{*}(t) = \mathrm{clip}\!\left(\frac{\sigma_{\text{target}}}{\sigma_{\text{realised}}(t)} \cdot \bigl(1 - \kappa_b\,\widehat b_0(t)\bigr),\; 0,\; L_{\max}\right). $$

With $\sigma_{\text{target}} = 0.20$, $L_{\max} = 2.0$, $\kappa_b = 0.10$, this is the rule we backtest below.

6. Companion notebook layout

Each of the seven blocks of Lab 1 follows a strict MD explanation + equations → CODE → MD result/commentary pattern, so any reader can map a notebook cell to the corresponding paper section without ambiguity:

BlockNotebook cellsPaper section
A — Real data fetch (SPY/QQQ + 0DTE chain + VIX)4–6§3.1
B — Multi-factor Markovian lift $K_n$7–9§3.4
C — Quintic OU + Fourier vanilla10–12§3.5
D — rHH variance-swap term structure13–15§3.6
E — QRH+ 0DTE smile fit16–18§3.7
F — Volterra propagator + BSDE allocator19–21§3.9, §3.10
G — 0DTE smart-leverage backtest22–24§3.12

Run the lab on the rhftlab kernel:

conda run -n rhftlab jupyter nbconvert --to notebook --execute \
  webapp/papers/latex/wp4_options_portfolio_lab.ipynb \
  --output wp4_options_portfolio_lab.ipynb \
  --ExecutePreprocessor.timeout=300

and the JSON metrics file used in §7 is regenerated automatically.

7. Empirical results — live SPY backtest

The 0DTE smart-leverage rule of §5 was backtested out-of-sample on a one-year SPY window pulled from yfinance, with the rule applied to the next-day return (no look-ahead). Calibration snapshot:

250
trading days
data window
17.4
VIX spot
at calibration
1.15e-2
lift LÂČ error
n = 15, r = 3
1.37
propagator integral
Λ

Out-of-sample performance:

StrategySharpeCumulative PnLMax Drawdown
WP-4 Lab 1 (Affine Volterra leverage)1.73+37.2%−14.7%
Buy-and-hold SPY2.06+27.9%−9.0%
Reading the table. In a benign bull market window where SPY itself only drew down −9%, the WP-4 leverage rule delivers +33% more cumulative PnL than buy-and-hold by allocating up to $L_{\max} = 2.0$ in calm regimes, at the cost of a 5.7-percentage-point larger max drawdown. The Sharpe ratio is lower (1.73 vs 2.06), which is exactly the expected trade-off of a risk-on projection of the rule: choosing $L_{\max} = 1.0$ recovers a strict-defensive variant that under-shoots PnL but cuts drawdown below the buy-and-hold benchmark. The full $L_{\max}/\kappa_b$ sweep is one cell in the notebook.

The affine Volterra stack is not a magic alpha factory, it is a principled, regime-aware, tuneable exposure modulator. The same calibration that produced these numbers can be reused with $L_{\max}, \kappa_b, \sigma_{\text{target}}$ chosen by the desk's risk budget — see Lab 4 of the paper (§4.4) for the full parameter map.

Improvements vs the legacy WP-4 Lab 1

  1. Reproducibility. All seven blocks run on the public OptionsDataFetcher and three open-source models. Anyone can re-execute the notebook and regenerate the metrics JSON.
  2. Transparent paper-to-cell mapping. Each code cell is preceded by a markdown cell that names the paper equation it implements and followed by a markdown cell that comments the numerical output.
  3. Industry-standard models. The lab references the canonical affine Volterra literature (Abi Jaber–Illand–Li, Bondi–Pulido–Scotti, Rosenbaum–Zhang, El Euch–Rosenbaum) instead of in-house names with no public bibliography.
  4. Live calibration & PnL. The fetched SPY/0DTE data feeds a real backtest with measured Sharpe / PnL / drawdown — not just toy plots.

8. References

  1. Abi Jaber, E., Illand, C. & Li, S. (2022). Joint SPX-VIX calibration with Gaussian polynomial volatility models. arXiv:2212.08297.
  2. Alfonsi, A., Schied, A. & Slynko, A. (2012). Order book resilience, price manipulation, and the positive portfolio problem. SIAM J. Financial Math.
  3. Bondi, A., Pulido, S. & Scotti, S. (2022). The rough Hawkes Heston stochastic volatility model. arXiv:2210.12393.
  4. Bouchard, B., Élie, R. & Touzi, N. (2009). Discrete-time approximation of BSDEs and probabilistic schemes for fully nonlinear PDEs.
  5. El Euch, O. & Rosenbaum, M. (2019). The characteristic function of rough Heston models. Mathematical Finance.
  6. Gatheral, J., Jaisson, T. & Rosenbaum, M. (2018). Volatility is rough. Quantitative Finance.
  7. Rosenbaum, M. & Zhang, J. (2024). Quadratic rough Heston model with jumps for very short-dated options. Working paper.
  8. HFThot Research Lab (2026). WP-4 v3.0 — Options Portfolio Labs.

Download WP-4 v3.0 PDF Download all-in-one bundle (ZIP) Take the rough-vol arbitrage course