Skip to main content

Trades

Trade Summary (30)

This message is sent when a taker order matches against one or more maker/resting orders, followed by one or more Trade messages.
FieldNameTypeLengthDescription
1instrumentIdint648Numeric instrument ID
2takerOrderIdint648Unique identifier for the taker order
3totalFilledMantissaQuantityMantissa8Total amount filled (by the taker order)
4deepestPricePrice98Deepest price in book matched by taker order
5markPricePrice98Mark price at the time of the block trade
6indexPricePrice98Index price at the time of the block trade
7tradeCountint324Number of Trade messages that will follow this message
8takerFlagsuint324Attributes of taker order, defined below
The table below outlines the content of field 7 (takerFlags) and field 8 (makerFlags) in Trade message:
Bit number (from last to first)NameDescription
1isSell0=Buy
1=Sell
2Reserved for future use
3Reserved for future use
4Reserved for future use
5Reserved for future use
6Reserved for future use
7Reserved for future use
8Reserved for future use

Trade (31)

This message is sent for each matched order (including implied orders) and synthetic leg for trades on combo instruments.
FieldNameTypeLengthDescription
1matchIdint648Unique identifier of the trade
2instrumentIdint648Numeric instrument ID
3makerOrderIdint648Unique identifier for the resting order. In case of implied order or synthetic leg of a combo trade, encoded as 0x8000000000000000
4amountQuantityMantissa8Amount that was matched
5pricePrice98Price at which the match occurred
6makerFlagsuint324See table above

Block Trades

Block Trade (33)

This message is sent for each individual trade in a block trade. Multiple Block Trade messages belonging to the same block trade event are grouped as a transaction via the startOfTransaction and endOfTransaction flags in the message header. A block trade event is per instrument: a multi-leg block trade generates one transaction per leg. For example, a Block RFQ with 3 legs where the taker trades against 2 makers produces 3 transactions, each containing 2 Block Trade messages. Block RFQ trades include a blockRfqId; standard block trades omit it.
FieldNameTypeLengthDescription
1matchIdint648Unique identifier of the block trade fill
2instrumentIdint648Numeric instrument ID
3blockTradeIdint648Per-fill block trade identifier assigned by the matching engine
4blockRfqIdint648Block RFQ identifier; absent (null value) for standard block trades, present for Block RFQ trades
5fillQtyMantissaQuantityMantissa8Fill quantity
6fillPricePrice98Price at which the block trade occurred
7markPricePrice98Mark price at the time of the block trade
8indexPricePrice98Index price at the time of the block trade
9impliedVolatilitydouble8Implied volatility; absent (null value) for non-option instruments
10takerFlagsuint324Attributes of the taker side; see flags table in Trades section above
11numberOfLegsuint162Total number of legs in the block trade structure