For more information on the Nasdaq Opening and Closing Cross, see this Nasdaq FAQ.
Nasdaq TotalView-ITCH
Dataset ID: XNAS.ITCH
Nasdaq disseminates full depth-of-book data for their exchange through their TotalView-ITCH feed over the MoldUDP64 protocol, which Databento receives over UDP multicast in our NY4 data center.
PDF specifications are available on Nasdaq's website for Nasdaq TotalView-ITCH and MoldUDP64.
Timestamps
Nasdaq TotalView-ITCH messages received by Databento have at most one timestamp, which has nanosecond precision.
As with all of our datasets, we also collect a ts_recv timestamp when the packet was received by our capture server.
The extra field ts_in_delta does not convey any additional information for this dataset, and is equivalent to ts_recv - ts_event.
| Databento Field | TotalView Field | Description |
|---|---|---|
ts_recv |
N/A | The capture-server-received timestamp. |
ts_event |
Timestamp | The matching-engine-received timestamp. |
More details about our timestamps are available in our timestamping guide.
MBO normalization
Order lifecycle messages
There are seven message types in TotalView that change the state of the order book. Databento normalizes these messages to MBO records as follows:
- Add Order - No MPID Attribution: Add
- Add Order with MPID Attribution: Add, but the attribution field is not included
- Order Executed: Trade, Fill, then Cancel
- Order Executed with Price: Trade, Fill, then Cancel, but the initial Trade is omitted if the message is marked as non-printable
- Order Cancel: Cancel, with the
quantityindicating the number of shares to remove from the display size - Order Delete: Cancel, with the
quantityindicating the current display size of the order - Order Replace: Cancel with the previous
order_id, followed by Add with the neworder_id
All Trade records will have order_id set to 0, because Nasdaq does not provide information about the aggressor's order.
Normalized records from the same TotalView message will have the same sequence.
Trade messages
TotalView also has two messages for providing execution details for match events against non-displayed orders or cross events.
Databento normalizes both Trade (Non-Cross) and Cross Trade messages is into a single MBO Trade record with side None.
Nasdaq will always send a Cross Trade message following an opening, closing, or EMC cross event for an instrument.
If no shares are matched during a cross event, quantity will be 0 and price will be UNDEF_PRICE (0x7fffffffffffffff, 9223372036854775808).
Statistics normalization
TotalView provides information about the execution price and shares matched on completion of a cross event in their Cross Trade message. Databento normalizes each message into a record in the statistics schema.
Statistics are categorized by the following cross events:
- Opening price: Nasdaq Opening Cross
- Closing price: Nasdaq Closing Cross
- Uncrossing price: EMC Cross (Halt/IPO)
If no shares are matched during a cross event, quantity will be 0 and price will be UNDEF_PRICE (0x7fffffffffffffff, 9223372036854775808).
Imbalance normalization
TotalView provides information about cross imbalances in their Net Order Imbalance Indicator (NOII) message. Databento normalizes each message into a record in the imbalance schema.
| Databento Field | TotalView Field | Description |
|---|---|---|
paired_qty |
Paired Shares | The number of shares that are eligible to match at the ref_price. |
total_imbalance_qty |
Imbalance Shares | The number of shares not paired at the ref_price. |
side |
Imbalance Direction | The market side of the order imbalance: Bid (buy) imbalance, Ask (sell) imbalance, No imbalance. |
auct_interest_clr_price |
Far Price | Hypothetical auction-clearing price for cross orders only. |
cont_book_clr_price |
Near Price | Hypothetical auction-clearing price for cross and continuous orders. |
ref_price |
Current Reference Price | The price at which imbalance shares are being calculated. |
auction_type |
Cross Type | The type of cross: Opening, Closing, un-Halt or IPO, A: Extended Trading Close. |
significant_imbalance |
Price Variation Indicator | Indicates the deviation of cont_book_clr_price to the ref_price. Refer to the Nasdaq TotalView specification for values. |
Opening/Closing Cross
Nasdaq begins disseminating imbalance data at 9:25 ET for the Opening Cross and 15:50 ET for the Closing Cross.
Between 9:25 and 9:28, and 15:50 and 15:55, imbalance data is sent every 10 seconds.
The auct_interest_clr_price and cont_book_clr_price fields will not be populated during these times.
After 9:28 and 15:55, imbalance data is sent every 1 second and will include auct_interest_clr_price and cont_book_clr_price data.
At the conclusion of the Opening Cross at 9:30 and the Closing Cross at 16:00, a statistics record will be published with the official opening/closing price.
Info
Definition normalization
Definition records are sourced from Stock Directory messages.
| Databento Field | TotalView Field | Description |
|---|---|---|
exchange |
Market Category | Normalized to the MIC code of the listing venue. All Nasdaq-listed instruments will normalize to XNAS. |
security_type |
Issue Classification | Identifies the security class for the issue as assigned by Nasdaq. A list of the different values and their meanings can be found in Appendix D here. |
secsubtype |
Issue Sub-Type | Identifies the security sub-type for the issue as assigned by Nasdaq. A list of the different values and their meanings can be found in Appendix E here. |