Cboe U.S. Equities Historical Market Volume Data
- Rows
- 1,980
- Columns
- 14
Daily historical market volume, notional value, and trade counts for U.S. equities exchanges and TRFs from 2009 to present, broken down by Tape A/B/C. Multiple yearly files available for large time-series coverage.
AI analysis
Dataset Analysis: Cboe U.S. Equities Historical Market Volume Data
1. Dataset Overview and Analytical Value
This dataset captures daily U.S. equity market microstructure activity sourced directly from Cboe's public data API (https://cdn.cboe.com/resources/us/equities/market-statistics/historical-market-volume/markethistory2026.csv — the 2026 suffix in the URL confirms the data is actively maintained and current through at least 2026). Spanning from 2009 to present across 1,980 rows and 14 columns, it disaggregates trading activity by Market Participant (20 distinct entities, likely individual exchanges and TRFs such as EDGX, BZX, NYSE, NASDAQ, etc.) and by Tape classification (A for NYSE-listed, B for regional exchange-listed, C for NASDAQ-listed securities). This tripartite tape breakdown is particularly valuable because it allows researchers to isolate liquidity and volume dynamics across distinct listing venues, making it well-suited for studying market fragmentation, exchange competition, and the evolution of electronic trading over a 15+ year period.
---
2. Data Quality Observations
The dataset presents exceptionally clean structural quality: zero null cells across all 14 columns and all 1,980 rows, which is rare for a multi-year financial time series and reflects the disciplined maintenance typical of an exchange operator like Cboe. Duplicate row counts are noted as pending Phase D recomputation, so that figure warrants verification before any groupby or aggregation analysis — if 20 market participants × 99 distinct dates = 1,980 rows, the panel is perfectly balanced with no gaps, which would be an important structural confirmation. All numeric columns are correctly typed (Decimal for shares/notional, Integer for trade counts), with no type mismatches reported. The only mild concern is that Tape A/B/C Trade Count columns show slightly fewer distinct values (1,976, 1,973, and 1,979 respectively) compared to the 1,980 row count, suggesting a small number of integer ties or repeated values — likely benign but worth a spot-check for data entry rounding at low-volume participants.
---
3. Key Column Distributions and Statistical Highlights
The volume and notional columns tell a story of extreme right-skew and market concentration. Consider Total Shares: mean of ~969M vs. a median of only ~169M (a 5.7× gap), with skewness of 3.31 and 263 flagged outliers — this compression between mean and median reflects a small number of high-volume participants (likely consolidated tape aggregators or dominant ATS/TRF entities) dramatically pulling the distribution rightward. Tape C Shares shows the most pronounced outlier count (294) and the highest absolute maximum (~6.2B shares), consistent with NASDAQ-listed equities historically dominating retail and algorithmic order flow. On the notional side, Total Notional ranges from ~$43M to ~$635B (a 14,000× range), with a mean of ~$52.4B against a median of ~$7.4B (σ = $103B), confirming that a handful of observations — likely representing the full consolidated market on peak volatility days — anchor the upper tail. Tape B Trade Count exhibits the lowest skew (2.49) among the tape-specific metrics, suggesting regional exchange activity is somewhat more evenly distributed across participants, while Tape C Trade Count (skew 2.81, max ~34.1M trades) reflects NASDAQ's dominance in high-frequency trade fragmentation.
---
4. Recommended Join Key Columns
The natural composite join key for cross-dataset correlation is {Date, Market Participant}, where Date (99 distinct values, zero nulls) serves as the temporal anchor and Market Participant (20 distinct values) enables entity-level alignment. For time-series joins against macro or index data where participant-level granularity isn't needed, Date alone is the appropriate key after aggregating to daily totals. A critical preprocessing note: the 99 distinct dates across 1,980 rows implies a ~20-participant panel, so any external dataset joined on Date should be aggregated or filtered to avoid row explosion. If joining to exchange-specific data (e.g., Cboe BZX market share reports), Market Participant should be mapped against a reference table to normalize naming conventions across sources.
---
5. Recommended Companion Datasets for Correlation Analysis
Several dataset categories would pair powerfully with this data:
- VIX / Volatility Indices: Cboe's own VIX daily history would allow direct correlation of total trade count and notional spikes against fear gauge readings — particularly compelling given the 2020 COVID crash and 2022 rate-hike cycle visible in a 2009–2026 window. - Federal Reserve Interest Rate & FOMC Decision Dates: Mapping rate decisions onto volume/notional anomalies could reveal how monetary policy announcements drive intraday-to-daily volume surges across tapes. - S&P 500 / NASDAQ Composite Daily Returns: Correlating Tape C share volume with NASDAQ daily returns would test whether volume leads or lags price momentum. - SEC Market Structure Reports / Exchange Market Share Data: Aligning participant-level volumes against official market share statistics would validate data integrity and enable fragmentation trend analysis. - Options Volume Data (also from Cboe): Cross-referencing equity volume on high-options-activity days could illuminate put/call hedging flows driving equity tape activity.
Columns
- Date (date)
- Market Participant (string)
- Tape A Shares (decimal)
- Tape B Shares (decimal)
- Tape C Shares (decimal)
- Total Shares (decimal)
- Tape A Notional (decimal)
- Tape B Notional (decimal)
- Tape C Notional (decimal)
- Total Notional (decimal)
- Tape A Trade Count (integer)
- Tape B Trade Count (integer)
- Tape C Trade Count (integer)
- Total Trade Count (integer)