TeX 62.4%
Python 37.5%
1<!-- Author: Simon-Pierre Boucher — simon-pierre.boucher@uqo.ca -->2# 🌐 Intraday Volatility Transmission Across Asset Classes34**UQO Working Paper No. 6** — *A Connectedness Analysis of Equities, Foreign Exchange, Commodities, and Cryptocurrencies*56[-b31b1b?logo=latex&logoColor=white)](paper/main.pdf)7[](requirements.txt)8[](data/raw/README.md)9[](scripts/)10[](https://uqo.ca)11[](mailto:simon-pierre.boucher@uqo.ca)1213> **TL;DR** — Daily realized volatility is built from 5-minute bars (2008–2026) for 10 instruments — equity futures (ES, NQ), FX (EURUSD, USDJPY, GBPUSD), commodities (GC, CL), crypto (BTC, ETH) and the VIX — and the Diebold–Yilmaz connectedness of **log** RV is estimated on the **2,514 trading days** common to all series (2016-03 → 2026-03; VAR(4), 10-day GFEVD, residual-bootstrap 90 % intervals). Total spillover is **54.8 %** [53.1, 56.9]. ES and NQ are the only robust net transmitters (**+36.0 / +25.6 pp**); the RV of the VIX (**−20.6**), crude oil (−14.2) and sterling (−13.2) are net receivers; BTC/ETH net positions are indistinguishable from zero. Crypto's exposure to traditional assets rises from < 10 % of forecast-error variance (2017, 2019) to 20–46 % (2020–2025), with the flow running **from U.S. equities to crypto**: in the spot-ETF era BTC is a significant net receiver (−12.4 [−20.4, −2.1]). Connectedness peaks in 2025 (71.5 %). Intraday (time stamps converted from Eastern to UTC), the U.S. cash session generates 53–63 % of equity/VIX daily variance while bitcoin's hourly profile is nearly flat (peak/trough 1.2); weekend bitcoin volatility does not predict Monday equity volatility.1415---1617## 📌 Status1819| Item | Value |20|---|---|21| Version | **1.1 (October 2026)** — revised 2026-10-17 by the editorial-board review (v1.0: May 2026) |22| SSRN | not yet submitted |23| Journal | — (realistic targets: IRFA, JIFMIM; see `docs/REVIEW-REPORT.md` §9) |24| Code & data | VAR/GFEVD stage fully reproducible from the committed `results/daily_rv_all.csv` (`scripts/02_…`, ≈ 1 min); intraday stage from local 1-minute bars (`scripts/03_…`); raw 5-minute DuckDB files not redistributed |2526## 🎯 What this paper does2728The paper measures how realized-volatility shocks travel across asset classes at the daily frequency, using realized volatility from 5-minute data rather than range- or return-based proxies, and exploits the intraday data a second time to study trading sessions. Ten instruments are followed over 2008–2026; the generalized forecast-error variance decomposition of a VAR on log realized volatility yields directional, net and total spillovers with bootstrap intervals:2930```31RV_{i,t} = Σ_k r²_{i,t,k} (5-min) → y = ln √(252·RV) on common trading days → VAR(4), GFEVD(H = 10) → TSI, TO, FROM, NET (+ 90 % bootstrap CI)32```3334Full-sample, robustness-grid (15 specifications), rolling (200/250/500 trading days), regime (pre-COVID, COVID crash, 2022 hikes, spot-ETF era) and calendar-year decompositions are complemented by Granger tests with HAC inference, a UTC-correct hourly/session analysis (Asian / European / U.S.) and session-ordered predictive regressions between equity futures, the VIX and bitcoin.3536## 🏆 Headline results3738| Object | Estimate (v1.1) |39|---|---|40| Total spillover index, 2016-03 → 2026-03 (T = 2,514) | 54.8 % [53.1, 56.9] |41| Net spillover ES / NQ | +36.0 [29.9, 41.5] / +25.6 [19.0, 31.3] pp |42| Net spillover VIX (RV of index changes) / CL / GBPUSD | −20.6 / −14.2 / −13.2 pp (all CIs exclude 0) |43| Net spillover BTC / ETH | +1.7 [−3.3, 6.4] / −2.4 [−7.9, 2.1] pp |44| Own-shock share BTC / ETH ; BTC↔ETH | 66.7 / 64.9 % ; 27–28 % |45| Share of BTC variance from traditional assets | 6.3 % full sample ; 6.8 % (2019) → 34 % (2020) → 46 % (2025) |46| Spot-ETF era (2024-01 → 2026-03): NET BTC / ETH | −12.4 [−20.4, −2.1] / −19.5 [−27.7, −9.2] pp |47| COVID crash (T = 85, VAR(1)): NET USDJPY | +81.8 [+7.3, +135.3] pp |48| Rolling TSI (200 td): mean / min / max | 61.9 % / 50.5 % (2017-10-27) / 73.4 % (2025-09-24) |49| Granger ES → RV(VIX) | F = 19.9, HAC Wald 62.8, p < 0.001 |50| U.S.-session share of daily variance: ES / NQ / VIX | 53 / 54 / 63 % ; BTC hourly peak/trough = 1.2 |51| Weekend BTC RV → Monday ES U.S.-session RV | coef −0.04 (s.e. 0.05), not significant |5253## 🗂 Repository layout5455```56intraday-volatility-connectedness/57├── data/raw/README.md # 4 DuckDB 5-min databases (not committed) + 1-min bars used by 03_ (sibling WP 12)58├── scripts/59│ ├── 01_analysis.py # stage 1 (May 2026): RV construction → results/daily_rv_all.csv ; stages 3–8 superseded60│ ├── 02_connectedness_revision.py # stage 2 (Oct 2026): trading-day panel, log RV, VAR/GFEVD, bootstrap, robustness, rolling, regimes, yearly, Granger61│ └── 03_intraday_sessions.py # stage 3 (Oct 2026): ET→UTC conversion, hourly profile, session RV, session-ordered regressions62├── results/ # daily_rv_all.csv, table1_… (v1.0) ; rev_*.csv (v1.1)63├── figures/ # fig1…fig8 PNG (copied into paper/figures)64├── paper/ # main.tex + sections/ + appendix/ + tables/ (generated .tex) + references.bib → main.pdf65└── docs/ # REVIEW-REPORT.md, CHANGELOG-REVISION.md, main_pre-revision-20261017.pdf66```6768## 🚀 Quick start6970```bash71python3 -m pip install -r requirements.txt72# optional stage 1: place the four DuckDB files in data/raw/ (or export WP6_DATA_DIR) — ≈ 10 min, ≈ 8 GB RAM73python3 scripts/01_analysis.py74# stage 2 (no raw data needed): all connectedness results, tables and figures 2–4, 6–8 — ≈ 1 min75python3 scripts/02_connectedness_revision.py76# stage 3: intraday sessions (export WP6_MINUTE_DIR=/path/to/1-min parquets) — ≈ 35 s77python3 scripts/03_intraday_sessions.py78cd paper && make # latexmk → main.pdf79```8081## 🗃 Data82835-minute OHLCV bars from FirstRate Data, 2008–2026, **time stamps in U.S. Eastern time**: continuous futures (ES, NQ, GC, CL), spot FX (EURUSD, USDJPY, GBPUSD), spot crypto (BTC, ETH, composite of exchanges) and the VIX index. Realized volatility is the daily sum of squared 5-minute log returns on Eastern-time calendar days (≥ 20 bars; returns beyond 20 sample s.d. dropped — a v1.0 choice disclosed in v1.1). The VAR panel is the set of trading days on which all ten instruments have an own RV (CBOE calendar, no forward filling). Intraday sessions use 1-minute bars of the same vendor converted to UTC. See `data/raw/README.md`.8485## 🔬 Methodology86871. **Realized volatility** per instrument and day (`01_analysis.py`), log-transformed for the VAR (ADF/KPSS reported).882. **Diebold–Yilmaz (2012) connectedness**: VAR(4) (Hannan–Quinn), generalized FEVD at H = 10, TSI / TO / FROM / NET and net pairwise spillovers; **residual bootstrap** (B = 500) for 90 % intervals.893. **Robustness grid**: levels vs log, p ∈ {1,2,3,6}, H ∈ {5,20}, weekend-inclusive crypto RV, sub-periods, exclusion of VIX / crypto.904. **Rolling** windows of 200 / 250 / 500 trading days; **regimes** (4) and **calendar years** with intervals.915. **Granger causality** (F and HAC Wald) on daily log RV.926. **Sessions**: hourly profile in UTC, session RV shares, session-ordered predictive regressions, weekend-BTC → Monday-ES test.9394## 🖼 Figures & tables inventory9596| Figure | Content |97|---|---|98| `fig1_rv_timeseries` | daily realized volatility, 10 instruments (v1.0) |99| `fig2_connectedness_heatmap` | full-sample GFEVD shares |100| `fig3_rolling_spillover` | rolling TSI, 200/250/500 trading days |101| `fig4_net_spillovers_regimes` | net spillovers by regime with 90 % intervals |102| `fig5_hourly_volatility` | hourly |5-min return| by UTC hour, ES/NQ/VIX/BTC |103| `fig6_net_directional_btc_es` | rolling net spillovers BTC and ES |104| `fig7_network_graph` | network of net pairwise spillovers |105| `fig8_yearly_crypto_integration` | BTC net spillover and exposure to traditional assets by year |106107Tables (`paper/tables/*.tex`, generated from `results/rev_*.csv`): RV descriptives, full connectedness with CIs, robustness grid, regimes (summary + 4 full matrices), calendar years, Granger, sessions, session-ordered regressions, weekend test, construction audit, lag selection, rolling summary.108109## ⚠️ Limitations110111- 5-minute returns beyond 20 s.d. were dropped before RV was computed (v1.0 pipeline; raw bars not available to re-run); composite crypto feed shows cross-venue price oscillations in 2017 (BTC RV > 1,000 % annualized on a few days — reproduced on the vendor's 1-minute feed).112- Continuous futures splice contracts at roll dates; roll returns are not removed.113- Linear, symmetric VAR; i.i.d. residual bootstrap (indicative intervals); 10 instruments, no fixed-income series.114- A "day" is an Eastern-time calendar day, which splits the Globex session; crypto weekend variance enters only in a robustness check.115116## 📝 Citation117118```bibtex119@techreport{boucher2026connectedness,120 author = {Boucher, Simon-Pierre},121 title = {Intraday Volatility Transmission Across Asset Classes: A Connectedness Analysis of Equities, Foreign Exchange, Commodities, and Cryptocurrencies},122 institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},123 type = {Working Paper},124 number = {6},125 year = {2026},126 month = {October},127 note = {Version 1.1}128}129```130131## 👤 Author & contact132133**Simon-Pierre Boucher** — Département des sciences administratives,134Université du Québec en Outaouais (UQO), Gatineau, QC.135📧 [simon-pierre.boucher@uqo.ca](mailto:simon-pierre.boucher@uqo.ca)136137## 🗒 Notes138139- **Revision 2026-10-17 (v1.0 → v1.1)**: scientific review by the editorial board — see `docs/REVIEW-REPORT.md` (diagnosis, verdicts, recommended analyses not executed, publication readiness) and `docs/CHANGELOG-REVISION.md` (audit trail of every correction, references verified/added/removed, re-analyses). Pre-revision state: git tag `pre-revision-20261017`, `docs/main_pre-revision-20261017.pdf`.140- Main corrections: trading-day panel instead of forward-filled calendar days; log RV; bootstrap intervals; Eastern→UTC time stamps in the intraday analysis; subtitle "Fixed Income" → "Foreign Exchange" (no fixed-income instrument in the sample); bibliography converted to `references.bib` (natbib/aer), 45 → 70 verified references.141- `results/table2…table4*.csv` and `rolling_total_spillover.csv` are the v1.0 outputs, kept for the audit; v1.1 outputs are prefixed `rev_`.142- The original flat manuscript (`paper.tex`, May 2026) is archived in `Recherche-UQO/_archives/versions-mai-2026/intraday-volatility-connectedness--flat-tex-20260520/`.143