Insights
How to Get Historical Market Cap Data
Alphanume Team · April 12, 2026
Reconstructing size at any past date, correctly — the practical sourcing question.
Historical market cap data — the market capitalization of each US-listed company at each historical date — is one of the most basic inputs to systematic equity research. Most data providers offer some form of it; the variation in quality and methodology is substantial. The right source depends on the use case and the precision required.
The basic data structure
Historical market cap is the product of two time series:
- Shares outstanding at each date.
- Closing price at each date.
Closing price is widely available with high precision (daily, intraday). Shares outstanding is the harder input — see point-in-time market cap.
The sources, ranked
From lowest to highest quality:
1. Vendor "current" market cap fields. Most retail data sources (Yahoo Finance, free APIs) provide current market cap only. Using these for historical analysis introduces look-ahead. Not adequate for backtests.
2. Computed from quarterly filings + daily price. Use SEC 10-Q / 10-K filings to extract shares outstanding at each reporting date, then multiply by daily closing price. Free but requires extracting shares outstanding from filings.
3. Vendor-provided historical market cap. Various paid vendors (Compustat, FactSet, Bloomberg) provide cleaned historical market cap series. Quality varies.
4. Point-in-time-aware vendors. Compustat point-in-time, FactSet point-in-time databases, and similar provide historical market cap with knowledge-date discipline — the values as known on each historical date, not the values revised later.
For backtests requiring point-in-time discipline, option 4 is required. For exploratory research, option 3 is often sufficient.
Common pitfalls
- Using current market cap as historical. Survivorship bias plus look-ahead. See look-ahead bias.
- Linear interpolation between quarterly reports. Shares outstanding changes through many events (ATM draws, buybacks, conversions); linear interpolation misses these.
- Mixing share-class data. Multi-class companies have separate share counts and prices per class; aggregating requires care.
- Forgetting delisted names. Survivorship-biased datasets lack delisted names entirely.
- Using adjusted vs unadjusted prices inconsistently. The price used should be unadjusted (the actual closing price on the historical date), not split-adjusted.
The free-source pathway
For researchers without paid data access, a workable free-source pipeline:
- Extract shares outstanding from 10-Q / 10-K filings (available via EDGAR). Most companies disclose total shares outstanding on the cover page.
- For each (ticker, date), use the most recent shares outstanding known as of that date.
- Combine with daily price data from any reliable source.
- Compute market cap as the product.
This produces quarterly-resolution shares outstanding, which is adequate for many use cases but misses between-quarter changes. For higher precision, monthly 13F or investor-relations disclosures provide more granular updates for some companies.
Common use cases
- Universe filtering by size. Used in universe construction.
- Size-conditioning in research. Comparing small-cap and large-cap behavior of an anomaly.
- Position sizing. Capping position size relative to issuer market cap.
- Computing dilution percentages. Offering size relative to pre-offering market cap.
- Index reconstruction. Reconstructing index membership requires historical market cap rankings.
Validation
To verify a historical market cap dataset:
- Spot-check known events (large IPOs, large buybacks, large issuances) and verify market cap reflects them at the appropriate dates.
- Aggregate to universe-level (total US equity market cap) and compare to published aggregates from index providers.
- Check for gaps in coverage — extended periods with no shares-outstanding updates may indicate data issues.
For dilution-event research
Dilution-event analysis specifically needs:
- Pre-offering shares outstanding (to compute dilution percentage).
- Pre-offering market cap (to size the offering relative to the company).
- Post-offering market cap (to track the post-event evolution).
The structured dilution-event feed from Alphanume's Dilution Events dataset includes the pre-offering shares outstanding and dilution percentage computed against it, which removes one step of the join.
Related reading
Where to find historical market cap data; point-in-time market cap; point-in-time data; universe construction; historical S&P 500 constituents.