US Future Options Trade Only Minute Bar
One-minute event-based bars built only from executed trades in CME-listed options on futures: OHLC, dollar-style volume, contract and trade counts, and buy/sell aggressor splits.
How to use it
UTCDate/UTCTime are the event time in UTC and files cover UTC calendar days; LocalDate/LocalTime are Chicago clock time. The ticker is '<futures contract> <C|P><strike>' (e.g. 'ESU3 P4450'); the underlying is that futures contract month, not the spot index.
Typical use
Options-on-futures pricing and flow research on CME Group venues.
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. In the sample TotalQuantity differs from BuyQuantity + SellQuantity in 0 of 100 bars (trades with no aggressor side); BuyQuantity/BuyTradeCount are blank in 32 bars and SellQuantity/SellTradeCount in 61 (guide Missing = Blank). Bars are event-based and trade-only: a row exists only for a minute with at least one actual trade, so the series is sparse (sample UTCTimeBarStart values skip empty intervals). A contract-day with no trades has no file; very illiquid contracts may have none for weeks. A file is created only if there is at least one trade in the whole 24-hour session. Calculated trade prices (not actual trades, Flags 8 in the tick data) are excluded from bars. If a bar has a single trade, OpenPrice = HighPrice = LowPrice = ClosePrice.
Coverage
Page: CME-listed future options, trade-only, full historical archive plus daily automated updates. Guide: bars for securities listed on US exchanges. Start of history not stated.
Venues (1)
- CME
Answers to common questions
- What time zone are the timestamps in?
- UTC, with LocalDate/LocalTime fields in US Central (Chicago) time.
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 (5)
- Primary key is inferred; AlgoSeek's guide does not name one.
- Documentation discrepancyGuide types TotalVolume as integer and TotalQuantity as decimal, but the sample has TotalVolume with 6 decimals (e.g. 851.750000) and TotalQuantity as whole numbers; the Second Bar guide lists them the other way round (decimal / integer).
- Documentation discrepancyGuide says UTCTimeBarStart/LocalTimeBarStart are HH:MM for minute bars; the sample shows HH:MM:SS (e.g. 11:02:00).
- Documentation discrepancyGuide's note says a one-minute bar 11:04 covers times greater than 11:04 to less than 11:05, and a one-second bar 13:03:02 covers times greater than 13:03:01 up to 13:03:02, which reads as end-labelled and conflicts with the column name BarStart; no event times are in the trade-only sample to settle it (the TAQ minute-bar sample shows start-labelled windows).
- Documentation discrepancyGuide names TotalVolume 'Total Dollar Volume' (sum of price x contract size), but it equals price x number of contracts in price units, not USD notional (no contract multiplier). E.g. the 11:12:00 UTC bar has 5 contracts all at 51 and TotalVolume 255 in the sample.
20 columns in delivery order · file or table name fut_opt_trades_1min. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| Ticker | string | Key 1 · Partition · Required | Option ticker: futures-style code, a space, then C/P and strike (e.g. 'ESH4 C4800'). Missing values: Never · Source: vendor guide and sample |
| UTCDate | dateyyyymmdd | Key 2 · Partition · Required | UTC trade date of the bar (the UTC calendar day of the bar start). Missing values: Never · Source: vendor guide and sample |
| CallPut | string · enum (2) | Required | Option type, C (call) or P (put). Guide: available only in the Future Options dataset. Missing values: Never · Source: vendor guide and sample 2 allowed values
|
| Strike | integeri64 | Required | Option strike: fixed price for buying or selling the underlying outright future, in the future's price units. Missing values: Never · Source: vendor guide and sample |
| Month | string · enum (12)single-letter CME month code | Required | Option expiration month as a single-letter code (CME month codes, per the table the guide links). Missing values: Never · Source: vendor guide and sample 12 allowed values
|
| ExpirationYear | integeri64 | Required | Option expiration year as a four-digit number. Missing values: Never · Source: vendor guide and sample |
| UTCTimeBarStart | timeHH:MM:SS (sample); guide says HH:MM for minute bars | Key 3 · Required | UTC start of the one-minute bar, HH:MM:SS in the sample (guide says HH:MM for minute bars). Sample events fall in [start, start+60 s). Missing values: Never · Source: vendor guide and sample |
| LocalDate | dateyyyymmdd | Required | Chicago calendar date of the bar start (guide: local trade date); differs from UTCDate when UTC is 5-6 h ahead of the date. Missing values: Never · Source: vendor guide and sample |
| LocalTimeBarStart | timeHH:MM:SS (sample); guide says HH:MM for minute bars | Chicago local start time of the bar (DST-aware), same layout as UTCTimeBarStart. Missing values: Never · Source: vendor guide and sample | |
| OpenPrice | number | Price of the first trade in the bar. Missing values: Blank · Source: vendor guide and sample | |
| HighPrice | number | Highest trade price in the bar. Missing values: Blank · Source: vendor guide and sample | |
| LowPrice | number | Lowest trade price in the bar. Missing values: Blank · Source: vendor guide and sample | |
| ClosePrice | number | Price of the last trade in the bar. Missing values: Blank · Source: vendor guide and sample | |
| TotalVolume | number | Sum of trade price x contracts over the bar (guide: 'Total Dollar Volume'); in price units, no contract multiplier applied (sample-checked). Missing values: Never · Source: vendor guide and sample | |
| TotalQuantity | integeri64 | Total contracts traded in the bar; can exceed BuyQuantity + SellQuantity when some trades have no aggressor side. Unit: contracts · Missing values: Never · Source: vendor guide and sample | |
| BuyQuantity | integeri64 | Contracts in trades with 'Trade Aggressor on Buy'; blank if none. Unit: contracts · Missing values: Blank · Source: vendor guide and sample | |
| SellQuantity | integeri64 | Contracts in trades with 'Trade Aggressor on Sell'; blank if none. Unit: contracts · Missing values: Blank · Source: vendor guide and sample | |
| TotalTradeCount | integeri64 | Required | Number of separate trades in the bar; can exceed BuyTradeCount + SellTradeCount when some trades have no aggressor side. Unit: count · Missing values: Never · Source: vendor guide and sample |
| BuyTradeCount | integeri64 | Number of 'Trade Aggressor on Buy' trades; blank if none. Unit: count · Missing values: Blank · Source: vendor guide and sample | |
| SellTradeCount | integeri64 | Number of 'Trade Aggressor on Sell' trades; blank if none. Unit: count · 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: Ticker, UTCDate, UTCTimeBarStart) 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 - errorBuyTradeCount_non_negativeaccuracy
BuyTradeCount is never negative.
SELECT COUNT(*) FROM {object} WHERE BuyTradeCount < 0 - errorSellTradeCount_non_negativeaccuracy
SellTradeCount is never negative.
SELECT COUNT(*) FROM {object} WHERE SellTradeCount < 0 - errorTotalTradeCount_non_negativeaccuracy
TotalTradeCount is never negative.
SELECT COUNT(*) FROM {object} WHERE TotalTradeCount < 0 - errorTotalVolume_non_negativeaccuracy
TotalVolume is never negative.
SELECT COUNT(*) FROM {object} WHERE TotalVolume < 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Plain-text CSV with a fixed header row, gzip-compressed (.csv.gz, about 8:1). By default one file per symbol (contract) per trading day (guide example: ESH0 on 2020-01-28). A file exists only if the contract had enough activity that day; no bucket, path or file-name pattern is given.
- Compression:
- gzip
- Access:
- Bucket access is granted per subscription; bucket names arrive with license provisioning.
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.