Cboe U.S. Equities Historical Market Volume Data 2010
- Rows
- 3,302
- Columns
- 14
Daily historical market volume, notional value, and trade counts for U.S. equities exchanges and TRFs for 2010.
AI analysis
Dataset Analysis: Cboe U.S. Equities Historical Market Volume Data 2010
1. Dataset Overview & Analytical Value
This dataset, sourced from Cboe's official statistics repository at cdn.cboe.com/resources/us/equities/market-statistics/historical-market-volume/, captures a full year of daily U.S. equity market microstructure data across 17 distinct market participants and three tape classifications (A, B, and C), covering NYSE-listed, NYSE American/regional, and Nasdaq-listed securities respectively. With 252 distinct trading dates — precisely matching the standard U.S. equity trading calendar for 2010 — and 3,302 rows, the dataset effectively provides a panel structure of roughly 13 participants per trading day, making it exceptionally well-suited for studying intraday liquidity patterns, exchange competition dynamics, and the relative market share evolution of venues like dark pools and TRFs (Trade Reporting Facilities) in the post-Reg NMS environment. The Cboe provenance gives this data strong institutional credibility, and the 2010 vintage places it squarely in the post-financial-crisis recovery period, a particularly rich environment for volume dynamics research.
---
2. Data Quality Observations
Data quality here is remarkably clean by real-world standards. With zero null cells across all 14 columns and 3,302 total rows, there are no imputation concerns or missingness biases to account for. The duplicate row count is pending final Phase D recomputation against the Parquet layer, which warrants a confirmation check before any participant-level aggregation — particularly since the panel structure (17 participants × 252 days = 4,284 theoretical rows) yields only 3,302 actual rows, suggesting that not all 17 participants report on every trading day, which is expected behavior for TRFs and smaller venues but should be explicitly modeled rather than assumed. All numeric columns are correctly typed as Decimal or Integer, with no type mismatches detected. The one structural caution is that minimum values of zero appear across all Tape A, B, and C sub-columns, confirming sparse participation days for some market participants — these zeros are likely legitimate but should be distinguished from true missing data in any regression or correlation framework.
---
3. Key Column Distributions & Statistical Highlights
The volume columns tell a story of heavy right-skew and multi-modal behavior consistent with the presence of both dominant exchanges and small TRFs in the same dataset. Total Shares has a mean of ~647 million but a median of only ~229 million (skew = 1.82), with Q1 at ~46.6 million and Q3 at ~1.05 billion — an interquartile range spanning more than 20× — and 153 flagged outliers, reflecting the enormous size disparity between major exchanges and smaller venues. Tape C Shares is the most skewed volume metric (skew = 2.11, 371 outliers), which likely reflects Nasdaq-listed securities dominated by a handful of high-frequency trading-heavy venues on peak volume days. On the notional side, Total Notional has a mean of ~$17.9 billion against a median of ~$5.3 billion (skew = 1.41), with only 67 outliers — comparatively tamer because notional blends price with volume, smoothing extreme share-count spikes for low-priced stocks. Tape A Trade Count is the most behaviorally interesting metric: skew drops to just 1.08 with only 13 outliers, suggesting trade fragmentation on NYSE-listed names is more uniformly distributed than raw share volume, potentially indicating algorithmic order-slicing behavior. The wide gap between Q1 (~88,666) and Q3 (~2.48 million) for Tape A Trade Count further underscores the market participant heterogeneity embedded in this panel.
---
4. Recommended Join Key Columns
The natural primary join key is Date (252 distinct values, zero nulls, confirmed trading-calendar aligned), enabling straightforward time-series merges with macroeconomic, sentiment, or volatility datasets. For any within-dataset or cross-dataset analysis requiring participant-level granularity, a composite key of Date + Market Participant should be treated as the effective unique identifier, since neither column alone is unique. If joining to exchange-reported data or regulatory filings, Market Participant values should be mapped to standard MIC (Market Identifier Codes) or CRD numbers, as the raw string values may use Cboe-internal naming conventions. For aggregated daily market-level joins (e.g., to VIX or economic indicators), collapsing to date-level totals using the "Total" columns (Total Shares, Total Notional, Total Trade Count) will produce clean 252-row daily series with no ambiguity.
---
5. Recommended Pairing Datasets for Correlation Discovery
Several dataset categories would pair powerfully with this data. Cboe VIX daily data for 2010 is the most immediate candidate — correlating Total Shares or Total Trade Count against VIX levels could reveal how volatility spikes (e.g., the May 2010 Flash Crash) drove volume surges across tapes, with Tape C likely showing the most sensitivity given Nasdaq-listed tech concentration. Federal Reserve economic data (FRED) — specifically the 10-year Treasury yield, TED spread, or S&P 500 daily returns for 2010 — would enable testing of the well-known volume-volatility relationship and liquidity-risk premium dynamics during the post-crisis recovery. SEC market structure reports or FINRA TRF data from the same period would allow direct venue market share analysis, validating whether TRF volumes in this dataset align with off-exchange trading percentages reported elsewhere. Finally, earnings calendar or corporate action datasets (e.g., Compustat or Bloomberg event data) could help explain outlier days in Tape A and Tape C trade counts, distinguishing index rebalancing events from earnings-driven volume spikes — a distinction that the current dataset alone cannot make.
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)