SPB Git

spb/wp46_uqo

Public
6.5 KB · 97 lines markdown
1<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->2# 📊 Four Decades of Conditional Volatility Modeling34**UQO Working Paper No. 46** — *A Comprehensive Empirical Benchmark Across Assets, Frequencies, and Market Regimes*56[![Paper](https://img.shields.io/badge/paper-PDF-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)7[![Python](https://img.shields.io/badge/python-3.12%20·%20uv%20·%20arch%208.0.0-3776AB?logo=python&logoColor=white)](pyproject.toml)8[![Data](https://img.shields.io/badge/data-FinData%20OS%20·%2042%20instruments%20·%202000--2026-4051b5)](docs/findata_audit.md)9[![Reproducible](https://img.shields.io/badge/reproducible-pre--registered%20·%20tests%20·%20rugarch%20cross--check-2e7d32)](docs/replication_guide.md)10[![Institution](https://img.shields.io/badge/UQO-D%C3%A9pt.%20des%20sciences%20administratives-16365c)](https://uqo.ca)11[![Author](https://img.shields.io/badge/author-Simon--Pierre%20Boucher-16365c)](mailto:simon-pierre.boucher@uqo.ca)1213> **TL;DR** — Across asset classes, horizons (1, 5, 22 days), market regimes and information sets, when — if ever — do14> more complex conditional volatility models reliably beat GARCH(1,1), and is any gain worth the numerical and computational15> cost? A pre-registered benchmark (protocol frozen at git tag `prereg-frozen` before any test-period loss was computed) of16> 29 scored architectures × innovation laws (ARCH, GARCH, IGARCH, GARCH-M, GJR, TGARCH, EGARCH, NAGARCH, QGARCH, AVGARCH,17> APARCH, FIGARCH, component, MS-GARCH, GAS-t; HAR, Realized GARCH, HEAVY, GARCH-X; CCC/DCC/aDCC/BEKK) on 42 instruments18> (ETFs, stocks, futures, FX, crypto; FinData OS 1-minute and daily bars 2000–2026), with QLIKE against a full-day realized19> proxy, DM/MCS/SPA inference, VaR/ES backtests, regime splits, failure and compute accounting. **Headline results are20> filled in by `scripts/build_paper.py` after the benchmark; see the Status section.**2122---2324## 📌 Status2526| Item | Value |27|---|---|28| Version | 1.0 (November 2026) — built autonomously on 2026-11-09 under the owner's brief (`docs/BRIEF.md`) |29| Protocol | `docs/preregistered_protocol.md`, frozen 2026-11-09 (commit 3590bd6, tag `prereg-frozen`) |30| SSRN / journal | not yet submitted |31| Code & data | code, manifests, checksums and aggregate results in this repository; raw bars under the FirstRate Data private licence (not redistributed) |3233## 🎯 What this paper does34C1 a definition-faithful taxonomy and mathematical reference (`configs/model_registry.yaml`, `model_cards/`); C2 a multi-asset35out-of-sample benchmark with identical rolling origins, targets and losses within each information tier; C3 a36complexity–accuracy–robustness frontier (failures, inadmissible estimates, compute cost, regimes); C4 an open benchmark and37replication package (`docs/replication_guide.md`).3839## 🏆 Headline results40See `paper/main.pdf` (Sections 6–10) and `results/tables/pooled_main_test.csv`; this table is regenerated by `scripts/build_paper.py`.4142## 🗂 Repository layout43```44wp46_garch_benchmark/45├── CLAUDE.md · README.md · pyproject.toml · progress.md46├── configs/        study · instruments · model_registry · forecast_protocol (.yaml, frozen)47├── docs/           BRIEF · findata_audit · literature_matrix · preregistered_protocol · feasibility_report · methodology_decisions · data_dictionary · replication_guide48├── src/wp46/       findata_client · calendars · preprocessing · realized_measures · models (arch wrappers, custom MLE, baselines, multivariate, distributions)49│                   · estimation (rolling driver) · scoring (losses, proxies, evaluate) · inference (DM, MCS, SPA, joint bootstrap) · diagnostics (VaR/ES) · reporting50├── scripts/        audit_findata · ingest_bars · build_panels · build_rcov · run_pilot · make_jobs · run_benchmark · node_run.sh · dispatch_nodes51│                   · run_tier_c · compute_losses · analyze · analyze_tier_c · build_paper · build_references52├── tests/          unit · integration · simulation (Monte Carlo recovery) · replication (rugarch cross-check)53├── model_cards/    one card per architecture54├── results/        manifests (audit, ingest, panels, jobs, figure audit) · metrics (pilot, losses, analysis, cross-checks) · tables · figures · logs55└── paper/          main.tex · sections/ · appendices/ · tables/ (generated) · figures/ (generated) · references.bib (Crossref-verified) · main.pdf56```5758## 🚀 Quick start59See `docs/replication_guide.md`. Without a FinData credential: `make test` (unit, integration) and the synthetic fixture.6061## 💾 Data62FinData OS (FirstRate Data): 1-minute and daily bars for 42 instruments, audited on 2026-11-09 (`docs/findata_audit.md`);63session conventions and realized measures in `docs/data_dictionary.md`; decisions D-01…D-15 in `docs/methodology_decisions.md`.6465## 🔬 Methodology66Rolling window 1,000 days, re-estimation every 5 days with daily filtering; horizons 1/5/22 with same-horizon cumulative67proxies; QLIKE primary (MSE/MAE secondary; six proxy variants); DM-HAC, 90 % MCS, SPA, joint block bootstrap across instruments,68Holm counts; VaR/ES 1 %/5 % (Kupiec, Christoffersen, DQ, FZ0); regimes defined without look-ahead; failure policy and compute69accounting (`docs/preregistered_protocol.md`).7071## 📈 Figures & tables inventory72`results/manifests/figure_audit.csv` (sources of every figure); `paper/tables/*.tex` generated by `scripts/build_paper.py`.7374## ⚠️ Limitations75Surviving liquid instruments only; vendor futures roll rule undocumented; crypto realized measures valid from 2022 only;76FIEGARCH/FIAPARCH/HYGARCH/ST-GARCH/GARCH-MIDAS/SV/Realized EGARCH inventoried but not scored (no vetted implementation or77outside the information set); Tier C at h = 1 only.7879## 📖 Citation80```bibtex81@techreport{boucher2026garchbenchmark,82  title  = {Four Decades of Conditional Volatility Modeling: A Comprehensive Empirical Benchmark Across Assets, Frequencies, and Market Regimes},83  author = {Boucher, Simon-Pierre},84  year   = {2026},85  institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},86  type   = {UQO Working Paper},87  number = {46}88}89```9091## 👤 Author & contact92Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca — Département des sciences administratives, UQO.9394## 📝 Notes95Folder named `wp46_garch_benchmark` as requested by the brief (standard slug convention otherwise). Pre-registration disclosure:96SPY 2024 forecast values (no losses) were inspected during driver smoke tests before the freeze (D-15).97
Files · main
Menu

Theme