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
3takerOrderIdint648Unique identifier for the taker order
4totalFilledQuantityMantissa8Total amount filled (by the taker order)
5deepestPriceFixedPoint98Deepest price in book matched by taker order
6tradeCountint324Number of Trade messages that will follow this message
7takerFlagsuint324Attributes 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
1instrumentIdint648Numeric instrument ID
2matchIdint648Unique identifier of the trade
4makerOrderIdint648Unique identifier for the resting order. In case of implied order or synthetic leg of a combo trade, encoded as 0x8000000000000000
6priceFixedPoint98Price at which the match occurred
7amountQuantityMantissa8Amount that was matched
8makerFlagsuint324See 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
6fillPricedouble8Price at which the block trade occurred
7markPricedouble8Mark price at the time of the block trade
8indexPricedouble8Index 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