US Equities Daily OHLC
One row is one security on one trading day with algoseek-logic open, high, low, close, regular-hours and whole-day volume, FINRA/TRF volume and VWAPs from SIP trades; opens and closes follow the primary exchange's official auctions. Delivered as an ArdaDB table keyed by ASID.
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: ArdaDB (sample_channel ardadb/database_table, eq_daily_ohlc.csv, 100 rows, all 2023-08-02, ordered by Ticker); no S3 file sample for this unadjusted dataset (the adjusted sibling has one). The JSON preview is identical to the CSV. Zero means missing in this channel: 6 of 100 sample rows have at least one of Open/High/Low/Close = 0 and 6 have FINRA volume 0, where the S3 adjusted sample shows empty cells for the same securities. Contract validations should treat 0 prices as 'no qualifying trade', not a real price. Open/Close come from the primary exchange by priority (official open/close with the largest volume, opening/closing print, regular open/close, regular first/last, then non-FINRA TRADE NB and TRADE fallbacks); High/Low are the extreme non-FINRA trades within market hours excluding odd lots, extended-hours and special-price trades. Because Open/Close and High/Low use different trade populations, Low <= Open,Close <= High is NOT guaranteed: among the 94 sample rows with all four prices > 0, 12 have High below max(Open, Close) and 13 have Low above min(Open, Close) (e.g. AAA: open 24.63, high 24.68, low 24.68, close 24.66).
Coverage
SIP (Consolidated Feed) trades for all listed US stocks, ETNs, ETFs, ADRs and funds, built with algoseek's Open/High/Low/Close selection logic; page says files are categorised by date and ticker. 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 (11)
- Primary key is inferred; AlgoSeek's guide does not name one.
- Documentation discrepancyThe linked guide is the ADJUSTED-product guide; this dataset is the unadjusted sibling, so the guide's SecId and the ten *Adj columns (OpenAdj ... DailyVWAPAdj) have no counterpart in this sample.
- Documentation discrepancyIdentifier: the guide uses SecId (integer); the sample carries ASID (16-digit) and no SecId. ASID and SecId are different values (ticker A: SecId 32952 in the S3 samples, ASID 1010000000001000 here).
- Documentation discrepancyPrice column names: guide Open/High/Low/Close, sample OpenPrice/HighPrice/LowPrice/ClosePrice.
- Documentation discrepancyTradeDate: guide says string yyyymmdd; the ArdaDB sample uses YYYY-MM-DD with hyphens.
- Documentation discrepancyGuide Table has no 'Missing' column, so null/empty behaviour is undocumented.
- Documentation discrepancyMissing-value representation differs by channel: where the S3 adjusted sample for the same rows is empty (e.g. AACT.U all four prices, AACT High/Low, ACABW FINRA volumes) this ArdaDB sample prints 0.
- Documentation discrepancyProduct page says 'Files are systematically categorized by date and ticker'; the guide describes tradedate (all symbols per day) and secid (all days per security) aggregations.
- Documentation discrepancyThe guide's volume section and Table 3 refer to ListedMarketHoursVolume, ListedTotalVolume, FinraMarketHoursVolume and FinraTotalVolume, which are Daily TAQ columns and do not exist in this dataset; the flag name 'tOpenindPrints' and 'tDerivativelyPrices' are typos for tOpeningPrints / tDerivativelyPriced.
- Documentation discrepancyGuide says rows are 'individual events (see Table 1)'; rows are per-security daily bars (carried-over text).
- Documentation discrepancyNo history start date is given in the guide or on the product page.
13 columns in delivery order · file or table name eq_daily_ohlc. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| TradeDate | dateYYYY-MM-DD | Key 1 · Partition · Required | Trading date of the bar. Source: vendor guide and sample |
| Ticker | string | Symbol name. Source: vendor guide and sample | |
| ASID | integeri64 | Key 2 · Partition · Required | algoseek Security ID (ASID): constant over a security's life and links its SecIds; replaces SecId here and is defined in the ASID Lookup guide, not in this guide. Source: sample file only |
| OpenPrice | number | Opening trade on the primary exchange by priority: official open, opening print, regular open, regular first; then non-FINRA TRADE NB / TRADE fallbacks. Unit: USD · Missing values: unstated; ArdaDB sample shows 0 instead of empty when no qualifying trade · Source: vendor guide and sample | |
| HighPrice | number | Highest non-FINRA trade price within market hours; excludes odd lots, extended-hours and special-price (average, derivative, stock-option, Rule 155) trades. Unit: USD · Missing values: unstated; ArdaDB sample shows 0 instead of empty when no qualifying trade · Source: vendor guide and sample | |
| LowPrice | number | Lowest non-FINRA trade price within market hours; excludes odd lots, extended-hours and special-price (average, derivative, stock-option, Rule 155) trades. Unit: USD · Missing values: unstated; ArdaDB sample shows 0 instead of empty when no qualifying trade · Source: vendor guide and sample | |
| ClosePrice | number | Closing trade on the primary exchange by priority: official close, closing print, regular close, regular last; then non-FINRA TRADE NB / TRADE fallbacks. Unit: USD · Missing values: unstated; ArdaDB sample shows 0 instead of empty when no qualifying trade · 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; ArdaDB sample shows 0 when there is no FINRA volume · 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; ArdaDB sample shows 0 when there is no FINRA volume · 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 |
- 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, ASID) must be 0
- errorbar_high_ge_lowaccuracy
HighPrice is never below LowPrice in the same row.
SELECT COUNT(*) FROM {object} WHERE HighPrice IS NOT NULL AND LowPrice IS NOT NULL AND HighPrice < LowPrice - 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 OpenPrice > HighPrice OR OpenPrice < LowPrice OR ClosePrice > HighPrice OR ClosePrice < LowPrice - 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 published sample is an ArdaDB database_table export (ardadb/database_table, eq_daily_ohlc.csv). The only guide is the Adjusted guide for the sibling CSV product, which describes two CSV aggregations with identical fields: 'tradedate' = one file with all symbols per trading day, 'secid' = one file with all trading days for one SecId (e.g. 33449 / AAPL, one year per file). No table or partition layout is documented for this unadjusted ArdaDB product.
- 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
- 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.