Order Execution Message Fields
An Order Execution message is sent for each fill on an order.
Rather than returning a monetary value indicating the rebate or charge for an execution, the FeeCode is an indication of a fee classification corresponding to an item on the venue's fee schedule.
For executions involving complex orders (C1, C2, and EDGX only), an Order Execution message will be generated for the complex order, with MultilegReportingType = 3, followed by Order Execution messages for each leg, with MultilegReportingType = 2. You must opt-in to receiving this optional field on Order Execution messages at login in order to receive this field. If both sides of a complex/spread trade are on the same order entry session, Cboe does not guarantee that the leg executions will not be interleaved between sides.
The symbology used on executions for complex orders, including the legs, will always be Cboe symbology.
Permitted return bitfields are described in Order Execution.
| Field | Offset | Length | Data Type | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| StartOfMessage | 0 | 2 | Binary | Must be 0xBA 0xBA. | ||||||||
| MessageLength | 2 | 2 | Binary | Number of bytes for the message, including this field but not including the two bytes for the StartOfMessage field. | ||||||||
| MessageType | 4 | 1 | Binary | 0x2C | ||||||||
| MatchingUnit | 5 | 1 | Binary | The matching unit which created this message. Matching units in BOE correspond to matching units on Multicast PITCH. | ||||||||
| SequenceNumber | 6 | 4 | Binary | The sequence number for this message. Distinct per matching unit. | ||||||||
| TransactionTime | 10 | 8 | DateTime | The time the event occurred in the Cboe Matching Engine (not the time the message was sent). | ||||||||
| ClOrdID | 18 | 20 | Text | Order receiving the execution. | ||||||||
| ExecID | 38 | 8 | Binary |
| ||||||||
| LastShares | 46 | 4 | Binary |
| ||||||||
| LastPx | 50 | 8 | Binary Price |
| ||||||||
| LeavesQty | 58 | 4 | Binary |
| ||||||||
| BaseLiquidity Indicator | 62 | 1 | Alphanumeric |
| ||||||||
| SubLiquidityIndicator | 63 | 1 | Alphanumeric |
| ||||||||
| ContraBroker | 64 | 4 | Alphanumeric |
| ||||||||
| ReservedInternal | 68 | 1 | Binary | Reserved for Cboe internal use. | ||||||||
| NumberOfReturn Bitfields | 69 | 1 | Binary | Number of bitfields to follow. | ||||||||
| ReturnBitfield¹ | 70 | 1 | Binary | Bitfield identifying fields to return. | ||||||||
| … | ||||||||||||
| ReturnBitfieldᶯ | 1 | Binary | Last bitfield. | |||||||||
| Optional fields… |
| Field Name | Hexadecimal | Notes |
|---|---|---|
| StartOfMessage | BA BA | Start of message bytes |
| MessageLength | 53 00 | 83 bytes |
| MessageType | 2C | Order Execution |
| MatchingUnit | 03 | Matching Unit 3 |
| SequenceNumber | 64 00 00 00 | Sequence number 100 |
| TransactionTime | E0 FA 20 F7 36 71 F8 11 | 1,294,909,373,757,324,000 |
| ClOrdID | 41 42 43 31 32 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ABC123 |
| ExecID | 01 F0 B7 D9 71 21 00 00 | D19800001 (base 36) |
| LastShares | 64 00 00 00 | 100 contracts |
| LastPx | 08 E2 01 00 00 00 00 00 | 12.34 |
| LeavesQty | 14 00 00 00 | 20 contracts |
| BaseLiquidityIndicator | 41 | A = Added |
| SubLiquidityIndicator | 00 | (unset) |
| ContraBroker | 42 41 54 53 | BATS |
| ReservedInternal | 00 | Ignore |
| NumberOfReturn Bitfields | 03 | Three bitfields to follow |
| ReturnBitfield1 | 00 | No bitfields from byte 1 |
| ReturnBitfield2 | 00 | No bitfields from byte 2 |
| ReturnBitfield3 | 46 | ClearingFirm, ClearingAccount, OrderQty |
| ClearingFirm | 54 45 53 54 | TEST |
| ClearingAccount | 31 32 33 43 | 1234 |
| OrderQty | 78 00 00 00 | 120 contracts |





