US Options Daily Analytics
One row per option contract per trading day with end-of-day model values computed from the last-minute NBBO mid-price: implied volatility, theoretical price and delta, gamma, theta, vega and rho, plus the underlying mid and the last option quote used, and a code saying how the implied vol was obtained.
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 + Expiration (+ OptionStyle as attribute). No OSI/OCC symbol column; Strike is USD per share (one decimal in sample), Expiration is yyyymmdd. Whether Ticker is the option root or underlying (SPX vs SPXW) is not stated. Pricing model: Black-Scholes-Merton family. American options use QuantLib FdBlackScholesVanillaEngine (finite difference, implicit time stepping, uniform grid of 300 time steps by 900 price steps) with projected discrete dividends. European options use the closed-form Black-Scholes with dividend yield (Haug 2007). Greeks: delta, gamma and theta come from the QuantLib grid for American options; rho and vega are central finite differences (rate bumped 10 bp, volatility bumped 100 bp). Units are not stated: sample matches vega per 1 vol point, rho per 1 percentage point, theta per calendar day (one-day price decay). Underlying price input: underlying NBBO mid-price at the last minute traded (UnderLastMidPrice, minute stamped in UnderLastMidTime, 15:59 in the sample). Option price input: option NBBO mid at the last minute traded (LastBid/LastAsk/LastMid with their own timestamps).
Coverage
US listed options on stocks, ETFs and indexes (American and European styles), derived from algoseek equity and options market data. Excludes VIXW options, FX options and options on OTC underlyings. Non-standard deliverables are not modelled (relevant fields set to zero). History start is not stated.
Venues (1)
- OPRA consolidated feed (derived data)
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 (10)
- 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 discrepancyUnderLastMidTime: guide doc type is 'decimal' but the description is 'the minute bar' and the sample is text 'HH:MM' (15:59).
- Documentation discrepancyGuide text says the convergence field flags 'root convergence, capping, interpolation, or extrapolation' but Table 2 lists 11 codes and none is a capping code.
- Documentation discrepancyProduct page says metrics use the 'last-minute mid-price of each trading session'; the guide says 'last minute traded' for each contract. Sample LastBidTime ranges from 09:30 to 15:59 while UnderLastMidTime is always 15:59, so option quotes can be older than the underlying quote.
- Documentation discrepancyProduct page says 'each listed US options contract'; guide says 'each traded contract'.
- Documentation discrepancyGuide describes Theta only as decay per day and gives no scaling for Vega/Rho; sample magnitudes imply vega per 1 vol point and rho per 1 percentage point (verified against Black-Scholes for the first sample row), which the guide text (10 bp rate bump, 100 bp vol bump) does not state as the reporting scale.
- Documentation discrepancyGuide says rows correspond to 'individual events' (boilerplate); each row is a contract-day.
- Documentation discrepancyGuide cover says 'US Options Daily Analytics Guide' but the running header says 'US Options Analytics EOD Guide'.
- Documentation discrepancyGuide columns match the 23-column sample header exactly, in the same order. Column is named Expiration here, ExpirationDate in the bar datasets.
23 columns in delivery order · file or table name opt_greeks_daily. Types are ODCS logical types; the format line shows how values are written.
| Column | Type | Key | Description |
|---|---|---|---|
| TradeDate | dateyyyymmdd | Key 1 · Required | Trading date of the calculation Missing values: Never · Source: vendor guide and sample |
| Ticker | string | Key 2 · Required | Symbol name; sample shows the underlying/root (AAPL) Missing values: Never · Source: vendor guide and sample |
| CallPut | string · enum (2) | Key 3 · Required | Option contract type, C = Call or P = Put Missing values: Never · Source: vendor guide and sample 2 allowed values
|
| OptionStyle | string · enum (2) | Required | Exercise style, A = American or E = European Missing values: Never · Source: vendor guide and sample 2 allowed values
|
| Strike | number | Key 4 · 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 |
| Expiration | dateyyyymmdd | Key 5 · Required | Expiration date of the option contract Missing values: Never · Source: vendor guide and sample |
| YearsToMaturity | number | Required | Time until expiry in years; sample equals DaysToMaturity/365 Missing values: Never · Source: vendor guide and sample |
| DaysToMaturity | integeri64 | Required | Calendar days from TradeDate until the contract expires Missing values: Never · Source: vendor guide and sample |
| UnderLastMidPrice | number | Required | Underlying NBBO mid-price at the last minute traded; model spot input Unit: USD · Missing values: Never · Source: vendor guide and sample |
| UnderLastMidTime | timeHH:MM (e.g. 15:59) | Minute bar used for UnderLastMidPrice; guide doc type says decimal but sample is HH:MM text Missing values: Never · Source: vendor guide and sample | |
| LastBidPrice | number | Option NBBO bid at the last minute traded Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| LastBidTime | timeHH:MM:SS.mmm | Timestamp of LastBidPrice; sample shows values from 09:30 to 15:59, so it can be hours stale Missing values: Blank · Source: vendor guide and sample | |
| LastMidPrice | number | Option NBBO mid-price at the last minute traded; (LastBid+LastAsk)/2 in sample; input price for implied vol Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| LastAskPrice | number | Option NBBO ask at the last minute traded Unit: USD · Missing values: Blank · Source: vendor guide and sample | |
| LastAskTime | timeHH:MM:SS.mmm | Timestamp of LastAskPrice Missing values: Blank · Source: vendor guide and sample | |
| MidImpliedVol | number | Required | Implied volatility solved from LastMidPrice, or estimated per ImpliedVolConvergence Missing values: Never · Source: vendor guide and sample |
| MidTheoPrice | number | Required | Model theoretical price corresponding to LastMidPrice Unit: USD · Missing values: Never · Source: vendor guide and sample |
| MidDelta | number | Required | Change in option price per unit change in underlying price Missing values: Never · Source: vendor guide and sample |
| MidGamma | number | Required | Change in delta per unit change in underlying price Missing values: Never · Source: vendor guide and sample |
| MidTheta | number | Required | Change in option value with time; guide says decay per day; sample negative for long options Missing values: Never · Source: vendor guide and sample |
| MidVega | number | Required | Change in option price per volatility change; sample scale matches 1 vol point (0.01) Missing values: Never · Source: vendor guide and sample |
| MidRho | number | Required | Change in option price per risk-free rate change; sample scale matches 1 percentage point Missing values: Never · Source: vendor guide and sample |
| ImpliedVolConvergence | string · enum (11) | Required | Code for how MidImpliedVol was obtained: converged, interpolated, put-call pair, extrapolated or failed Missing values: Never · Source: vendor guide and sample 11 allowed values
|
- 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, Ticker, CallPut, Strike, Expiration) must be 0
Delivery
S3 flat files
AlgoSeek flat-file delivery (the layout the schema below describes).
- Layout:
- Plain-text CSV with fixed header row; by default one file per symbol per trading day (e.g. all AAPL data for one date in one CSV). Compression and 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/greeks-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
- 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.