US Options Trade Only Minute Bar
One row per option contract per one-minute interval that had at least one trade, with trade open/high/low/close, VWAP, volume, trade count and the underlying's NBBO bid/ask at the first and last trade. Built from OPRA consolidated trades; no option quotes are included.
How to use it
Identify a contract by underlying, expiration, strike and call/put. Most options tick files carry no underlying/root column: the underlying comes from the file path or API identifier, so keep it alongside every row you land. Strikes and prices are plain decimals (not scaled). EventType is a bit field: low 4 bits message type, 16 cancel, 32 call, 64 NBBO, 128 buy/bid side. Check OCC special settlements before comparing prices across a corporate action.
Typical use
Options pricing, volatility, and flow research on US-listed equity and index options.
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. Contract identity per row = Ticker + CallPut + Strike + ExpirationDate (no OSI/OCC symbol, no contract id). Strike is USD per share, 4 decimals in sample; ExpirationDate yyyymmdd. Trade-driven bars: a bar is created only when at least one trade occurred; no bar means no trade. With a single trade, open = high = low = close. Trades with condition codes A, B, C, F, G, N, O, T are excluded (previously reported, late/out of sequence, canceled, late opening, single-report-to-cancel, floor-agreed price, canceled stopped, benchmark). Bar window: minute 11:04 covers times greater than 11:04:00 and less than 11:05:00.
Coverage
US listed options from the OPRA consolidated feed (16 options exchanges); guide intro names options on equities, ETFs, ETNs and ADRs; page says all US equity options exchanges reporting via OPRA. History start date is not stated.
Venues (1)
- OPRA consolidated feed (16 options exchanges; individual venues not named)
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.
- Update cadence and publication latency are not stated in the guide; confirm with AlgoSeek (or GET /v1/meta/datasets/{id}/status).
- Documentation discrepancyTimeBarStart: guide says HHMM for minute bars (HHMMSS for second bars); the sample delivers HH:MM:SS ('09:30:00') in all rows.
- Documentation discrepancyUnder* fields are described twice: Table 2 says underlying NBBO at the first/last option bid, ask or trade event, while Table 3 says at the time of OpenTradePrice / CloseTradePrice. Sample comparison with the TAQ minute bar for the same contract and minute (195 put, 09:30) gives different underlying quotes (195.11/195.14 here vs 194.98/195.10), supporting the Table 3 reading (tak…
- Documentation discrepancyGuide Table 3 shows Missing = Blank for the four trade-price fields, yet a bar exists only when a trade occurred, so in practice they are always present; the sample has no blanks.
- Documentation discrepancyGuide intro describes the feed as built from quotes and trades, but the dataset contains trade-derived fields only.
- Documentation discrepancyGuide says 'EST' for the session while the other options guides say 'ET'.
- Documentation discrepancyGuide Bar Notes mention second-bar examples (130302) although this dataset is minute bars only.
- Documentation discrepancyGuide columns match the 17-column sample header exactly, in the same order.
17 columns in delivery order · file or table name opt_trades_1min. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| Date | dateyyyymmdd | Key 1 · Partition · Required | Trading date of the bar Missing values: Never · Source: vendor guide and sample |
| TimeBarStart | timeHH:MM:SS | Key 2 · Required | Start of the one-minute bar; guide says HHMM, sample delivers HH:MM:SS (09:30:00) Missing values: Never · Source: vendor guide and sample |
| Ticker | string | Key 3 · Partition · Required | Symbol name; sample shows the underlying/root (AAPL). Root vs underlying for index or adjusted roots is not stated Missing values: Never · Source: vendor guide and sample |
| CallPut | string · enum (2) | Key 4 · Required | Option type, C = Call or P = Put Missing values: Never · Source: vendor guide and sample 2 allowed values
|
| Strike | number | Key 5 · Required | Fixed price at which the option can be exercised, quoted per share of underlying Unit: USD · Missing values: Never · Source: vendor guide and sample |
| ExpirationDate | dateyyyymmdd | Key 6 · Required | Expiration date of the option contract Missing values: Never · Source: vendor guide and sample |
| OpenTradePrice | number | Price of the first trade in the bar Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| HighTradePrice | number | Price of the highest trade in the bar Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| LowTradePrice | number | Price of the lowest trade in the bar Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| CloseTradePrice | number | Price of the last trade in the bar Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| UnderOpenBidPrice | number | Required | Underlying NBBO bid at the time of the opening trade (Table 3); Table 2 says first option event Unit: USD · Missing values: Never · Source: vendor guide and sample |
| UnderOpenAskPrice | number | Required | Underlying NBBO ask at the time of the opening trade (Table 3); Table 2 says first option event Unit: USD · Missing values: Never · Source: vendor guide and sample |
| UnderCloseBidPrice | number | Required | Underlying NBBO bid at the time of the closing trade (Table 3); Table 2 says last option event Unit: USD · Missing values: Never · Source: vendor guide and sample |
| UnderCloseAskPrice | number | Required | Underlying NBBO ask at the time of the closing trade (Table 3); Table 2 says last option event Unit: USD · Missing values: Never · Source: vendor guide and sample |
| VWAP | number | Required | Volume-weighted average trade price in the bar Unit: USD · Missing values: Never · Source: vendor guide and sample |
| Volume | integeri64 | Required | Total contracts traded in the bar Unit: contracts · Missing values: Never · Source: vendor guide and sample |
| TotalTrades | integeri64 | Required | Total number of trades in the bar Unit: count · Missing values: Never · 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: Date, TimeBarStart, Ticker, CallPut, Strike, ExpirationDate) 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 - errorTotalTrades_non_negativeaccuracy
TotalTrades is never negative.
SELECT COUNT(*) FROM {object} WHERE TotalTrades < 0 - errorVolume_non_negativeaccuracy
Volume is never negative.
SELECT COUNT(*) FROM {object} WHERE Volume < 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Plain-text CSV with fixed header, gzip-compressed (uncompressed about 7x larger). One file per underlying ticker per trading day per option chain (ticker + expiration date). Bars ordered by time. Bucket/path naming 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-opt/trades-1min/: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
- 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.