TradeReport
The consolidated stock tape
▶Proto definition.proto
message TradeReport { string symbol = 1; string market_center = 2; string security_class = 3; string control_number = 4; string price = 5; int32 size = 6; int64 volume = 7; string trade_settlement = 8; string trade_code = 9; string ext_hour_sold_codes = 10; string sale_cond_codes = 11; int64 executed_at = 12; int64 tracking_id = 13; string issue_type = 14; string nbbo_bid = 15; string nbbo_ask = 16; int64 nbbo_bid_quantity = 17; int64 nbbo_ask_quantity = 18; bool updates_high_low = 19; TradeSettlement trade_settlement_enum = 20; TradeCodes trade_code_enum = 21; ExthourSoldCodes ext_hour_sold_codes_enum = 22; SpecialSaleConditionsCodes sale_cond_codes_enum = 23; int32 ticker_id = 24; int64 trf_executed_at = 25; TickerInfo ticker_info = 26; }
Fields
symbol
string
1
The ticker symbol the trade is for.
market_center
string
2
The market center where the trade executed.
Can be one of:
1. Q => Nasdaq Stock Market (lit)
2. L or 2 => TRF (dark pool/off lit)
3. B or X => lit
security_class
string
3
Security class code
control_number
string
4
Identifier the upstream feed assigns to this trade message. Trade cancellations and
corrections reference this same control number (see TradeCancel) to point back at the original print.
price
string
5
The price at which the trade executed
size
int32
6
The size of the trade. At the time of writing this
there are no fractional trades but they are planned to go live
this year (2026). In that case the protobuf will be extended with
a new field that will have the fractional shares value.
volume
int64
7
The consolidated volume across all market places till now.
This volume represents the total volume you see across websites,
tv and on your broker.
trade_settlement
string
deprecated
8
Deprecated: do not use, use trade_settlement_enum instead.
The settlement type as a lower case string (e.g. "regular", "cash", "next_day", "seller").
trade_code
string
deprecated
9
Deprecated: do not use, use trade_code_enum instead.
The trade code as a lower case string (e.g. "opening_print"), or "empty" when the trade has none.
ext_hour_sold_codes
string
deprecated
10
Deprecated: do not use, use ext_hour_sold_codes_enum instead.
The extended hours/sold code as a lower case string, or "empty" when the trade has none.
sale_cond_codes
string
deprecated
11
Deprecated: do not use, use sale_cond_codes_enum instead.
The special sale condition code as a lower case string, or "empty" when the trade has none.
executed_at
int64
12
The time at which the trade executed in milliseconds since 1970 (unix)
tracking_id
int64
13
Internal tracking id of the trade
issue_type
string
deprecated
14
Deprecated: do not use, use ticker_info.issue_type instead, which is a well defined enum.
nbbo_bid
string
15
The bid at the time of the trade. Note that when TRF trades
are being pushed the BID does not represent the bid at the time
of the TRF (off lit) trade but rather the bid at the time the TRF trade
hit the tape.
nbbo_ask
string
16
The ask at the time of the trade. Note that when TRF trades
are being pushed the BID does not represent the ask at the time
of the TRF (off lit) trade but rather the ask at the time the TRF trade
hit the tape.
nbbo_bid_quantity
int64
17
The number of shares available at the NBBO bid at the time of the trade.
The same TRF caveat as nbbo_bid applies.
nbbo_ask_quantity
int64
18
The number of shares available at the NBBO ask at the time of the trade.
The same TRF caveat as nbbo_ask applies.
updates_high_low
bool
19
A boolean flag whether this trade is eligible for updating the open,
high, low and close of a stock for the trading day. If you are using this data
to build the daily OHLC of a stock live then you need to respect this flag
as there is a lot of trades that are not eligible for updating the OHLC data.
The settlement type as a typed enum.
The trade code as a typed enum (an *_EMPTY value when the trade has none).
The extended hours/sold code as a typed enum (an *_EMPTY value when the trade has none).
The special sale condition code as a typed enum (an *_EMPTY value when the trade has none).
ticker_id
int32
24
Internal unique ID for the given ticker at UW.
trf_executed_at
int64
25
For TRF (off lit) trades, the time the trade actually executed, in milliseconds since 1970 (unix).
This differs from executed_at, which is when the trade hit the consolidated tape, only set for TRF prints.
Information about the ticker such as sector, industry, next earnings date and more.