Nasdaq CX2 Schemas#
Nasdaq CX2 is Nasdaq’s alternative trading system (ATS) for trading NMS stocks using a price-time priority order book model.
CX2#
Database includes the following Tables:
DAY - Daily price and statistical data, e.g. closing price, settlement price, open interest
MKT - Market phase / instrument status information
PRL_FULL - Full orderbook data, showing updates to each individual order (MBO)
QTE - Best bid / offer quotes
STAT - Static data, e.g. ISIN, description, security type
TRD - Trades
CX2 - 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) |
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 |
long |
DAY: Total volume traded on the current trading day TRD_1M, VWAP_1H: Total volume of eligible trades in the current bar interval |
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. |
CX2 - MKT#
Market phase / instrument status information
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 |
MKT_PHASE |
string[4] |
Indicates the instrument’s current market phase, as specified by the trading venue |
OMD_STATUS |
string[1] |
Indicates an instrument’s current trading status. Values are normalized across all DBs. |
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. |
CX2 - PRL_FULL#
Full orderbook data, showing updates to each individual order (MBO)
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 |
UPDATE_TYPE |
string[1] |
Type of update |
ORDER_ID |
string[20] |
Order identifier, uniquely identifying an order at any given point in time. Uniqueness depends on the exchange - e.g. may be globally unique, or unique per trading day, or per instrument per trading day. |
BROKER_ID |
int |
Identifies the market participant that entered an order / quote |
ORDER_TYPE |
string[1] |
Type of order. |
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 |
long |
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 |
TIME_PRIORITY |
long |
Time priority of an order in the order queue. If two standard orders on the same side have the same price, the one with the lower value of TIME_PRIORITY will be executed first. |
TRADE_ID |
string[12] |
Trade identifier, generally the ID assigned by the matching engine |
FILL_SIZE |
int |
Size filled in an order execution event |
OLD_PRICE |
double |
Previous price of an order |
OLD_SIZE |
long |
Previous size of an order |
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. |
CX2 - 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 |
long |
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 |
long |
Best ask size |
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. |
CX2 - 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[100] |
Description of the instrument |
ISIN |
string[12] |
ISIN code |
EXCH_SYMBOL |
string[20] |
Ticker symbol specified by the exchange |
MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) identifying the market on which the instrument is traded |
OPERATING_MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) of the exchange that operates the market on which the instrument is traded |
SEC_TYPE |
string[40] |
Security type, e.g. Equity, ETF, Future |
CURRENCY |
string[3] |
Currency in which the instrument’s price is expressed (or nominal currency for bonds traded as a % of nominal). |
LOT_SIZE |
double |
All standard order sizes must be an integer multiple of the Lot Size |
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. |
CX2 - 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 |
long |
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 |
BUYER |
string[4] |
ID of the market participant on the buy side of a trade |
SELLER |
string[4] |
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[12] |
Type of trade |
ODD_LOT |
string[1] |
Indicates whether a trade was an odd lot |
BYPASS |
string[1] |
Identifies whether the trade resulted from a Bypass order |
SPECIAL_TERMS |
string[2] |
Indicates any non-standard settlement / execution terms associated with a 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 |
TICK_STATUS |
int |
Internal OneTick field. Always 0 unless hidden ticks are requested (e.g. SHOW_HIDDEN_TICKS). |
DELETED_TIME |
msectime |
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. |
CX2_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
CX2_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) |
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 |
long |
DAY: Total volume traded on the current trading day TRD_1M, VWAP_1H: Total volume of eligible trades in the current bar interval |
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. |
CX2_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[100] |
Description of the instrument |
ISIN |
string[12] |
ISIN code |
EXCH_SYMBOL |
string[20] |
Ticker symbol specified by the exchange |
MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) identifying the market on which the instrument is traded |
OPERATING_MIC |
string[4] |
Market Identifier Code (MIC, ISO 10383) of the exchange that operates the market on which the instrument is traded |
SEC_TYPE |
string[40] |
Security type, e.g. Equity, ETF, Future |
CURRENCY |
string[3] |
Currency in which the instrument’s price is expressed (or nominal currency for bonds traded as a % of nominal). |
LOT_SIZE |
double |
All standard order sizes must be an integer multiple of the Lot Size |
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. |