The Databento team is currently working on this article.
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
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.