Summary¶
The V1 snapshot script (tools/regime_snapshot.py) mechanizes operating-rhythm step 1: it fetches VIX and VIX3M as same-date prior closes (one FRED request, VIXCLS + VXVCLS), computes the fitted HAR-RV 30-day forecast from Tiingo EOD data (replacing the day-1 placeholder garch_forecast), applies the regime bands with hysteresis, and appends a v1-schema record to the regime journal.
Execution¶
cd options-system-wiki/tools
python3 regime_snapshot.py # today; appends to 96-journal/regime.jsonl
python3 regime_snapshot.py --no-append # dry run
Exit 0 = label computed; exit 2 = fail-closed (data_missing recorded — also when an input is stale: the FRED close or the HAR window_end more than max_input_age_business_days (2) business days before --asof — the risk never-rule then forbids new risk).
Computation Notes¶
- Forecast: HAR-RV (Corsi 2009), rolling 756-obs fit on Tiingo SPY closes, iterated 22 trading days ahead. Model version (input hash) is recorded per snapshot — forecast provenance is auditable.
- IV30 is the VIX proxy (provisional). Canonical IV30 comes from ThetaData at V1b; until then
vrp_sign/vrp_sizecarry the proxy caveat. - First live run 2026-09-11: VIX 17.84, ratio 0.959 (flat), forecast 14.55%, VRP_size +3.29 — at the proposed amendment threshold.
References¶
- Corsi (2009), A Simple Approximate Long-Memory Model of Realized Volatility, Quantitative Finance 9(2) — the HAR specification
- Tiingo API: https://api.tiingo.com/ ; FRED VIXCLS: https://fred.stlouisfed.org/series/VIXCLS ; FRED VXVCLS (VIX3M): https://fred.stlouisfed.org/series/VXVCLS