US Options GTH Trade Only
Tick-level trades in Cboe index options during the overnight Global Trading Hours session, each row carrying the NBBO bid and ask (time, price, size, condition) in force when the trade printed.
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 = ExpirationDate + StrikePrice + CallPut; the root/underlying (SPX vs SPXW, VIX vs VIXW, XSP, RUT vs RUTW) is NOT in the sample rows (guide lists a Ticker column) and must come from the Ticker column if delivered or from the file name/path. No OSI/OCC symbol column exists. StrikePrice, Price and LastBid/AskPrice are plain decimals in dollars/index points (StrikePrice 4580 = SPX 4580), not scaled by 1000; the contract multiplier is not in the file. EventType decoding verified on the sample: 33 = 32 call + 1 Trade; 1 = put Trade; NBBO bit (64) is clear on trade rows and Side is blank. Bit 4 (16) would mark a cancelled prior trade; no cancel rows appear in the sample. LastBid*/LastAsk* are the option NBBO in force at the trade; LastBidTime/LastAskTime can equal the trade Timestamp or lag it by seconds or minutes (sample shows both). Exchange is CB on every sample row.
Coverage
Index options with a GTH session: guide lists SPX, SPXW, XSP, VIX, VIXW, RUT and RUTW (RUT/RUTW added 2026-02-09); the product page names SPX, VIX, XSP and RUT. Extended GTH session started 2021-11-21 (business date 2021-11-22); AlgoSeek coverage starts 2023-01-09.
Venues (1)
- CB (CBOE)
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 (15)
- Primary key is inferred; AlgoSeek's guide does not name one.
- Documentation discrepancyGuide field table lists a Ticker column (after Timestamp); the sample header and rows have no Ticker, so the underlying/root is not in the row.
- Documentation discrepancyGuide intro gives the GTH session as 20:00:00-09:15:00 ET, then says it runs until 09:25 (09:15 before 2024-08-26); product page says 20:00:00-09:25:00.
- Documentation discrepancyGuide labels Date 'Trading date (optional)'; the sample has Date=20230801 on trades stamped 21:15-21:28 with expiry 20230802, i.e. the calendar date of the evening, not the following business date. No after-midnight rows exist in the sample.
- Documentation discrepancyGuide file-layout example uses AAPL options on 2020 dates; GTH covers only index options from 2023-01-09, so the example is boilerplate.
- Documentation discrepancyGuide says 'one file per option contract per trading day' but the example (and the multi-strike sample) is chain-level.
- Documentation discrepancyGuide intro says the data is based on top-of-book quotes and trades; the dataset only carries trades plus an NBBO snapshot (LastBid*/LastAsk*).
- Documentation discrepancyGuide has no quote-condition table for LastBidCondition/LastAskCondition (no Table 5); sample values A, B, C, O match the quote conditions defined in the sibling GTH TAQ guide (A eligible for auto execution, B bid customer interest, O offer customer interest, C both).
- Documentation discrepancyGuide Table 3 (Action) omits C (Trade Cancel), FQ, NFQ and NQ that the TAQ guide lists; only T appears in the sample.
- Documentation discrepancyGuide documents EventType as 'string'; sample values are decimal integers rendered as text (1, 33).
- Documentation discrepancyGuide Table 6 says bits 0-3 are a '3-bit' message type, but bits 0-3 are 4 bits and Table 7 runs to value 11.
- Documentation discrepancyGuide Table 7 names message type 10 'UnderlyingValueSell' while Table 3 names the matching action 'UnderlyingValueSale'.
- Documentation discrepancyGuide Table 7 has no type 12 (Indicative); Table 3 lists action 'I' = Indicative Value and 'IN' = Invalid with no message-type value. The AlgoSeek decoder convention assigns 12 = Indicative.
- Documentation discrepancyGuide describes Quantity as 'Underlying asset quantity'; sample values (1..3444, quote sizes) behave as option contract counts.
- Documentation discrepancyGuide expands OPRA as 'Options Pricing Authority' while the product pages say 'Options Price Reporting Authority'.
21 columns in delivery order · file or table name opt_trades_gth. 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, yyyymmdd. In the GTH sample it is the calendar date of the evening events (20230801 with 21:xx times, next-day expiry); behaviour after midnight is not shown. Missing values: unstated (guide marks column optional) · Source: vendor guide and sample |
| Timestamp | timeHHMMSSmmm | Key 2 · Required | Event time in US Eastern clock time to the millisecond, no date part; keep as text (Excel mangles it). Evening rows are 20:00-23:59; early-morning rows run to 09:25. Source: vendor guide and sample |
| CallPut | string · enum (2)C | P | Key 3 · Required | Option type: C for call, P for put. Source: vendor guide and sample 2 allowed values
|
| StrikePrice | number | Key 4 · Required | Strike price of the contract in dollars (index points for index options), e.g. 4555 or 202.5. Unit: USD · Source: vendor guide and sample |
| ExpirationDate | dateyyyymmdd | Key 5 · Required | Expiration date of the option contract in yyyymmdd. Source: vendor guide and sample |
| EventType | integeri64 | Key 6 · Required | Numeric byte mask: bits 0-3 message type, bit 4 cancel, bit 5 call, bit 6 NBBO, bit 7 buy/bid side. Action is its text form. Source: vendor guide and sample |
| Action | string · enum (10)space-separated tokens, e.g. 'T' | Text form of EventType: message-type token plus NB when the NBBO bit is set (e.g. 'FQ NB'). Side is a separate column. Source: vendor guide and sample 10 allowed values
| |
| Side | string · enum (2)B | A | blank | Side of the book for quote events: B bid, A ask. Blank for trade events. Missing values: Empty for trade events (guide) · Source: vendor guide and sample 2 allowed values
| |
| Price | number | Key 8 · Required | Trade price for trades; bid or ask price (per Side) for quote events. Option premium per underlying unit. Unit: USD · Source: vendor guide and sample |
| Quantity | integeri64 | Key 9 · Required | Event size: traded size for trades, quote size for quotes. Guide says 'underlying asset quantity'; values behave as contract counts. Unit: contracts · Source: vendor guide and sample |
| Exchange | string · enum (1)2-letter code | Key 7 · Required | Venue code. The guide states all GTH events come from Cboe (CB). Source: vendor guide and sample 1 allowed values
|
| Conditions | string · enum (34)single character (space is a valid value) | Single-character trade condition (guide Table 4); sample shows I (AUTO) and f (MLET). Source: vendor guide and sample 34 allowed values
| |
| LastBidTime | timeHHMMSSmmm | Time of the last option NBBO bid before the trade (ET, ms). Source: vendor guide and sample | |
| LastBidPrice | number | Price of the last option NBBO bid. Unit: USD · Source: vendor guide and sample | |
| LastBidSize | integeri64 | Size of the last option NBBO bid. Unit: contracts · Source: vendor guide and sample | |
| LastBidCondition | stringsingle character | Condition code of the last option NBBO bid. Guide has no table for it; sample shows A, B, C, O. Source: vendor guide and sample | |
| LastAskTime | timeHHMMSSmmm | Time of the last option NBBO ask before the trade (ET, ms). Source: vendor guide and sample | |
| LastAskPrice | number | Price of the last option NBBO ask. Unit: USD · Source: vendor guide and sample | |
| LastAskSize | integeri64 | Size of the last option NBBO ask. Unit: contracts · Source: vendor guide and sample | |
| LastAskCondition | stringsingle character | Condition code of the last option NBBO ask. Guide has no table for it; sample shows A, B, C, O. Source: vendor guide and sample | |
| Ticker | string | Symbol name (underlying/root) per the guide table. Not present in the sample header or sample rows. Source: vendor guide only |
- errorrow_count_positivecompleteness
Every delivered partition (trade date, or snapshot) carries at least one row.
rowCount must be greater than 0
- warningprimary_key_uniqueuniqueness
Best-effort key for an event stream: same-timestamp events from one venue can repeat, so duplicates are reported, not rejected.
duplicateValues (properties: Date, Timestamp, CallPut, StrikePrice, ExpirationDate, EventType, Exchange, Price, Quantity) must be 0
- errorLastAskSize_non_negativeaccuracy
LastAskSize is never negative.
SELECT COUNT(*) FROM {object} WHERE LastAskSize < 0 - errorLastBidSize_non_negativeaccuracy
LastBidSize is never negative.
SELECT COUNT(*) FROM {object} WHERE LastBidSize < 0 - errorQuantity_non_negativeaccuracy
Quantity is never negative.
SELECT COUNT(*) FROM {object} WHERE Quantity < 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Plain-text CSV with a fixed header; one row per event. Guide: one file per option contract per trading day, with the example of all calls and puts of one expiration for one trading date in one file; each CSV is gzip-compressed (about 7x expansion). No bucket/path/file-name pattern is given. Sample rows span many strikes and both calls and puts of one expiration, i.e. chain-level.
- Compression:
- gzip
- Access:
- Bucket access is granted per subscription; bucket names arrive with license provisioning.
Service levels
- History starts
- 2023-01-09
- First trade date of the vendor history.
- Update frequency
- Daily
- Retention
- Bounded by the license term
- Retention of landed copies is bounded by the AlgoSeek license; purge on termination.
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.