data / prices / px.eq.us.daily
US Equities · Daily OHLCV px.eq.us.daily
Open/high/low/close/volume, daily, all US listed equities. Survivorship-free.
PIT · Core tier · 1996-01 → today · 82.4M rows
Coming soon — not served by the API yet.
Methodology
Bars are stored unadjusted and carry the cumulative split factor in force as of the row's effective_ts, so an adjusted series is a multiply away and the raw print is never lost. Rows are never overwritten: a vendor correction lands as a new row under a later as_of_ts, which is what makes "what did the tape look like on 2017-06-30" a question with one answer. Delisted names keep their full history and their delisting event, so a universe built as of a past date includes the companies that later disappeared.
Schema
| Column | Type | Role |
|---|---|---|
as_of_ts | timestamp | knowledge time · UTC |
effective_ts | date | PIT key · trading date |
symbol | string | ticker in force on effective_ts |
figi | string | stable instrument id |
cik | int64 | SEC filer id |
open | float64 | session open · unadjusted |
high | float64 | session high · unadjusted |
low | float64 | session low · unadjusted |
close | float64 | session close · unadjusted |
volume | int64 | consolidated shares |
adj_factor | float64 | cumulative split factor |
restated | bool | corrected after first publication |
Use cases
- Backtest a daily strategy against the universe that existed on each date.
- Compute returns with delisted names included rather than dropped.
- Reconstruct a historical close print before a restatement.
Background
- Point-in-time market data: as-of dates, restatements, and adjustments
- Survivorship bias in backtesting: how current constituent lists hide failures
- Delisted stock historical data: why delisted names decide a backtest
Related packages
- px.eq.us.minute — US Equities · 1-minute OHLCV
- px.eq.us.extended — Premarket / postmarket prices