Objective
Re-run all 8 GEX research strategies with expanded historical data (back to 2008) and broader ticker universe once the EOD backfill completes. This enables analysis across multiple market epochs (GFC, COVID, 2022 bear) and validates whether findings generalize beyond SPY.
Blocked by: EOD historical backfill (currently in progress — equity prices from 2008, options chains, regime data for all symbols).
Current Data State (as of 2026-02-16)
| Table |
Current Coverage |
After Backfill |
equity_prices_daily |
61 symbols, 2020–2026 |
61+ symbols, 2008–2026 |
options_daily_summary |
SPY: 1,505 days (2020–2025); QQQ/IWM: ~224 days |
Full regime data for all symbols |
options_chains_* |
Empty (backfill in progress) |
Full chains 2008–2026 |
intraday_gex_snapshots |
Does not exist yet |
TBD |
Current Symbol Universe (61 tickers)
SPY, QQQ, IWM, XLF, XLE, XLK, XLV, AAPL, MSFT, AMZN, GOOGL, META, NVDA, TSLA, and 47 others in equity_prices_daily.
Key Limitation
Regime data (options_daily_summary.regime) currently only has meaningful coverage for SPY. Multi-symbol regime stratification requires the backfill to populate regime classifications for QQQ, IWM, sector ETFs, and individual names.
Research Tasks to Re-run
Batch 1: Core GEX Strategies (originally 2021–2023, SPY-focused)
Batch 2: Extended Research (originally 2020–2023)
New Analysis Opportunities (with 2008+ data)
Market Epoch Comparison
| Epoch |
Period |
Character |
| GFC |
2008-09 to 2009-03 |
Systemic financial crisis |
| Post-GFC Recovery |
2009-03 to 2012-12 |
Low-vol grind higher |
| Pre-COVID Bull |
2013-01 to 2020-02 |
Extended bull market |
| COVID Crash |
2020-02 to 2020-03 |
Fastest bear market in history |
| COVID Recovery |
2020-03 to 2021-12 |
Stimulus-driven rally |
| 2022 Bear |
2022-01 to 2022-10 |
Rate-driven bear |
| 2023-2025 Bull |
2023-01 to 2025-12 |
AI-driven bull |
Key Questions
- Does the GEX regime overlay add more value during crisis periods vs calm markets?
- Are the MACD+RSI regime differences consistent across all epochs?
- Do fat-tail risk metrics (ES/VaR) show structural changes over time?
- Which strategies improve most with longer calibration windows?
- Do any strategies that failed on 2020–2023 work on 2008–2020?
Backfill Progress Checklist
Before re-running, verify:
Implementation Notes
- All research runners are in
scripts/research/
- Signal generators in
src/backtesting/signals/
- Backtester:
src/backtesting/research_backtester.py (PostgreSQL-backed)
- GEX overlay:
src/backtesting/gex_overlay.py
- Risk metrics:
src/backtesting/risk_metrics.py
- Existing test suite: 121 unit + 33 integration = 154 tests
Runner Modifications Needed
- Parameterize start/end dates (currently hardcoded to 2020–2023)
- Accept ticker list from CLI args or config
- Add epoch-splitting logic for cross-epoch comparison
- Output per-epoch YAML results alongside full-period results
Related Issues
Objective
Re-run all 8 GEX research strategies with expanded historical data (back to 2008) and broader ticker universe once the EOD backfill completes. This enables analysis across multiple market epochs (GFC, COVID, 2022 bear) and validates whether findings generalize beyond SPY.
Blocked by: EOD historical backfill (currently in progress — equity prices from 2008, options chains, regime data for all symbols).
Current Data State (as of 2026-02-16)
equity_prices_dailyoptions_daily_summaryoptions_chains_*intraday_gex_snapshotsCurrent Symbol Universe (61 tickers)
SPY, QQQ, IWM, XLF, XLE, XLK, XLV, AAPL, MSFT, AMZN, GOOGL, META, NVDA, TSLA, and 47 others in
equity_prices_daily.Key Limitation
Regime data (
options_daily_summary.regime) currently only has meaningful coverage for SPY. Multi-symbol regime stratification requires the backfill to populate regime classifications for QQQ, IWM, sector ETFs, and individual names.Research Tasks to Re-run
Batch 1: Core GEX Strategies (originally 2021–2023, SPY-focused)
[Research] Delta Neutral / Long Volatility Signal from GEX Data #544 Delta Neutral / Long Volatility — Re-run with 2008–2023 data
[Research] Correlation / Dispersion Trading via GEX #545 Correlation / Dispersion Trading — Re-run with expanded sectors
[Research] Pairs Trading (Mean Reversion) Z-Score Signal #546 Pairs Trading Mean Reversion — Test new pairs
Batch 2: Extended Research (originally 2020–2023)
[Research] Re-validate MACD+RSI in Positive Gamma with Corrected Methodology #531 MACD+RSI Regime Re-validation — Expand symbols and period
[Research] Intraday GEX Validation - Practitioner Use Case #530 Intraday GEX Validation — Re-test with more data
[Research][Testing] Transaction Cost Sensitivity Analysis #541 Transaction Cost Sensitivity — Re-sweep with longer backtest
[Research][Testing] Real Market Fat Tails Validation #542 Fat Tails Validation — Add GFC period
[Research] VaR vs CVaR Risk Metrics for RiskAgent #543 VaR/CVaR Risk Metrics — Regime-stratify with more data
New Analysis Opportunities (with 2008+ data)
Market Epoch Comparison
Key Questions
Backfill Progress Checklist
Before re-running, verify:
equity_prices_dailyhas data back to 2008 for core symbolsoptions_daily_summaryhas regime data for QQQ, IWM, sector ETFsoptions_chains_*partitions populated for 2008–2020SELECT symbol, MIN(trading_date), MAX(trading_date), COUNT(*) FROM equity_prices_daily GROUP BY symbol ORDER BY symbolto verify coverageImplementation Notes
scripts/research/src/backtesting/signals/src/backtesting/research_backtester.py(PostgreSQL-backed)src/backtesting/gex_overlay.pysrc/backtesting/risk_metrics.pyRunner Modifications Needed
Related Issues