Support

NYSE National Trades and BBO

NYSE National disseminates top-of-book and last sale data through their BBO and Trades feeds, respectively. Databento receives these over UDP multicast in our NY4 data center. Because they come from separate feeds, BBO and trade events may be out-of-order, even within a single instrument.

PDF specifications are available on NYSE's website for the BBO and Trades feeds.

Info
Info

The Databento team is currently working on this article.

Timestamps

NYSE National messages received by Databento will generally include two timestamps with nanosecond precision. As with all of our datasets, we also collect a ts_recv timestamp when the packet was received by our capture server.

Databento Field BBO/Trades Field Description
ts_recv N/A The capture-server-received timestamp.
ts_event SourceTime The matching-engine-received timestamp.
ts_in_delta SendTime (Common) The matching-engine-sending timestamp.

More details about our timestamps are available in our timestamping guide.

MBO normalization

NYSE National Trades and BBO are sourced from two separate feeds: one for the BBO and one for trades. When combined, this level of data matches Databento's MBP-1 schema; however, unlike most other datasets, there is not a strict ordering between the events on the BBO feed and the Trades feed. We also offer these messages normalized into our MBO schema for consistency with other datasets with the caveat that some details are not made available by the upstream NYSE National feeds.

Each BBO "Quote Message (140)" is normalized into a pair of MBO records, as described in the conventions for top-of-book datasets.

Each Trades "Trade Message (220)" is normalized into a single MBO record with the Trade action, and the message's "Trade ID" field is used as the order_id. There is no information exposed about the passive side of the order, so there are no Fill records.