Field definitions are in the data dictionary, including the
exact columns of the three daily files.
Exchanges
History is kept forbybit, deribit, okx, derive, combined (all crypto
venues merged) and tradfi. As everywhere else in the API, all / combined
with a TradFi ticker resolve to tradfi.
Session date
Every row carries asession_date:
- Crypto: the UTC calendar date.
- TradFi: the US trading date, the America/New_York calendar date.
Close
type is close for the last capture of a completed session. Every other
row is intraday, including the last capture of a session that is still open.
A row can therefore change from intraday to close after the fact, because
type describes the session, not the capture.
Point-in-time, no look-ahead
Each row is the data as it was captured attimestamp_utc. Rows are never
rewritten with later data, which is what a backtest needs.
For TradFi the open interest of a session is published after that session, so
a row captured on session D (including its close) uses the open interest of
the previous session. oi_date tells you which session’s open interest the row
used. For crypto, open interest is live and oi_date equals session_date.
What is in a snapshot
- Every capture has a
TOTALsnapshot (all expirations combined) and one snapshot per expiration./history/levelsreturnsTOTALonly;/history/snapshotand thelevelsandstrikes_by_expiryfiles also cover single expirations. - Per-strike data covers strikes within +/- 25% of that snapshot’s spot.
- Timestamps are ISO 8601 UTC with
Zand second precision. Expirations are ISOYYYY-MM-DDorTOTAL. - All GEX values are USD per 1% move of the underlying.
call_gexandput_gexare non-negative;net_gex = call_gex - put_gex. schema_versionis1today. Existing columns will not change meaning within a version.
Not available
- Volume is not captured. There are no volume columns.
- Venue subsets (see above).
- Snapshots from before open interest was stored have empty
call_oi/put_oicolumns.
/history/coverage to see where each
symbol’s history starts.