New Order Message Fields
A New Order message consists of a number of required fields followed by a number of optional fields. The optional fields used are specified by setting bits in the NewOrderBitfields. Fields must be appended at the end of the message, starting with the lowest order enabled bit in the first bit field first.
Permitted input optional fields are described in New Order.
| 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 |
0x38 |
| MatchingUnit | 5 | 1 | Binary | Always 0 for inbound (Member to Cboe) messages. |
| SequenceNumber | 6 | 4 | Binary | The sequence number for this message. |
| ClOrdID | 10 | 20 | Text |
|
| Side | 30 | 1 | Alphanumeric |
|
| OrderQty | 31 | 4 | Binary |
|
| NumberOfNewOrderBitfields | 35 | 1 | Binary | Bitfield identifying which bitfields are set. Field values must be appended to the end of the message. |
| NewOrderBitfield¹ | 36 | 1 | Binary | Bitfield identifying fields to follow. |
| …. | ||||
| NewOrderBitfieldᶯ | 1 | Binary | Last bitfield. | |
| Optional fields. . . |
Required Order Attributes:
The following are required to be sent on new orders:
- Some form of symbology (see Symbology below);
- Price (limit orders) or Price and/or OrdType (limit or market orders. Note market and stop/stop limit orders are not supported during GTH or Curb sessions); and,
- Capacity;
All price fields (Price, StopPx) must be entered as non-negative values.
All other values have defaults. See List of Optional Fields for information about each optional field, including its default value.
| Field Name | Hexadecimal | Notes |
|---|---|---|
| StartOfMessage |
BA BA | Start of message bytes. |
| MessageLength |
59 00 | 89 bytes |
| MessageType |
38 | New Order |
| MatchingUnit |
00 | Always 0 for inbound messages |
| SequenceNumber |
64 00 00 00 | Sequence number 100 |
| ClOrdID |
41 42 43 31 32 33 00 00 00 00
00 00 00 00 00 00 00 00 00 00 | ABC123 |
| Side |
31 | Buy |
| OrderQty |
64 00 00 00 | 100 contracts |
| NumberOfNewOrder Bitfields |
04 | Four bitfields to follow |
| NewOrderBitfield1 |
04 | Price |
| NewOrderBitfield2 |
C1 | Symbol, Capacity, RoutingInst |
| NewOrderBitfield3 |
01 | Account |
| NewOrderBitfield4 |
17 | MaturityDate, StrikePrice, PutOrCall, OpenClose |
| Price |
70 17 00 00 00 00 00 00 | 0.60 |
| Symbol |
4D 53 46 54 00 00 00 00 | MSFT |
| Capacity |
43 | C = Customer |
| RoutingInst |
52 00 00 00 | R = Routable |
| Account |
44 45 46 47 00 00 00 00 00 00 00 00 00 00 00 00 | DEFG |
| MaturityDate |
EF DB 32 01 | 2011-03-19 |
| StrikePrice |
98 AB 02 00 00 00 00 00 | 17.50 |
| PutOrCall |
31 | 1 = Call |
| OpenClose |
4F | O = Open |





