Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


QRCBench banner

Python Qiskit qBraid Leakage safe

QRC SUSA: novel quantum-inspired models for financial volatility forecasts over strong classical baselines.


Launch on qBraid

Challenge submission

Team / organization Monodromy
Members Aliaksei Kaliutau
Project QRC SUSA: Susceptible Architectures for Regime-Conditional Volatility Forecasting
Challenge qBraid, MITRE & JonesTrading - Global Industry Challenge 2026
Track Track A: Financial Volatility Prediction
Primary task Forecast five-trading-day variance and identify transitions among calm, onset, recovery, and persistent-stress regimes

The contribution

We propose a novel class of architectures for QRC.

A conventional reservoir is usually selected for memory or nonlinear expressivity. SUSA instead learns from a controlled response contrast: the same input is propagated through two matched dynamical systems that differ by their inner structure. The difference in response or behaviour of signal propagating through those two reservoirs is a structural-susceptibility representation.

The project implements this idea twice:

  • a quantum-inspired version with complex recurrent nodes, directional transport, open/ring counterfactuals, and a small classical QLIKE readout;
  • a quantum realization with interacting qubits, repeated RY/RZ input encoding, coherent RXX/RYY interactions, optional CPTP transfer and damping, and Pauli-observable readout.

Both variants preserve the same forecasting contract: a reliable AR-Ridge anchor predicts the persistent component, while SUSA learns only a bounded residual correction. A phase-conditioned mixture of experts can interpret the same susceptibility features differently during calm, onset, recovery, and persistent-stress states.

Name conventions for further brevity:

  • SC-RC (Structural-Contrast Reservoir Computing)
  • SC-OSQRC (Structural-Contrast Open-System Quantum Reservoir Computing)
  • PHASE-RC-MoE (Phase-Conditioned Reservoir Mixture of Experts)
  • PHASE-OSQRC-MoE (Phase-Conditioned Open-System Quantum Reservoir Mixture of Experts)

Core hypothesis: weak transition information that is difficult to read directly may become easier to detect after a matched structural perturbation exposes how the encoded path responds to a boundary change.

The accompanying write-up contains the full motivation, literature, equations, and statistical analysis.

We published an extended supplementary paper https://arxiv.org/abs/2607.22491, with more details, theory and analysis.

This README focuses on technical architecture, execution, and reproducibility.


Architecture at a glance

Rubric-level specification

Component Implementation
Reservoir structure Two fixed, matched reservoirs: an open nearest-neighbor chain and a periodic ring with the closing edge added.
Quantum unitary / dynamics Repeated local RY/RZ encoding, fixed random input and phase masks, local RZ fields, and RXX/RYY interactions on reservoir edges. The open-system variant adds directional CPTP transfer and amplitude damping.
Input encoding One causal log-variance observation is encoded at every time step on every node/qubit; the benchmark uses a 12-observation sequence.
Readout Open/ring observables, signed contrast, normalized contrast, low-rank projection, and a bounded classical correction optimized directly under QLIKE.
Measured observables Local Z populations; adjacent XX, YY, XY, and YX correlations; directed-current proxies; boundary imbalance; spatial concentration; entropy-like and temporal summaries.
Memory The reservoir state evolves across the full input window. Dissipation supplies fading memory in the open-system model; no trainable recurrent weights are required.
Hybrid integration forecast = AR-Ridge anchor + bounded SUSA correction. The MoE model combines four phase-specialized corrections with a classical gate.
Trainable part Only the low-capacity classical readout, low-rank projection, and optional phase gate/experts. Reservoir parameters are fixed for each candidate.

Suitability for volatility forecasting

Volatility is persistent, heavy-tailed, regime-dependent, and low signal-to-noise. SUSA separates these difficulties rather than asking one nonlinear model to solve all of them:

  1. the AR-Ridge anchor handles persistence;
  2. open-versus-ring response differences expose path-dependent structural sensitivity;
  3. the phase gate separates calm, onset, recovery, and persistent stress;
  4. the bounded correction limits damage when residual signal is weak;
  5. the quantum realization provides a richer family of coherence and correlation responses while preserving the same statistical head and evaluation protocol.

Current results

The current benchmark covers 16 U.S. equity and ETF series, 3 disjoint chronological folds, a 12-day input window, and a 5-day variance horizon. Lower QLIKE is better.

Performance is heterogeneous across assets, and the cross-market average difference from GARCH is often statistically inconclusive. However, on some equities models demonstrated stable improvements over all baselines: IWM and XLP Another strong practical result is complementarity: SUSA can add a bounded, non-redundant signal to a strong classical forecast.

Pure quantum SUSA models demonstrated lower performance than quantum-inspired ones, still beating the AR baseline, but lagging behind GARCH.

Result Held-out evidence Interpretation
IWM ΔQLIKE vs AR −0.070, 95% CI [−0.107, −0.033] Significant improvement across the held-out folds.
XLP ΔQLIKE vs AR −0.098, 95% CI [−0.146, −0.049] Significant improvement across the held-out folds.
Quantum-inspired SUSA + HARQ Mean gain over the better member 0.0116; win share 75.0%; DM p < 0.001 SUSA extracts information complementary to domain-specific volatility features.
Quantum SUSA-MoE + HARQ Mean gain 0.0114; win share 79.2%; DM p < 0.001 The quantum feature branch also contributes complementary forecasts.

Quick start

1. Launch on qBraid

Start a large instance at qBraid, ideally 8 CPU or more. Our benchmark code automatically splits the workload among cores. However, even on large machine it will take 20-30 min to reproduce the full 16-symbol benchmark.

Click Launch on qBraid at the top of this page. In the cloned repository, open a terminal and run from the project folder:

pip install -e .
pip install -e '.[quantum]'

To validate that the installation is correct, run the command that lists supported models in our benchmark:

qrc-run list-models

Python 3.12 is the reference environment.

2. Reproduce the full 16-symbol benchmark

scripts/run_all_experiments.sh

This command runs four classical baselines, two quantum-inspired SUSA models, two Qiskit SUSA models, and then collects all results. It prints stage boundaries, an overall progress bar with ETA, and a final success or error message (if there are failures).

3. Visualise all results

Launch the analytical notebook notebooks/qrc_results_publication_analysis_merged.ipynb and run all cells to generate charts, tables and other analytics

Data modeling strategy

Item Benchmark choice
Source Public daily OHLCV from Yahoo; deterministic synthetic data is available for offline tests only.
Panel SPY, QQQ, IWM, XLB, XLE, XLF, XLI, XLK, XLP, XLU, XLV, XLY, AAPL, MSFT, JPM, NVDA.
Date range 2006-01-01 through fixed cutoff 2026-07-01.
Input Previous 12 causal log-variance observations.
Target Mean variance over the next 5 observations.
Regime target Calm, onset, recovery, or persistent stress, aligned to the forecast origin.
Features Close-to-close returns, causal realized-variance proxies, HAR horizons, quarticity/stress proxies, drawdown, volatility-of-volatility, slope, and curvature.
Selection Candidate fit on training; hyperparameter selection on validation; final refit on training + validation; test opened once.
Leakage controls Trailing features only, origin-aligned predictors, training-only standardization/thresholds, purge gaps, disjoint outer folds, hash-verified inputs.
Primary metric QLIKE.
Secondary metrics RMSE/MAE in log variance, ROC-AUC, PR-AUC, F1, Brier score, calibration error, underprediction tails, moving-block bootstrap CI, and HAC/Diebold–Mariano tests.

Chronological folds

Dates are inclusive. Purge intervals separate training, validation, and test segments, and the outer folds do not overlap.

Fold Training Validation Test
1 2006-01-26 - 2010-02-16 2010-02-23 - 2011-02-24 2011-03-03 - 2012-11-08
2 2012-11-15 - 2016-12-05 2016-12-12 - 2017-12-14 2017-12-21 - 2019-09-03
3 2019-09-10 - 2023-09-28 2023-10-05 - 2024-10-09 2024-10-16 - 2026-06-30

Models

CLI name Role What it tests
ar_ridge Common anchor Linear persistence and the reference residual forecast.
har Econometric baseline Daily, weekly, and monthly volatility persistence.
harq Econometric baseline HAR plus quarticity and stress-related predictors.
garch Econometric baseline Gaussian-QMLE GARCH(1,1) conditional-variance recursion.
esn Matched reservoir baseline Fixed classical recurrent dynamics plus ridge readout.
sc_rc Quantum-inspired SUSA Open-versus-periodic complex-reservoir susceptibility.
phase_rc_moe Quantum-inspired SUSA-MoE Structural susceptibility with four phase-specialized experts.
sc_osqrc Quantum SUSA Qiskit density-matrix or qBraid open/ring reservoir.
phase_osqrc_moe Quantum SUSA-MoE Quantum susceptibility features with phase-conditioned experts.

ESN is the architecture-matched baseline. HARQ and GARCH are the most important domain baselines. Hyperparameters are selected on validation data only, and compact grids are used to keep tuning budgets light.


Evaluation

Every model is evaluated on the same symbol, target, fold, anchor, and test observations:

train | purge-gap | validation | purge-gap | test

The test protocol is the same for each model:

  1. fit each candidate on training data;
  2. select one candidate using validation QLIKE plus stability penalties;
  3. refit the selected candidate on training + validation;
  4. evaluate once on the held-out test block;
  5. compare pointwise QLIKE with the fold's AR-Ridge anchor;
  6. write predictions, uncertainty statistics, runtime, resources, and resolved configuration.

How to interpret results:

delta_qlike_vs_ar_ridge < 0  =>  lower loss than the anchor

For cross-market conclusions, symbols are the top-level inference units. Dependence is handled with moving-block bootstrap intervals and HAC/Diebold–Mariano tests.

Repository map

.
├── src/qrc/
│   ├── cli.py                    # command-line interface
│   ├── config.py                 # typed run configuration
│   ├── data.py                   # schema validation and causal features
│   ├── splits.py                 # purged chronological folds
│   ├── metrics.py                # QLIKE, calibration, bootstrap, HAC/DM
│   ├── readouts.py               # ridge, low-rank QLIKE, and phase gate
│   ├── runner.py                 # one atomic experiment
│   ├── models/                   # baselines and SUSA implementations
│   └── quantum/                  # local Qiskit and qBraid engines
├── scripts/
│   ├── dataset-cli.py            # versioned public-data builder (this repo contains already downloaded data)
│   ├── run_matrix.py             # resumable parallel experiment launcher
│   ├── run_all_experiments.sh    # reproduce paper results
│   └── test_qbraid_healthcheck.py
├── configs/                      # benchmark and platform configurations
└── runs/                         # generated artifacts (ephemeral folder, generated by scripts)

Releases

Packages

Contributors

Languages