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.

Table 1. New Order Message Fields
FieldOffsetLengthData TypeDescription
StartOfMessage02BinaryMust be 0xBA 0xBA.
MessageLength22BinaryNumber of bytes for the message, including this field but not including the two bytes for the StartOfMessage field.
MessageType41Binary 0x38
MatchingUnit51BinaryAlways 0 for inbound (Member to Cboe) messages.
SequenceNumber64BinaryThe sequence number for this message.
ClOrdID1020Text
  • Corresponds to ClOrdID (11) in Cboe FIX.
  • ID chosen by the client. Characters in the ASCII range 33-126 are allowed, except for comma, semicolon, pipe, the ‘at’ symbol (@) and double quotes.
  • If the ClOrdID matches a live order, the order will be rejected as duplicate.
  • Note: Cboe only enforces uniqueness of ClOrdID values among currently live orders, which includes long-lived, persisting GTC/GTD orders. However, we strongly recommend that you keep your ClOrdID values unique.
Side301Alphanumeric
  • Corresponds to Side (54) in Cboe FIX.
  • 1 = Buy
  • 2 = Sell
OrderQty314Binary
  • Corresponds to OrderQty (38) in Cboe FIX.
  • Order quantity. System limit is 999,999 contracts.
NumberOfNewOrderBitfields351BinaryBitfield identifying which bitfields are set. Field values must be appended to the end of the message.
NewOrderBitfield¹361BinaryBitfield identifying fields to follow.
….
NewOrderBitfieldᶯ1BinaryLast 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.

Table 2. New Order Message Example
Field NameHexadecimalNotes
StartOfMessage BA BAStart of message bytes.
MessageLength 59 0089 bytes
MessageType 38 New Order
MatchingUnit 00Always 0 for inbound messages
SequenceNumber 64 00 00 00Sequence number 100
ClOrdID 41 42 43 31 32 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00ABC123
Side 31Buy
OrderQty 64 00 00 00100 contracts
NumberOfNewOrder Bitfields 04Four bitfields to follow
NewOrderBitfield1 04Price
NewOrderBitfield2 C1Symbol, Capacity, RoutingInst
NewOrderBitfield3 01Account
NewOrderBitfield4 17MaturityDate, StrikePrice, PutOrCall, OpenClose
Price 70 17 00 00 00 00 00 000.60
Symbol 4D 53 46 54 00 00 00 00MSFT
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 00DEFG
MaturityDate EF DB 32 01 2011-03-19
StrikePrice 98 AB 02 00 00 00 00 0017.50
PutOrCall 31 1 = Call
OpenClose 4F O = Open
Cboe Titanium U.S. Options BOE Specification - New Order Message Fields | Cboe