Cboe U.S. Equities Historical Market Volume Data 2020
- Rows
- 4,254
- Columns
- 14
Daily historical market volume, notional value, and trade counts for U.S. equities exchanges and TRFs for 2020.
AI analysis
Analysis: Cboe U.S. Equities Historical Market Volume Data 2020
1. Dataset Overview and Analytical Value
This dataset captures daily U.S. equity market microstructure across 19 market participants (exchanges and Trade Reporting Facilities) for the full calendar year 2020 — a particularly consequential period marked by COVID-19 volatility, the March crash, and the subsequent recovery rally. Sourced directly from Cboe's official statistics portal (cdn.cboe.com/resources/us/equities/market-statistics/historical-market-volume/), the data carries strong institutional credibility and represents an authoritative primary source rather than a derived or aggregated feed. The 253 distinct dates across 19 market participants yielding 4,254 rows confirms a clean panel structure (253 × ~19 ≈ 4,807 theoretical rows, suggesting some participants may not report on every trading day). The three-tape breakdown (Tape A = NYSE-listed, Tape B = NYSE American/regional, Tape C = Nasdaq-listed) adds meaningful segmentation for studying how trading activity distributes across listing venues, making this dataset exceptionally well-suited for market fragmentation, liquidity, and volatility correlation studies.
---
2. Data Quality Observations
The dataset exhibits excellent baseline quality: zero null cells across all 14 columns and 4,254 fully populated rows signal disciplined upstream data collection, consistent with a regulated financial reporting environment. The duplicate row count is flagged as pending Phase D recomputation, which should be resolved before production use — given the panel structure (Date × Market Participant), a composite key check on those two fields is the critical validation step. The minimum values of 0 appearing across all Tape-level share, notional, and trade count columns are worth scrutinizing: these could represent legitimate non-reporting days for smaller or specialized participants, or they could indicate structural zeros used as placeholders — context from the market participant dimension will disambiguate. No type mismatches are reported, and the integer/decimal type assignments are appropriate given the scale of values (shares in billions, notional in hundreds of billions). Overall, this is one of the cleaner financial datasets one would encounter in practice.
---
3. Key Column Distributions
The volume and notional columns tell a vivid story of extreme right skew and volatility concentration throughout 2020. Total Shares shows a mean of ~649.7M but a median of only ~204.1M (skew = 2.31, 303 outliers), indicating that a relatively small number of high-volume days — almost certainly the March 2020 crash period — dramatically pull the mean upward. Tape C Notional is the most dramatic column: mean of ~$11.8B vs. a median of ~$2.74B with a skew of 2.57 and 510 outliers, reflecting Nasdaq-listed tech stocks' outsized role in dollar volume. Tape B Shares carries the highest skew at 3.11 with 389 outliers, suggesting that regional/smaller-cap activity is even more episodic and event-driven. The trade count columns reveal interesting structure: Tape A Trade Count has a notably lower skew (1.6) compared to Tape C (2.16), suggesting NYSE-listed stocks generate more consistent trade frequency even as their notional value spikes. The interquartile ranges are wide across all measures — for Total Notional, Q1 = ~$3.1B and Q3 = ~$37.2B, a 12× spread — underscoring that treating any single "average" as representative would be deeply misleading without stratification by date or participant.
---
4. Recommended Join Key Columns
The natural composite join key for cross-dataset linkage is Date + Market Participant. The Date column (253 distinct trading days, zero nulls) is the primary temporal anchor and will align cleanly with any standard U.S. trading calendar dataset. For aggregated or market-wide studies, Date alone suffices as a join key against macro or price datasets. The Market Participant field (19 distinct string values) enables exchange-level joins against regulatory filings, exchange fee schedules, or market share reports — though string normalization (abbreviation vs. full name) should be verified before joining. For studies focused on listing venue rather than exchange, the Tape A/B/C breakdown effectively functions as an implicit segmentation key that maps to NYSE, regional, and Nasdaq universes respectively. It is worth noting that Total Notional has 4,254 distinct values (matching total rows exactly), confirming it is effectively a unique identifier per row and unsuitable as a join key.
---
5. Recommended Pairing Datasets for Correlation Analysis
Several dataset categories would unlock high-value correlations with this data:
- CBOE VIX Daily History (2020): The single most natural pairing — correlating daily Total Shares or Total Notional against VIX levels would quantify the fear-volume relationship and test whether volume spikes lead or lag volatility index movements. - S&P 500 / Nasdaq / Russell 2000 Daily Returns: Mapping Tape A vs. Tape C volume to their respective index performance would reveal asymmetric responses to up vs. down market days and test liquidity-return relationships. - Federal Reserve SOMA / Repo Market Data: Connecting surges in Total Notional to Fed intervention dates (emergency rate cuts, QE announcements) could illuminate how monetary policy transmits through equity trading activity. - Equity ETF Flow Data (e.g., from ICI or Bloomberg): Tape C's outsized notional values likely reflect ETF arbitrage activity; pairing with daily ETF creation/redemption flows would test this hypothesis directly. - Exchange Fee Schedules or Market Share Reports: Joining on Market Participant would enable competitive analysis of how pricing structures correlate with volume capture across venues throughout 2020's extraordinary conditions.
Columns
- Date (date)
- Market Participant (string)
- Tape A Shares (integer)
- Tape B Shares (integer)
- Tape C Shares (integer)
- Total Shares (integer)
- 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)