OKX (formerly OKEx) Schemas#
OKX (formerly OKEx) is a major Seychelles-based cryptocurrency exchange founded in 2013 by Star Xu as Okcoin. It rebranded in 2022, offering spot, derivatives, and Web3 services. Known for high security, it is owned by Ok Group, but not available to users in the USA
OKX#
Database includes the following Tables:
DAY - Daily price and statistical data, e.g. closing price, settlement price, open interest
PRL - Market depth data, aggregated by price point (MBP)
QTE - Best bid / offer quotes
STAT - Static data, e.g. ISIN, description, security type
TRD - Trades
OKX - DAY#
Daily price and statistical data, e.g. closing price, settlement price, open interest
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
UPDATE_TYPE |
string[16] |
Type of update |
OPEN |
double |
Open price for the current trading day |
HIGH |
double |
DAY: High price for the current trading day TRD_1M: Price of the highest-priced eligible trade in the current bar interval |
LOW |
double |
DAY: Low price for the current trading day. TRD_1M: Price of the lowest-priced eligible trade in the current bar interval |
CLOSE |
double |
Closing price |
VOLUME |
double |
DAY: Total volume traded on the current trading day TRD_1M, VWAP_1H: Total volume of eligible trades in the current bar interval |
TRADE_COUNT |
double |
Number of trades on the current trading day |
VWAP |
double |
Volume-weighted average price |
BUY_VOLUME |
double |
Traded volume originating from incoming buy orders. Excludes trades involving hidden orders, as well as off-book trades and auction trades, for the which the side of the aggressive order is undefined or unknown. |
SELL_VOLUME |
double |
Traded volume originating from incoming sell orders. Excludes trades involving hidden orders, as well as off-book trades and auction trades, for the which the side of the aggressive order is undefined or unknown. |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
OKX - PRL#
Market depth data, aggregated by price point (MBP)
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
BUY_SELL_FLAG |
int |
Orderbook side (0 - Buy, 1 - Sell) |
PRICE |
double |
TRD: Trade price, IDX: Index value, IND: Indicative price, PRL: Price point to which the depth entry relates, PRL_FULL: Order price, FIXING: Fixing price, RFC: Price associated with a Request for Cross |
SIZE |
double |
TRD: Trade size, IND: Indicative size, PRL: Size at the relevant price point, PRL_FULL: Order size, RFQ: Size associated with a Request for Quote, RFC: Size associated with a Request for Cross |
RECORD_TYPE |
string[1] |
Type of depth update. |
TICK_STATUS |
int |
Internal OneTick field. Always 0 unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
DELETED_TIME |
nsectime |
Internal OneTick field. Usually null unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
OKX - QTE#
Best bid / offer quotes
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
BID_PRICE |
double |
Best bid price. A null value is used if the bid side is empty, or if the best bid is set by unpriced orders (e.g. market orders) |
BID_SIZE |
double |
Best bid size |
ASK_PRICE |
double |
Best ask price. A null value is used if the ask side is empty, or if the best ask is set by unpriced orders (e.g. market orders) |
ASK_SIZE |
double |
Best ask size |
QUOTE_VENUE |
string[12] |
Venue (MIC) from which a quote originates |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
OKX - STAT#
Static data, e.g. ISIN, description, security type
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
NAME |
string[200] |
Description of the instrument |
EXCH_SYMBOL |
string[40] |
Ticker symbol specified by the exchange |
SEC_TYPE |
string[40] |
Security type, e.g. Equity, ETF, Future |
SEC_SUBTYPE |
string[40] |
Security subtype |
CURRENCY |
string[3] |
Currency in which the instrument’s price is expressed (or nominal currency for bonds traded as a % of nominal). |
EXPIRATION_DATE |
string[8] |
Date when a derivative expires (YYYYMMDD) |
STRIKE_PRICE |
double |
Exercise price for options / warrants |
CALL_PUT_IND |
string[1] |
C - Call option, P - Put option |
EXERCISE_TYPE |
string[1] |
Option exercise type (A - American, E - European, B - Bermudan, S - Asian) |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
OKX - TRD#
Trades
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
EXCH_TIME |
nsectime |
Event timestamp, as provided by the exchange. For electronic trading this refers to the matching engine timestamp |
PRICE |
double |
TRD: Trade price, IDX: Index value, IND: Indicative price, PRL: Price point to which the depth entry relates, PRL_FULL: Order price, FIXING: Fixing price, RFC: Price associated with a Request for Cross |
SIZE |
double |
TRD: Trade size, IND: Indicative size, PRL: Size at the relevant price point, PRL_FULL: Order size, RFQ: Size associated with a Request for Quote, RFC: Size associated with a Request for Cross |
TRADE_VENUE |
string[12] |
Identifies the venue where a trade was executed. Typically a MIC, with the special values XOFF for off-exchange and SINT for Systematic Internaliser trades. |
BUYER |
string[48] |
ID of the market participant on the buy side of a trade |
SELLER |
string[48] |
ID of the market participant on the sell side of a trade |
AGGRESSOR_SIDE |
string[1] |
Indicates whether a trade resulted from an incoming buy or sell order. |
TRADE_TYPE |
string[4] |
Type of trade |
TRADE_PERIOD |
string[1] |
Market period during which a trade was executed. |
BOOK_TYPE |
string[1] |
Type of order book or trading mechanism through which a trade was executed. |
TRADE_ID |
string[20] |
Trade identifier, generally the ID assigned by the matching engine |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
DELETED_TIME |
nsectime |
Internal OneTick field. Usually null unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
TICK_STATUS |
byte |
Internal OneTick field. Always 0 unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
OKX_DAILY#
Database includes the following Tables:
DAY - Daily price and statistical data, e.g. closing price, settlement price, open interest
STAT - Static data, e.g. ISIN, description, security type
OKX_DAILY - DAY#
Daily price and statistical data, e.g. closing price, settlement price, open interest
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
UPDATE_TYPE |
string[16] |
Type of update |
OPEN |
double |
Open price for the current trading day |
HIGH |
double |
DAY: High price for the current trading day TRD_1M: Price of the highest-priced eligible trade in the current bar interval |
LOW |
double |
DAY: Low price for the current trading day. TRD_1M: Price of the lowest-priced eligible trade in the current bar interval |
CLOSE |
double |
Closing price |
VOLUME |
double |
DAY: Total volume traded on the current trading day TRD_1M, VWAP_1H: Total volume of eligible trades in the current bar interval |
TRADE_COUNT |
double |
Number of trades on the current trading day |
VWAP |
double |
Volume-weighted average price |
BUY_VOLUME |
double |
Traded volume originating from incoming buy orders. Excludes trades involving hidden orders, as well as off-book trades and auction trades, for the which the side of the aggressive order is undefined or unknown. |
SELL_VOLUME |
double |
Traded volume originating from incoming sell orders. Excludes trades involving hidden orders, as well as off-book trades and auction trades, for the which the side of the aggressive order is undefined or unknown. |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |
OKX_DAILY - STAT#
Static data, e.g. ISIN, description, security type
Field |
Data Type |
Description |
|---|---|---|
SYMBOL_NAME |
string |
Symbol Name (Exchange Symbol for Equities & ETFs, and Starting with Exchange Product Code for Derivative Markets followed by expiry and strike as appropriate) |
TIMESTAMP |
nsectime |
Event Timestamp (typically at a nano-second resolution) |
NAME |
string[200] |
Description of the instrument |
EXCH_SYMBOL |
string[40] |
Ticker symbol specified by the exchange |
SEC_TYPE |
string[40] |
Security type, e.g. Equity, ETF, Future |
SEC_SUBTYPE |
string[40] |
Security subtype |
CURRENCY |
string[3] |
Currency in which the instrument’s price is expressed (or nominal currency for bonds traded as a % of nominal). |
EXPIRATION_DATE |
string[8] |
Date when a derivative expires (YYYYMMDD) |
STRIKE_PRICE |
double |
Exercise price for options / warrants |
CALL_PUT_IND |
string[1] |
C - Call option, P - Put option |
EXERCISE_TYPE |
string[1] |
Option exercise type (A - American, E - European, B - Bermudan, S - Asian) |
OMDSEQ |
uint |
Sequence number allowing ticks of different types at the same timestamp to be sorted into the correct chronological order. e.g. if a trade and a quote have the same timestamp, the one with the lower value of OMDSEQ arrived first. |