SPB Git forge

spb/wp6_uqo

Public
3commits 1branches 1releases
6.7 MBsize
maindefault branch
24 min agolast push
TeX 62.4% Python 37.5%
6.8 KB

# 🌐 Intraday Volatility Transmission Across Asset Classes

UQO Working Paper No. 6 — A Connectedness Analysis of Equities, Fixed Income, Commodities, and Cryptocurrencies

Paper Python Data Reproducible Institution Author

TL;DR — Daily realized volatility is built from 5-minute bars (2008–2026) for 10 instruments spanning equity futures (ES, NQ), FX (EURUSD, USDJPY, GBPUSD), commodities (GC, CL), crypto (BTC, ETH) and the VIX, and fed to the Diebold–Yilmaz (2012) connectedness framework (VAR(4), 10-day GFEVD). Total spillover is 55.4 %; ES and NQ are the dominant transmitters (+26.8 / +19.7 pp net), the VIX the main receiver (−23.4 pp), and crypto stays largely isolated (own-shock share > 77 %). Connectedness peaks at 81.6 % in February 2018; during COVID USD/JPY becomes the top shock originator and in the 2022 hiking cycle Bitcoin turns into a net transmitter (+7.9 pp).


# 📌 Status

Item Value
Version 1.0 (May 2026)
SSRN not yet submitted
Journal —
Code & data reproducible from scripts/01_analysis.py; raw DuckDB files not redistributed

# 🎯 What this paper does

The paper measures how volatility shocks travel across asset classes at the daily frequency, using realized volatility computed from intraday data rather than low-frequency proxies. Ten representative instruments are followed over 2008–2026 and the generalized forecast-error variance decomposition of a VAR is used to build directional, net and total spillover indices:

text
RV_{i,t} = Σ_k r²_{i,t,k}  (5-min returns)      →  VAR(4) on log RV  →  GFEVD(H = 10)  →  TSI, TO, FROM, NET

Full-sample, rolling (200-day) and regime-specific (pre-COVID, COVID crash, 2022 rate hikes) decompositions are complemented by a trading-session analysis (Asian / European / U.S. hours) and Granger-causality tests between equity futures, the VIX and crypto.

# 🏆 Headline results

Object Estimate
Total spillover index, full sample 55.44 %
Net spillover ES / NQ +26.80 / +19.72 pp
Net spillover VIX −23.37 pp
Own-shock share BTC, ETH > 77 %
Rolling TSI peak 81.55 % (Feb 2018 volatility implosion)
COVID crash top transmitter USD/JPY (+60.29 pp)
2022 rate hikes: BTC net spillover +7.90 pp (net transmitter)
Granger: equity futures → VIX F = 19.86, p < 0.001

# 🗂 Repository layout

text
intraday-volatility-connectedness/
├── data/
│   ├── raw/                  # futures_5min / fx_5min / crypto_5min .duckdb (see data/raw/README.md) — not committed
│   └── processed/
├── scripts/
│   └── 01_analysis.py        # RV construction, VAR/GFEVD, rolling & regime analysis, sessions, Granger, figures
├── results/                  # table1…table4 CSV, daily_rv_all.csv, rolling_total_spillover.csv
├── figures/                  # fig1…fig7 PNG (copied into paper/figures)
└── paper/                    # main.tex + sections/ + appendix/ → main.pdf

# 🚀 Quick start

bash
python3 -m pip install -r requirements.txt
# place the three DuckDB files in data/raw/ (or export WP6_DATA_DIR=/path/to/dbs)
python3 scripts/01_analysis.py      # ≈ 10 min, ≈ 8 GB RAM (loads 235 M bars)
cd paper && make                    # latexmk → main.pdf

# 🗃 Data

5-minute OHLCV bars from FirstRate Data, 2008–2026: CME/CBOE continuous futures (ES, NQ, GC, CL, VX), spot FX (EURUSD, USDJPY, GBPUSD) and crypto spot (BTC, ETH). Realized volatility is the daily sum of squared 5-minute log returns; sessions are defined in exchange time. See data/raw/README.md.

# 🔬 Methodology

  1. Realized volatility per instrument and day from 5-minute closes (scripts/01_analysis.py, §1–2).
  2. Diebold–Yilmaz (2012) connectedness: VAR(4) on log RV, generalized FEVD at H = 10, total / directional / net spillovers (§3).
  3. Rolling 200-day windows for time variation (§4).
  4. Regime sub-samples: pre-COVID, COVID crash, 2022 rate hikes (§5).
  5. Trading sessions: hourly volatility profiles and session-level Granger causality (§6).
  6. Network graph of net pairwise spillovers (§7).

# 🖼 Figures & tables inventory

Figure Content
fig1_rv_timeseries daily realized volatility, 10 instruments
fig2_connectedness_heatmap full-sample spillover table
fig3_rolling_spillover rolling total spillover index
fig4_net_spillovers_regimes net spillovers by regime
fig5_hourly_volatility intraday volatility by session
fig6_net_directional_btc_es net directional spillovers BTC ↔ ES
fig7_network_graph net pairwise spillover network

Tables (results/*.csv): descriptive statistics, full connectedness table, three regime tables, session Granger tests.

# ⚠️ Limitations

  • Continuous futures series splice contracts at roll dates; roll returns are not removed.
  • Crypto trades 24/7 while futures and FX have session gaps, so daily RV windows differ across classes.
  • The GFEVD depends on the VAR lag (4) and horizon (10); robustness to these choices is reported in the appendix only.

# 📝 Citation

bibtex
@techreport{boucher2026connectedness,
  author      = {Boucher, Simon-Pierre},
  title       = {Intraday Volatility Transmission Across Asset Classes: A Connectedness Analysis of Equities, Fixed Income, Commodities, and Cryptocurrencies},
  institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},
  type        = {Working Paper},
  number      = {6},
  year        = {2026},
  month       = {May}
}

# 👤 Author & contact

Simon-Pierre Boucher — Département des sciences administratives, Université du Québec en Outaouais (UQO), Gatineau, QC. 📧 simon-pierre.boucher@uqo.ca

# 🗒 Notes

  • References are typeset with an inline thebibliography (paper/sections/references.tex, apalike style), not a .bib file — kept as is (deviation from HARMONISATION.md §3).
  • The original flat manuscript (paper.tex, May 2026) is archived in Recherche-UQO/_archives/versions-mai-2026/intraday-volatility-connectedness--flat-tex-20260520/.