US Equities Trade and Quote Daily Bar
One row is one security on one trading day, summarising that day's SIP trades and NBBO quotes into OHLC-style price points plus spread, quote-count, buy/sell-pressure, listed vs FINRA volume, tick-direction volume, VWAP and time-weighted bid/ask metrics. Used for quant research and ML features on daily liquidity and order flow.
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_taq_daily.csv, 100 rows, all for 2023-08-02, tickers A..ACMR); no ArdaDB table sample for this dataset. The JSON preview is identical to the CSV. Missing-value rule per guide ('Missing' column): 'Never' = always present; 'Blank' = empty string when not computable (trade-derived prices/sizes/times and VWAPs when there is no qualifying trade; CancelSize when none); '0' = counts and volumes default to 0. In the sample, 9 rows have empty OpenTrade*, 6 empty Close*/High*/Low* trade fields, 97 empty CancelSize, 2 empty TradeToMid* fields; the Quote-based fields are never empty. Open/Close trades come from the primary listing exchange's official auction cross (priority in Tables 1-2), not the first/last print, and the primary exchange is determined per trade date. Close-related times run past 16:00 (CloseTradeTime up to 16:03:25 in the sample). Quote fields use NBBO quotes only, excluding Price 0, Quantity 0 and conditions qClosing/qNewsDissemination/qNewsPending/qTradingRangeIndication/qOrderImbalance/qResume; extreme quotes are dropped (bid < 0.05 x 10-day average price, ask > 10 x average; new symbols: min 0.03, max 19998). The price filter is not applied to trades.
Coverage
Built from as-is SIP trades and top-of-book quotes for all listed stocks, ETNs, ETFs, ADRs and funds from 16+ US exchanges and marketplaces, incl. FINRA TRF off-exchange trades (page also lists common/preferred stocks, warrants and units). Opening/closing prices follow each stock's primary listing exchange. History start not stated. The venues listed are only the guide's examples.
Venues (5)
- NASDAQ
- BATS
- NYSE
- ARCA
- 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 (13)
- Primary key is inferred; AlgoSeek's guide does not name one.
- Documentation discrepancyColumn order: guide Table 3 lists SecId before TradeDate; the sample header starts TradeDate, SecId, Ticker.
- Documentation discrepancyCloseAskSize is typed 'decimal' in the guide table although every sibling size is integer and the sample holds whole shares.
- Documentation discrepancyOpenTradePrice is described as 'Price of the first trade' in Table 3, but the introduction and Tables 1-2 define it as the primary-exchange official open/opening print (and likewise for the close).
- Documentation discrepancyRegular Opening Trade window: Table 1 says open to open + 15 minutes (normally 09:30-09:45); Appendix B says largest volume between 09:30:00 and 09:40:00 inclusive.
- Documentation discrepancyFAQ refers to a 'TimeBarStart' field in HHMMSSmmm/HHMMSSmmmiiinnn format and Appendix B calls itself 'minute bar calculations'; both are carry-over text from the minute-bar guides, since this dataset has no such field and its time columns are HH:MM:SS.mmm.
- Documentation discrepancyTime fields are typed only 'string (timestamp)' in the guide; the sample shows HH:MM:SS.mmm with no date or zone.
- Documentation discrepancyPage says '65 metrics'; the sample has 65 columns in total, of which 6 are identifiers/descriptors (TradeDate, SecId, Ticker, Name, PrimaryExchange, ISIN); the guide says 'more than 60 data fields'.
- Documentation discrepancyGuide says '16+ exchanges' here and '15+' in the TAQ guide; no explicit venue list is given in this guide.
- Documentation discrepancyTypos: 'NNBO' in NBBOQuoteCount, 'rade' in HighTradeTime, TradeAtMidAsk described as 'ask volume', 'tDerivativelyPrices' (flag is tDerivativelyPriced).
- Documentation discrepancyBar notes define DailyVWAP with the same denominator as MarketVWAP (ListedMarketHoursVolume + FinraMarketHoursVolume) although it is described as a whole-day VWAP.
- Documentation discrepancyHighBidSize is 0 on one sample row (AACT) although the guide marks it 'Never' missing and defines it as a total size at the high bid price.
- Documentation discrepancyNo history start date is given in the guide or on the page.
65 columns in delivery order · file or table name eq_taq_daily. 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. Missing values: Never · Source: vendor guide and sample |
| SecId | integeri64 | Key 2 · Partition · Required | algoseek unique security id; stays the same across ticker changes. Missing values: Never · Source: vendor guide and sample |
| Ticker | string | Symbol name. Missing values: Never · Source: vendor guide and sample | |
| Name | string | Name of the equity security. Missing values: Blank · Source: vendor guide and sample | |
| PrimaryExchange | string | Primary listing exchange on this trade date (can change over time, e.g. ORCL moved from NASDAQ to NYSE in 2013); sample: NYSE, NASDAQ, ARCA, AMEX, BATS. Missing values: Blank · Source: vendor guide and sample | |
| ISIN | string | ISIN as of the trade date; optional. Missing values: Blank · Source: vendor guide and sample | |
| OpenBidPrice | number | Required | NBBO bid price in force at the bar open. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| OpenBidSize | integeri64 | Required | Total size across exchanges quoting the open NBBO bid price. Unit: shares · Missing values: Never · Source: vendor guide and sample |
| OpenAskPrice | number | Required | NBBO ask price in force at the bar open. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| OpenAskSize | integeri64 | Required | Total size across exchanges quoting the open NBBO ask price. Unit: shares · Missing values: Never · Source: vendor guide and sample |
| OpenTradePrice | number | Price of the opening trade, picked by priority: official open, opening print, regular opening trade, first market-hours trade (Table 1). Blank if no trade. Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| OpenTradeSize | integeri64 | Shares in the opening trade; blank if no trade. Unit: shares · Missing values: Blank · Source: vendor guide and sample | |
| OpenTradeTime | timeHH:MM:SS.mmm | Time of the opening trade; blank if no trade. Missing values: Blank · Source: vendor guide and sample | |
| HighBidPrice | number | Required | Highest NBBO bid price during the bar. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| HighBidSize | integeri64 | Total size across exchanges at the highest NBBO bid price. Unit: shares · Missing values: Never · Source: vendor guide and sample | |
| HighBidTime | timeHH:MM:SS.mmm | Required | Time the highest NBBO bid was reached. Missing values: Never · Source: vendor guide and sample |
| HighAskPrice | number | Required | Highest NBBO ask price during the bar. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| HighAskSize | integeri64 | Required | Total size across exchanges at the highest NBBO ask price. Unit: shares · Missing values: Never · Source: vendor guide and sample |
| HighAskTime | timeHH:MM:SS.mmm | Required | Time the highest NBBO ask was reached. Missing values: Never · Source: vendor guide and sample |
| HighTradePrice | number | Price of the highest trade (Appendix B: non-FINRA, non-odd-lot, regular-hours, no special-price flags). Blank if no qualifying trade. Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| HighTradeTime | timeHH:MM:SS.mmm | Time of the highest trade; blank if no trade. Missing values: Blank · Source: vendor guide and sample | |
| LowBidPrice | number | Required | Lowest NBBO bid price during the bar. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| LowBidSize | integeri64 | Required | Total size across exchanges at the lowest NBBO bid price. Unit: shares · Missing values: Never · Source: vendor guide and sample |
| LowBidTime | timeHH:MM:SS.mmm | Required | Time the lowest NBBO bid was reached. Missing values: Never · Source: vendor guide and sample |
| LowAskPrice | number | Required | Lowest NBBO ask price during the bar. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| LowAskSize | integeri64 | Required | Total size across exchanges at the lowest NBBO ask price. Unit: shares · Missing values: Never · Source: vendor guide and sample |
| LowAskTime | timeHH:MM:SS.mmm | Required | Time the lowest NBBO ask was reached. Missing values: Never · Source: vendor guide and sample |
| LowTradePrice | number | Price of the lowest trade (same qualifying-trade rules as the high); blank if no qualifying trade. Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| LowTradeTime | timeHH:MM:SS.mmm | Time of the lowest trade; blank if no trade. Missing values: Blank · Source: vendor guide and sample | |
| CloseBidPrice | number | Required | NBBO bid price at the bar close. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| CloseBidSize | integeri64 | Required | Total size across exchanges at the closing NBBO bid price. Unit: shares · Missing values: Never · Source: vendor guide and sample |
| CloseAskPrice | number | Required | NBBO ask price at the bar close. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| CloseAskSize | integeri64 | Total size across exchanges at the closing NBBO ask price (guide types it decimal, sample shows whole shares). Unit: shares · Missing values: Never · Source: vendor guide and sample | |
| CloseTradePrice | number | Price of the closing trade, picked by priority: official close, closing print, regular close, last trade (Table 2). Blank if no trade. Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| CloseTradeSize | integeri64 | Shares in the closing trade; blank if no trade. Unit: shares · Missing values: Blank · Source: vendor guide and sample | |
| CloseTradeTime | timeHH:MM:SS.mmm | Time of the closing trade; blank if no trade. Missing values: Blank · Source: vendor guide and sample | |
| MinSpread | number | Required | Smallest NBBO bid-ask spread in the bar; 0 if the market was crossed (negative spreads are floored to 0). Unit: USD · Missing values: Never · Source: vendor guide and sample |
| MaxSpread | number | Required | Largest NBBO bid-ask spread in the bar. Unit: USD · Missing values: Never · Source: vendor guide and sample |
| CancelSize | integeri64 | Total shares in cancelled trades; empty when none (97 of 100 sample rows). Unit: shares · Missing values: Blank · Source: vendor guide and sample | |
| NBBOQuoteCount | integeri64 | Number of NBBO bid and ask quotes during the bar. Unit: count · Missing values: 0 · Source: vendor guide and sample | |
| TradeAtBid | integeri64 | Share volume traded at or below the NBBO bid (late-printed trades can sit below the current bid). Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| TradeAtBidMid | integeri64 | Share volume traded strictly between the NBBO bid and midpoint. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| TradeAtMid | integeri64 | Share volume traded exactly at the NBBO midpoint. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| TradeAtMidAsk | integeri64 | Share volume traded strictly between the NBBO midpoint and ask. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| TradeAtAsk | integeri64 | Share volume traded at or above the NBBO ask. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| TradeAtCrossOrLocked | integeri64 | Share volume traded while the NBBO was locked (bid = ask) or crossed (bid > ask). Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| ListedMarketHoursVolume | integeri64 | Shares traded on public listed exchanges during regular market hours only. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| ListedMarketHoursTrades | integeri64 | Number of trades on listed exchanges during regular market hours. Unit: count · Missing values: 0 · Source: vendor guide and sample | |
| ListedTotalVolume | integeri64 | Shares traded on listed exchanges for the whole day (pre, regular, post-market). Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| ListedTotalTrades | integeri64 | Number of listed-exchange trades for the whole day. Unit: count · Missing values: 0 · Source: vendor guide and sample | |
| FinraMarketHoursVolume | integeri64 | Shares reported to FINRA/TRF (off-exchange) during regular market hours. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| FinraMarketHoursTrades | integeri64 | Number of FINRA/TRF trades during regular market hours. Unit: count · Missing values: 0 · Source: vendor guide and sample | |
| FinraTotalVolume | integeri64 | Shares reported to FINRA/TRF for the whole day. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| FinraTotalTrades | integeri64 | Number of FINRA/TRF trades for the whole day. Unit: count · Missing values: 0 · Source: vendor guide and sample | |
| UptickVolume | integeri64 | Shares traded on upticks (trade price above the previous trade price). Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| DowntickVolume | integeri64 | Shares traded on downticks (trade price below the previous trade price). Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| RepeatUptickVolume | integeri64 | Shares at an unchanged price whose last price change was up. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| RepeatDowntickVolume | integeri64 | Shares at an unchanged price whose last price change was down. Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| UnknownTickVolume | integeri64 | Volume of the day's first trade after 4 AM, whose tick direction is unknown (no prior trade). Unit: shares · Missing values: 0 · Source: vendor guide and sample | |
| MarketVWAP | number | Volume-weighted average trade price over regular hours plus the opening/closing crosses (which may print after 16:00 ET). Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| DailyVWAP | number | Volume-weighted average trade price for the whole day including pre- and post-market. Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| TradeToMidVolWeight | number | Volume-weighted mean of trade price minus NBBO midpoint; positive hints buying pressure. Blank if no trades; FINRA trades excluded; unit unstated (formula uses pennies). Missing values: Blank · Source: vendor guide and sample | |
| TradeToMidVolWeightRelative | number | Same measure scaled by the spread (min 1 penny) before volume weighting; blank if no trades; FINRA trades excluded. Missing values: Blank · Source: vendor guide and sample | |
| TimeWeightBid | number | Time-weighted average NBBO bid over the bar, starting from the open bid. Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| TimeWeightAsk | number | Time-weighted average NBBO ask over the bar, starting from the open ask. Unit: USD · Missing values: Blank · 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
- errortrade_high_ge_lowaccuracy
HighTradePrice is never below LowTradePrice in the same row.
SELECT COUNT(*) FROM {object} WHERE HighTradePrice IS NOT NULL AND LowTradePrice IS NOT NULL AND HighTradePrice < LowTradePrice - errorbid_high_ge_lowaccuracy
HighBidPrice is never below LowBidPrice in the same row.
SELECT COUNT(*) FROM {object} WHERE HighBidPrice IS NOT NULL AND LowBidPrice IS NOT NULL AND HighBidPrice < LowBidPrice - errorask_high_ge_lowaccuracy
HighAskPrice is never below LowAskPrice in the same row.
SELECT COUNT(*) FROM {object} WHERE HighAskPrice IS NOT NULL AND LowAskPrice IS NOT NULL AND HighAskPrice < LowAskPrice - errorCancelSize_non_negativeaccuracy
CancelSize is never negative.
SELECT COUNT(*) FROM {object} WHERE CancelSize < 0 - errorCloseAskSize_non_negativeaccuracy
CloseAskSize is never negative.
SELECT COUNT(*) FROM {object} WHERE CloseAskSize < 0 - errorCloseBidSize_non_negativeaccuracy
CloseBidSize is never negative.
SELECT COUNT(*) FROM {object} WHERE CloseBidSize < 0 - errorCloseTradeSize_non_negativeaccuracy
CloseTradeSize is never negative.
SELECT COUNT(*) FROM {object} WHERE CloseTradeSize < 0 - errorDowntickVolume_non_negativeaccuracy
DowntickVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE DowntickVolume < 0 - errorFinraMarketHoursVolume_non_negativeaccuracy
FinraMarketHoursVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE FinraMarketHoursVolume < 0 - errorFinraTotalVolume_non_negativeaccuracy
FinraTotalVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE FinraTotalVolume < 0 - errorHighAskSize_non_negativeaccuracy
HighAskSize is never negative.
SELECT COUNT(*) FROM {object} WHERE HighAskSize < 0 - errorHighBidSize_non_negativeaccuracy
HighBidSize is never negative.
SELECT COUNT(*) FROM {object} WHERE HighBidSize < 0 - errorListedMarketHoursVolume_non_negativeaccuracy
ListedMarketHoursVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE ListedMarketHoursVolume < 0 - errorListedTotalVolume_non_negativeaccuracy
ListedTotalVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE ListedTotalVolume < 0 - errorLowAskSize_non_negativeaccuracy
LowAskSize is never negative.
SELECT COUNT(*) FROM {object} WHERE LowAskSize < 0 - errorLowBidSize_non_negativeaccuracy
LowBidSize is never negative.
SELECT COUNT(*) FROM {object} WHERE LowBidSize < 0 - errorNBBOQuoteCount_non_negativeaccuracy
NBBOQuoteCount is never negative.
SELECT COUNT(*) FROM {object} WHERE NBBOQuoteCount < 0 - errorOpenAskSize_non_negativeaccuracy
OpenAskSize is never negative.
SELECT COUNT(*) FROM {object} WHERE OpenAskSize < 0 - errorOpenBidSize_non_negativeaccuracy
OpenBidSize is never negative.
SELECT COUNT(*) FROM {object} WHERE OpenBidSize < 0 - errorOpenTradeSize_non_negativeaccuracy
OpenTradeSize is never negative.
SELECT COUNT(*) FROM {object} WHERE OpenTradeSize < 0 - errorRepeatDowntickVolume_non_negativeaccuracy
RepeatDowntickVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE RepeatDowntickVolume < 0 - errorRepeatUptickVolume_non_negativeaccuracy
RepeatUptickVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE RepeatUptickVolume < 0 - errorUnknownTickVolume_non_negativeaccuracy
UnknownTickVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE UnknownTickVolume < 0 - errorUptickVolume_non_negativeaccuracy
UptickVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE UptickVolume < 0 - warningclose_quote_not_crossedaccuracy
Closing NBBO is rarely crossed; AlgoSeek ships crossed quotes as-is, so this only warns.
SELECT COUNT(*) FROM {object} WHERE CloseBidPrice > 0 AND CloseAskPrice > 0 AND CloseBidPrice > CloseAskPrice
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Plain-text CSV with a fixed header row; one file per trading day containing all symbols (rows are bars). Compression and bucket/key path are not stated in the guide.
- 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/taq-daily/: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.