Order Restated Message Fields
Order Restated messages are sent to inform the Member that an order has been asynchronously modified
for some reason without an explicit Modify Order message request having been sent. Some example (non-exhaustive) reasons for Order Restated messages being sent:
- A reserve (iceberg) order has been reloaded (C1 and C2 Only).
- An order's remaining quantity was decremented because of a prevented wash trade.
- An order is represented on the Cboe Options Trading Floor (C1 Only).
- A routed order has returned to rest on the book after matching liquidity on another market.
Members should be prepared to accept and apply Order Restated messages for any reason. The return bitfields indicate the characteristics of the order which have changed. Optional fields will be present at the end of the message with the new values.
Note: You must opt-in to receiving LeavesQty in Order Restated messages. In some cases, the last message to be received on an order's lifecycle will be an Order Restated message. The way to know the order is no longer live is to inspect LeavesQty. An example of this would be restatement of an order in some cases due to PreventMatch being set to d.
Permitted return optional fields are described in Order Restated.
| 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 | 0x28 |
| 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 | The ClOrdID is the identifier from the open order. |
| OrderID | 38 | 8 | Binary |
|
| RestatementReason | 46 | 1 | Alphanumeric |
|
| ReservedInternal | 47 | 1 | Binary | Reserved for Cboe internal use. |
| NumberOfReturn Bitfields | 48 | 1 | Binary | Number of bitfields to follow. |
| ReturnBitfield¹ | 49 | 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 | 41 00 | 65 bytes |
| MessageType | 28 | Order Restated |
| 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 |
| OrderID | 05 10 1E B7 5E 39 2F 02 | 171WC1000005 (base 36) |
| RestatementReason | 4C | L=Reload |
| ReservedInternal | 00 | Ignore |
| NumberOfReturn Bitfields | 06 | Six bitfields to follow |
| ReturnBitfield1 | 00 | No fields from byte 1 |
| ReturnBitfield2 | 00 | No fields from byte 2 |
| ReturnBitfield3 | 00 | No fields from byte 3 |
| ReturnBitfield4 | 00 | No fields from byte 4 |
| ReturnBitfield5 | 02 | LeavesQty |
| ReturnBitfield6 | 01 | SecondaryOrderID |
| LeavesQty | 64 00 00 00 | 100 contracts |
| SecondaryOrderID | 0A 10 1E B7 5E 39 2F 02 | 171WC100000A (base 36) |





