\documentclass[12pt]{article} \makeatletter\def\input@path{{../paper/}}\makeatother \input{../paper/preamble} \graphicspath{{figures/}{../paper/figures/}} \title{Online Appendix for\\ ``Faster, Wider, More Fragile? The Evolution of Intraday Shock Propagation in U.S.\ Equity Markets, 1992--2026''} \author{} \date{} \begin{document} \maketitle \tableofcontents \clearpage \section{Extended data audit} \label{app:audit} \paragraph{Provenance and snapshot.} The data are one-minute OHLCV bars originally sourced from Finnhub.io and aggregated into 411 monthly files (January 1992--March 2026). The exact byte-level snapshot is pinned: every file's SHA-256 checksum was verified at download against the archive's metadata and re-verified after the full download; the manifest (per-file checksum, byte size, row count, column schema, timestamp bounds, symbol count, duplicate count) accompanies the replication package. The archive carries no explicit licence; the minute data are used for research with attribution and are not redistributed. \paragraph{Calendar and timezone.} Observed trading dates match the official XNYS calendar exactly over the full sample: zero missing sessions, zero dates outside the calendar, zero weekend observations. Timestamps are UTC at bar-start; mapping to Eastern Time was verified empirically on both sides of every daylight-saving transition (the regular session opens at 13:30 UTC in summer months and 14:30 UTC in winter months throughout). The regular-hours share of bars by calendar month is flat (96.75\%--97.09\%), ruling out any DST mishandling: an offset error would displace roughly 15\% of session rows in March and November. Early-closing sessions are truncated at the true exchange close; residual post-close prints (7.3\% of morning volume on 2025-12-24 versus 60.4\% on the adjacent full day) are labelled after-hours. \paragraph{Integrity.} Across \DataRows{} bars: \DataOHLCViol{} OHLC-impossible bars (1.3 per $10^8$, concentrated 1993--1995), zero non-positive prices, zero zero-volume or negative-volume bars, \DataDupKeys{} duplicate ticker-minute keys (1.3 per million; merged as open=first, high=max, low=min, close=last, volume=sum). Prices are unadjusted for corporate actions; volumes are in shares (verified against public daily volumes for benchmark securities). \paragraph{Identity and survivorship.} The panel spans \DataTickers{} tickers forming \DataSpells{} continuous spells (a gap exceeding 30 calendar days starts a new spell); \DataMultiSpellTickers{} tickers have multiple spells, so all long-horizon statements operate within spells. Delisted securities are present throughout (exits run 800--1,600 per year); the single discrete coverage expansion (2020, over-the-counter names) is absorbed by fixed-rule lagged universes. \paragraph{Corporate actions.} A conservative overnight-ratio screen (canonical ratios 2 through 8, 10, 20, and 3/2, with their inverses, $\pm1.5\%$ tolerance, both-day dollar volume $\ge \$50{,}000$, prior close $\ge \$1$) detects \NSplitEvents{} events (\NSplitFwd{} splits, \NSplitRev{} reverse splits); event days $\pm1$ trading day are excluded from every return-based statistic. \paragraph{Pilot audit.} Before the full download, three pilot months (June 1992, June 2009, December 2025; 58.8~million bars) were audited. Trading-day counts match the exchange calendar in all three, including the December~24, 2025 early close; no OHLC-consistency violation, null value, negative volume, or zero-volume bar occurs; 14 duplicate ticker--minute pairs (all in inactive over-the-counter names) appear in December 2025. Liquid securities are densely covered throughout: the four most active tickers in December 2025 have complete 390-bar regular sessions, and large issuers already average 277--369 bars per day in June 1992. Volume units were verified against public daily volumes for benchmark securities. Figure~\ref{fig:app_pilot_coverage} summarizes raw data volume and per-day symbol counts, Figure~\ref{fig:app_pilot} the pilot intraday seasonality, and Table~\ref{tab:pilot_summary} pilot summary statistics for the 500 highest dollar-volume securities in each pilot month. \begin{figure}[t] \centering \includegraphics[width=\textwidth]{figP1_coverage.pdf} \caption{\textbf{Dataset coverage.} Panel (a): compressed size of each monthly source file, 1992--2026 (all 411 files of the pinned snapshot). Panel (b): number of symbols with at least one bar per trading day in the three pilot months.} \label{fig:app_pilot_coverage} \end{figure} \section{Additional descriptive evidence} \label{app:descriptive} Figures~\ref{fig:app_survivorship}--\ref{fig:app_splits} complement the descriptive results of the main text: universe entry/exit dynamics, dollar volume concentration, the cross-section of realized volatility, the stale-price share, and the time series of detected corporate-action events. Table~\ref{tab:summary_by_decade} reports decade-level summary statistics for the top-1000 universe. \begin{figure}[t] \centering \includegraphics[width=\textwidth]{figE2_survivorship.pdf} \caption{\textbf{Universe dynamics.} (a) Active symbols per year; (b) entries and exits. The shaded band marks the 2020 source-coverage expansion.} \label{fig:app_survivorship} \end{figure} \begin{figure}[t] \centering \includegraphics[width=\textwidth]{figE4_concentration.pdf} \caption{\textbf{Concentration of trading.} (a) Share of aggregate dollar volume of the top 1\% and 5\% of symbols; (b) Herfindahl index of dollar volume.} \label{fig:app_concentration} \end{figure} \begin{figure}[t] \centering \includegraphics[width=.6\textwidth]{figE6_rv.pdf} \caption{\textbf{Cross-section of realized volatility.} Median, interquartile range, and 95th percentile of daily 5-minute realized volatility, lagged top-1000 universe.} \label{fig:app_rv} \end{figure} \begin{figure}[t] \centering \includegraphics[width=.6\textwidth]{figE7_staleness.pdf} \caption{\textbf{Stale-price share.} Percentage of one-minute returns exactly zero, lagged top-1000 universe (\ZeroRetNinetySix\% in 1996, \ZeroRetTwentyFour\% in 2024).} \label{fig:app_staleness} \end{figure} \begin{figure}[t] \centering \includegraphics[width=.6\textwidth]{figE9_splits.pdf} \caption{\textbf{Detected corporate-action events per year.} Forward splits (up) and reverse splits (down) from the overnight-ratio screen.} \label{fig:app_splits} \end{figure} \input{tables/table2_summary_by_decade} \clearpage \section{Additional propagation results} \label{app:propagation} Figure~\ref{fig:app_evolution} shows the year-by-year evolution of abnormal market-wide breadth at $h=5$ and $h=30$ with 95\% day-block bootstrap bands: the market-wide difference-in-differences is within two standard errors of zero in essentially every year, not merely on average. The design diagnostics (pre-event levels, co-arrival classes, pre-level-stratified estimates, alternative clustering, signed responses) and the decomposition of the network differential by decade are reported in the main text. \begin{figure}[t] \centering \includegraphics[width=.62\textwidth]{figF2_evolution.pdf} \caption{\textbf{Evolution of abnormal market-wide propagation.} $\Delta\Delta$ breadth by year at $h=5$ and $h=30$ minutes, with 95\% day-block bootstrap intervals.} \label{fig:app_evolution} \end{figure} \begin{figure}[t] \centering \includegraphics[width=\textwidth]{figP2_seasonality.pdf} \caption{\textbf{Pilot-sample intraday seasonality} (June 1992, June 2009, December 2025; top-500 by within-month dollar volume).} \label{fig:app_pilot} \end{figure} \input{tables/tabP1_pilot_summary} \clearpage \section{Computational details and reproducibility} \label{app:compute} The pipeline is deterministic end-to-end. All parameters live in versioned configuration files; the global seed (20260713) governs placebo draws and bootstrap resampling; every table and figure is generated by a numbered script from machine-readable intermediate results, and every numerical claim in the manuscript resolves to a macro generated from those results---no number is typed by hand. The full run comprises: download and checksum verification (411 files); per-month integrity audit and daily metadata construction; clean-panel construction (duplicate resolution, session labelling with true exchange closes, integrity and corporate-action flags); universe construction with strictly lagged screens; descriptive aggregation; shock detection and outcome measurement (\NEventsReal{} events, \NEventsPlacebo{} placebos); network and co-jump measurement; and estimation. Every stage operates month-by-month on partitioned columnar files with four parallel workers on an Apple-silicon workstation; wall-clock times for each stage are recorded in the run logs of the replication package. The revision diagnostics (pre-event levels, co-arrival classes, stratified estimators, alternative clustering) are recomputed from the stored event-level files in a few minutes without access to the raw minute panel. \section{Analyses not executed} \label{app:notdone} The following checks are referred to in the main text as not executed, so that no claim rests on them: source thresholds $|z|\ge4$ and $|z|\ge5$; receiver threshold $|z|>3$; the top-1000 and top-3000 shock universes; neighbor sets estimated on 5- or 30-minute residual correlations or with a transaction-time covariance estimator; the pre-event ($t-5$) network contrast; permuted-network placebos preserving industry and liquidity composition; propagation measured inside scheduled-announcement windows; a Hawkes-type model of the co-jump minute series; and a reconciliation of bar volumes against consolidated-tape volumes to establish the venue scope of the source. Each requires re-running the detection stage on the raw minute panel or external data. \end{document}