US Equities Industry Standard Daily OHLC Adjusted
One row is one security on one trading day with industry-standard OHLCV and VWAP values, delivered both raw and backward-adjusted for corporate actions. Used for continuous, comparable daily price histories across splits, dividends and other capital changes.
How to use it
Times are local US Eastern clock times (DST-aware), not UTC. Treat TRADE NB / NBBO-flagged rows as the backtest-grade subset. Cancellations reference earlier trades and can arrive hours later, so aggregate only after the session closes. Prices are unadjusted unless the dataset name says Adjusted; join us-equities-*-adjustment-factors on SecId for adjustment.
Typical use
Backtesting, execution and microstructure research, feature engineering for US equities.
Limitations
Delivered as recorded from the source feed: AlgoSeek does not remove crossed or locked quotes, bad prints, or out-of-sequence packets unless contracted to. Consumers own cleaning. Sample channel: S3 CSV (sample_channel s3/cloud_storage, eq_daily_ohlc_ind_std_adj.csv, 100 rows, all 2023-08-02); this dataset does not ship an ArdaDB sample (its unadjusted sibling does). The JSON preview is identical to the CSV. Raw columns (Open ... DailyVWAP) and adjusted columns (*Adj) are delivered together; raw values are unadjusted. Adjusted volumes are whole shares. Backward adjustment: values for past dates are expressed in the terms of the latest corporate-event state, so *Adj values for a historical date change when a later event occurs (per the Adjustment Factors guides, algoseek rebuilds when a new event arrives); the OHLC guide itself states no restatement policy or as-of date. Sample evidence: OpenAdj differs from Open on 6 of 100 rows (e.g. AA: 34.4250 -> 34.3236, ratio 0.99705) and volumes differ on 1 row (AAON 285,855 -> 190,570); ratios for the same ticker/date differ from the algoseek-logic adjusted sample (AA 0.98360), so the two samples were generated as of different dates or event sets.
Coverage
SIP (Consolidated Feed) trades for listed US stocks, ETNs, ETFs, ADRs and funds (page adds common and preferred stocks, warrants and units), with raw and backward-adjusted values side by side. History start not stated.
Venues (1)
- FINRA TRF
Answers to common questions
- What time zone are the timestamps in?
- US Eastern local time with daylight saving (the guides label it EST/ET).
- Are prices adjusted for splits and dividends?
- Only in datasets whose name contains Adjusted; all others are as traded.
Usage constraints
- Licensed vendor data: never export raw rows to a tenant-local destination or include them verbatim in a public artifact; serve only through entitlement-checked platform reads.
- Do not treat the vendor's `Ticker` as a stable identity across time; join on an AlgoSeek security key (SecId or ASID, which are distinct) or the platform symbol mapping.
Known issues (9)
- Primary key is inferred; AlgoSeek's guide does not name one.
- Documentation discrepancyTable 3's last row is labelled 'DailyVWAP' but is described as the backward-adjusted whole-day VWAP; the sample column is DailyVWAPAdj.
- Documentation discrepancyField order: the guide says SecId-aggregated files use TradeDate, Ticker, SecId and tradedate-aggregated files put SecId second; the sample (one date, one row per ticker, i.e. tradedate-style) is TradeDate, Ticker, SecId.
- Documentation discrepancyTable 3 describes Open/Close as the 'Primary exchange opening/closing trade' and points to sections 'Opening Trade Identification' / 'Closing Trade Identification' that do not exist; Appendices B and C define them as the first/last TRADE NB event from 09:30 (any venue). The guide has Appendices B and C but no Appendix A.
- Documentation discrepancyBar Notes give sum(TradeSize) = MarketHoursVolume for both MarketHoursVWAP and DailyVWAP, although DailyVWAP is whole-day.
- Documentation discrepancyGuide cites 'individual events (see Table 3)' for rows, but rows are per-security daily bars (text carried over from tick guides).
- Documentation discrepancyDecimal width: the sample prints Open/High/Low/Close (and Adj) at a fixed 4 decimals (122.0000) and VWAPs at 5 (126.75460), unlike the variable-width values of the ArdaDB sibling.
- Documentation discrepancyGuide has no 'Missing' column, so null/empty behaviour is undocumented (Appendix B says Open/Close are empty if no valid trade after 09:30).
- Documentation discrepancyNo history start date is given in the guide or on the product page.
23 columns in delivery order · file or table name eq_daily_ohlc_ind_std_adj. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| TradeDate | dateyyyymmdd | Key 1 · Partition · Required | Trading date of the bar. Source: vendor guide and sample |
| Ticker | string | Symbol name. Source: vendor guide and sample | |
| SecId | integeri64 | Key 2 · Partition · Required | algoseek unique security id; unchanged when the ticker changes. Source: vendor guide and sample |
| Open | number | Opening price: first TRADE NB event from 09:30 ET, else first TRADE (Appendix B). Table 3 text wrongly says primary-exchange open. Unit: USD · Missing values: Blank if no valid trade after 09:30 ET (Appendix B); none empty in sample · Source: vendor guide and sample | |
| High | number | Highest qualifying trade price from 09:30 ET on any exchange or TRF (flag include/exclude lists), else highest TRADE NB; opening/closing trades count. Unit: USD · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| Low | number | Lowest qualifying trade price from 09:30 ET on any exchange or TRF (flag include/exclude lists), else lowest TRADE NB; opening/closing trades count. Unit: USD · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| Close | number | Closing price: last TRADE NB event of the day, else last TRADE; since 2026-02-23 NASDAQ-listed names use the official NASDAQ close when volume thresholds are met. Unit: USD · Missing values: Blank if no valid trade after 09:30 ET (Appendix B); none empty in sample · Source: vendor guide and sample | |
| MarketHoursVolume | integeri64 | Total shares traded during regular market hours only (09:30-16:00 ET; to 13:00 on early closes). Unit: shares · Source: vendor guide and sample | |
| MarketHoursFinraVolume | integeri64 | FINRA/TRF (off-exchange) shares traded during regular market hours. Unit: shares · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| DailyVolume | integeri64 | Total shares traded for the whole day (pre-, regular and post-market). Unit: shares · Source: vendor guide and sample | |
| DailyFinraVolume | integeri64 | FINRA/TRF shares traded for the whole day. Unit: shares · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| MarketHoursVWAP | number | Volume-weighted average trade price over regular hours plus the opening/closing cross (may print after 16:00 ET). Unit: USD · Source: vendor guide and sample | |
| DailyVWAP | number | Volume-weighted average trade price for the whole day including pre- and post-market trades. Unit: USD · Source: vendor guide and sample | |
| OpenAdj | number | Backward-adjusted opening price. Unit: USD · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| HighAdj | number | Backward-adjusted highest-trade price. Unit: USD · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| LowAdj | number | Backward-adjusted lowest-trade price. Unit: USD · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| CloseAdj | number | Backward-adjusted closing price. Unit: USD · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| MarketHoursVolumeAdj | integeri64 | Backward-adjusted regular-market-hours volume. Unit: shares · Source: vendor guide and sample | |
| MarketHoursFinraVolumeAdj | integeri64 | Backward-adjusted FINRA/TRF regular-market-hours volume. Unit: shares · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| DailyVolumeAdj | integeri64 | Backward-adjusted whole-day volume. Unit: shares · Source: vendor guide and sample | |
| DailyFinraVolumeAdj | integeri64 | Backward-adjusted FINRA/TRF whole-day volume. Unit: shares · Missing values: unstated; none empty in sample · Source: vendor guide and sample | |
| MarketHoursVWAPAdj | number | Backward-adjusted VWAP over regular market hours. Unit: USD · Source: vendor guide and sample | |
| DailyVWAPAdj | number | Backward-adjusted VWAP for the whole trading day (the ind-std guide's table mislabels it DailyVWAP). Unit: USD · Source: vendor guide and sample |
- errorrow_count_positivecompleteness
Every delivered partition (trade date, or snapshot) carries at least one row.
rowCount must be greater than 0
- errorprimary_key_uniqueuniqueness
The declared primary key is unique within each delivered partition (one file or table snapshot).
duplicateValues (properties: TradeDate, SecId) must be 0
- errorbar_high_ge_lowaccuracy
High is never below Low in the same row.
SELECT COUNT(*) FROM {object} WHERE High IS NOT NULL AND Low IS NOT NULL AND High < Low - warningopen_close_within_rangeaccuracy
Open and close usually sit inside the high-low range. Only a warning: some AlgoSeek aggregations take open/close from a different event set than high/low (seen in the Daily OHLC sample).
SELECT COUNT(*) FROM {object} WHERE Open > High OR Open < Low OR Close > High OR Close < Low - errorDailyFinraVolume_non_negativeaccuracy
DailyFinraVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE DailyFinraVolume < 0 - errorDailyVolume_non_negativeaccuracy
DailyVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE DailyVolume < 0 - errorMarketHoursFinraVolume_non_negativeaccuracy
MarketHoursFinraVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE MarketHoursFinraVolume < 0 - errorMarketHoursVolume_non_negativeaccuracy
MarketHoursVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE MarketHoursVolume < 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- The guide describes plain-text CSV with a fixed header row and two aggregation options with identical fields: 'tradedate' = one file with all symbols per trading day, 'secid' = one file with all trading days for one SecId (e.g. SecId 33449 / AAPL, one year per file). Compression and bucket/key path are not stated.
- Compression:
- gzip
- Access:
- Bucket access is granted per subscription; bucket names arrive with license provisioning.
REST API
AlgoSeek Datasets REST API (X-API-KEY header; JSON, CSV or gzipped CSV). Returns AlgoSeek's normalized API layout, which differs from the flat-file columns in this contract's schema.
https://api.algoseek.com/v1/data/us-equity/daily-ohlc/:identifier?aggregation_logic=industry_std&adjusted=true
- Authentication:
- X-API-KEY header issued by AlgoSeek
- Response formats:
- json, csv, csv_gzip
- Pagination:
- offset + limit; tick endpoints take trade_date and identifier (Ticker or ASID) in the path
Service levels
- Update frequency
- Daily
- Retention
- Bounded by the license term
- Retention of landed copies is bounded by the AlgoSeek license; purge on termination.
- History starts
- Not stated in the vendor documentation
Service levels describe the vendor feed as documented. They are draft values, not a commitment by AlphaSwarm.
Data Contract Editor · read-only preview — edits are not saved
Open-source Data Contract Editor (MIT). Changes stay in this browser tab: Cancel restores the published contract, and Download copy saves your edited YAML to your device only.
Contracts follow the Open Data Contract Standard (Bitol, LF AI & Data).
Vendor names are trademarks of their owners.