⚡ Faster, Wider, More Fragile?
UQO Working Paper No. 15 — The Evolution of Intraday Shock Propagation in U.S. Equity Markets, 1992–2026
TL;DR — Using 7.69 billion one-minute bars on the full listed and delisted U.S. equity cross-section (1992–2026), we track how intraday shocks propagate. (1) Markets absorb idiosyncratic shocks: across 1.85 million isolated ±6σ minute events, abnormal market-wide propagation against matched within-stock placebos is economically zero at 1–120 minutes, in every decade. (2) Transmission is concentrated and intensifying: the shocked stock's twenty closest lagged-correlation neighbours respond strongly (+64×10⁻⁴ abnormal jump probability at five minutes) and this network channel tripled from the 1990s (+28) to the 2020s (+90) while market-wide spillover stayed at zero. (3) Tail synchronisation migrated to the market-wide minute: ordinary extreme minute returns became 108× rarer than in the 1990s, the Epps curve flattened (one-minute pairwise correlation 0.004 in 1996 vs 0.30 in 2015), and severe co-jump minutes spike by orders of magnitude in 2008 and 2020. Modern markets absorb the idiosyncratic and transmit the systemic.
📌 Status
| Item | Value |
|---|---|
| Version | 1.0 (July 2026) — UQO working-paper cover added 2026-10-17 |
| SSRN | not yet submitted |
| Journal | International Review of Financial Analysis — submission package ready in outputs/release/ (manuscript, anonymous manuscript, highlights, cover letter, title page, online appendix), not yet submitted (outputs/release/submission_checklist.md: online appendix and data-licence note still open) |
| Code & data | reproducible from scripts/ (see Quick start); raw minute bars (88 GB) not redistributed |
🎯 What this paper does
Has the U.S. equity market become faster, wider and more fragile at the intraday horizon? The paper answers with the longest and broadest minute-level panel assembled to date — every listed and delisted common stock from 1992 to 2026 — and three complementary measurement devices:
- Shock-propagation event studies: 1.85 million isolated ±6σ one-minute events, each matched to a within-stock placebo minute, tracked at horizons of 1 to 120 minutes for breadth (share of other stocks jumping), gradient (response by liquidity/size tier) and network response (twenty nearest lagged-correlation neighbours);
- Epps curves: pairwise correlation as a function of sampling interval, by year;
- Co-jump counts: the number of stocks with extreme minute returns in the same minute, with a severity scale calibrated on calm, GFC and COVID periods.
All headline numbers are macro-generated from machine-readable registries
(paper/results_macros.tex, built by scripts/15_build_results_macros.py); no number is hand-typed.
🏆 Headline results
| Object | Estimate |
|---|---|
| Panel | 7,686,275,524 bars, 81,306 tickers, 221,957 listing spells |
| Isolated ±6σ events (real / placebo) | 1,854,384 / 1,766,058 |
| Abnormal market-wide breadth, 5 min / 30 min | −1.04 (0.90) / −3.10 (1.01) ×10⁻⁴ — zero |
| Network response (20 neighbours), 5 / 15 / 30 min | +64.0 (1.8) / +55.4 (1.8) / +49.6 (1.8) ×10⁻⁴ |
| Network response by decade (5 min) | 1990s +28 → 2000s +30 → 2010s +81 → 2020s +90 |
| Extreme minute returns (>1%), 1990s → 2010s | 518 → 4.8 per million (÷108) |
| Epps: 1-min correlation, 1996 / 2015 / 2024 | 0.004 / 0.30 / 0.21 |
| Severe co-jump minutes, calm / GFC / COVID | 3.5 / 9.3 / 6.4 per 10,000 ; COVID severe share 83.7 % vs 9.53 % pre-COVID |
| Robustness (Table VIII) | 11 designs incl. placebo-network falsification, month-cluster bootstrap, post-decimalisation |
🗂 Repository layout
intraday-fragility/
├── config/ # all parameters (YAML) — no magic constants in code
├── src/intraday_fragility/ # package: download, audit, cleaning, features, shocks, networks, econometrics, tables, figures
├── scripts/ # 00_download_pilot … 16_robustness (numbered pipeline)
├── tests/ # pytest (7 tests)
├── data/ # manifests only (raw bars never committed)
├── outputs/
│ ├── estimates/ # machine-readable estimates (707 MB, not committed)
│ ├── diagnostics/ # audit JSON reports
│ ├── figures/, tables/ # generated figures (PDF+PNG with source CSV) and LaTeX tables
│ └── release/ # IRFA submission package (manuscript, anonymous, highlights, cover letter, title page, online appendix)
├── appendix/ # Internet Appendix (internet_appendix.tex → .pdf)
├── docs/ # DATA_AUDIT, DATA_DICTIONARY, DECISION_LOG, EMPIRICAL_DESIGN, LIMITATIONS, LITERATURE_MAP, REPRODUCIBILITY, COMPUTE_LOG
├── logs/ # pipeline logs
├── STATUS.md # stage-by-stage progress log
└── paper/
├── main.tex # UQO working-paper version (template cover) → main.pdf
├── main_irfa.tex # journal version (elsarticle, IRFA) → main_irfa.pdf
├── main_irfa_anon.tex # anonymous journal version → main_irfa_anon.pdf
├── highlights.tex # Elsevier highlights
├── sections/, figures/, tables/, bibliography/references.bib, results_macros.tex🚀 Quick start
uv sync # or: pip install -e .
python -m intraday_fragility.cli probe-data
python -m intraday_fragility.cli download --start 1992-01 --end 2026-03 # 411 monthly parquet files, 87.7 GB
python -m intraday_fragility.cli verify-download
make # runs scripts/00 … 16 in order (see Makefile)
python scripts/15_build_results_macros.py # → paper/results_macros.tex
cd paper && make # UQO WP → main.pdf
cd paper && latexmk -pdf main_irfa.tex main_irfa_anon.tex # journal + anonymous versionsFull download and cleaning run on the MacLustr cluster (see docs/COMPUTE_LOG.md); the
estimation stages run on a 64 GB Apple-silicon node.
🗃 Data
Minute-level OHLCV bars from the Hugging Face dataset mito0o852/OHLCV-1m, pinned at revision
776328445b7ac6e7815ef3a483e9c8ded1eb6d56 (411 monthly Parquet files, 87.7 GB, 1992-01 → 2026-03,
no missing months; upstream source Finnhub.io per the dataset card). Schema: UTC bar-start
timestamp, unadjusted OHLC, integer volume, ticker; no zero-volume bars (missing minute = no
trade). Delisted securities are present (only 22–26 % of 1992 tickers survive). Cleaning: exchange
calendar truncation, split/reverse-split screens (6,944 events), OHLC-violation and duplicate
screens, corporate-action filters before any variance-based measure. Full audit:
docs/DATA_AUDIT.md; variable definitions: docs/DATA_DICTIONARY.md. The dataset card carries no
licence — the raw data are therefore not redistributed (docs/LIMITATIONS.md).
🔬 Methodology
- Universe & cleaning (
scripts/04–08,src/…/cleaning.py): monthly audits, split refinement, clean minute panel by listing spell. - Aggregates (
09–10): extreme-return frequencies, realised variance, Epps curves, staleness. - Shock detection & propagation (
11–14,src/…/shocks.py,networks.py): isolated ±6σ events, matched within-stock placebos, breadth / gradient / network responses at 1–120 min, difference-in-differences by decade. - Co-jumps (
13–14): market-wide extreme-minute counts and severity regimes. - Inference (
src/…/econometrics.py): event-clustered and month-cluster bootstrap standard errors. - Robustness (
16): 11 designs — post-decimalisation, mid-day, ex-announcement, calm/crisis, |z| ≥ 8/12, ex-non-common, placebo network. - Reporting (
15,src/…/tables.py,figures.py): results macros, LaTeX tables, CVD-safe vector figures.
🖼 Figures & tables inventory
| Figure | Content |
|---|---|
figP1_coverage, figP2_seasonality |
pilot coverage and intraday seasonality |
figE1_coverage … figE9_splits |
universe coverage, survivorship, seasonality, concentration, extreme minutes, realised variance, staleness, Epps curves, splits |
figF1_irf_decade |
propagation impulse responses by decade |
figF2_evolution |
evolution of breadth vs network channel |
figF3_gradient_state |
response gradient by liquidity tier and market state |
figF4_network |
nearest-neighbour network response |
figF5_cojumps |
co-jump counts and severity regimes |
Tables (paper/tables/*.tex): data audit, sample cascade, propagation estimates by horizon and decade, gradient, network, co-jumps, Epps, robustness battery (Table VIII).
⚠️ Limitations
- Bars are trade-conditional (no zero-volume bars) and the venue scope (consolidated vs single venue) is not documented upstream.
- Security-type classification relies on suffix heuristics; non-common securities are excluded in robustness only.
- Data licence unspecified on the dataset card: research use with citation, no redistribution of derived minute data.
- Extended online appendix tables still to be finalised before journal submission.
📝 Citation
@techreport{boucher2026fragile,
author = {Boucher, Simon-Pierre},
title = {Faster, Wider, More Fragile? The Evolution of Intraday Shock Propagation in U.S. Equity Markets, 1992--2026},
institution = {Universit\'e du Qu\'ebec en Outaouais, D\'epartement des sciences administratives},
type = {Working Paper},
number = {15},
year = {2026},
month = {July}
}👤 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
- Numbering: the project was first filed as
UQO_WP_001; it is Working Paper No. 15 since 2026-10-17 (No. 1 is the amenity-capitalisation paper). paper/main.tex(UQO cover, template ofRecherche-UQO/_modele-working-paper) was created on 2026-10-17 from the IRFA manuscript; the pre-existing skeleton (“Preliminary — do not cite”) was discarded. Scientific content is identical tomain_irfa.tex; only the cover, bibliography style (aer) and layout differ.- Three PDFs are committed on purpose:
main.pdf(working paper),main_irfa.pdf(journal),main_irfa_anon.pdf(anonymous review copy). outputs/estimates/(707 MB) is excluded from git; regenerate with the pipeline.- Original project brief:
docs/PROMPT_INITIAL_CLAUDE.md; development conventions:docs/CLAUDE.md.