Support

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 quantity indicating the number of shares to remove from the display size
  • Order Delete: Cancel, with the quantity indicating the current display size of the order
  • Order Replace: Cancel with the previous order_id, followed by Add with the new order_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
Info

For more information on the Nasdaq Opening and Closing Cross, see this Nasdaq FAQ.

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.