108
Bats Options Exchanges Binary Order Entry Specification Version 2.2.5 January 27, 2017

Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Bats Options Exchanges

Binary Order EntrySpecification

Version 2.2.5

January 27, 2017

Page 2: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Contents

1 Introduction 5

1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2 Hours of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Motivation for Version 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.5 Hours of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.6 Optional Fields and Bitfields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2 Session 9

2.1 Message Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.2 Login, Replay and Sequencing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.3 Sequence Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.4 Heartbeats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.5 Logging Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3 Session Messages 11

3.1 Member to Bats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.1 Login Request V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.1.2 Logout Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.1.3 Client Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.2 Bats to Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.1 Login Response V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.2.2 Logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3.2.3 Server Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.4 Replay Complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4 Application Messages 20

4.1 Member to Bats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1.1 New Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4.1.2 New Order Cross (EDGX only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1.3 Cancel Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.4 Modify Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.1.5 Bulk Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.1.6 Purge Orders V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.2 Bats to Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2.1 Order Acknowledgment V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.2.2 Cross Order Acknowledgment (EDGX Only) . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.2.3 Bulk Order Acknowledgment V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.4 Order Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.2.5 Cross Order Rejected (EDGX Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.2.6 Order Modified V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Bats Global Markets c© 2008–2017 2

Page 3: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

4.2.7 Order Restated V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.2.8 User Modify Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4.2.9 Order Cancelled V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.2.10 Cross Order Cancelled (EDGX Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.2.11 Cancel Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

4.2.12 Order Execution V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4.2.13 Trade Cancel or Correct V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4.2.14 Purge Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2.15 Mass Cancel Acknowledgment V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

5 Input Bitfields Per Message 56

5.1 New Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

5.2 New Order Cross . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.3 Cancel Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.4 Modify Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.5 Bulk Order V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5.6 Purge Orders V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6 Return Bitfields Per Message 62

6.1 Order Acknowledgment V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

6.2 Cross Order Acknowledgment (EDGX Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.3 Bulk Order Acknowledgment V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.4 Order Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

6.5 Cross Order Rejected (EDGX Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

6.6 Order Modified V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

6.7 Order Restated V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

6.8 User Modify Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

6.9 Order Cancelled V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

6.10 Cross Order Cancelled (EDGX Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

6.11 Cancel Rejected V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

6.12 Order Execution V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

6.13 Trade Cancel or Correct V2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

7 List of Optional Fields 88

8 Reason Codes 100

9 List of Message Types 101

9.1 Member to Bats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

9.2 Bats to Member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

10 Port Attributes 102

11 Support 105

Bats Global Markets c© 2008–2017 3

Page 4: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Revision History 106

Bats Global Markets c© 2008–2017 4

Page 5: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

1 Introduction

1.1 Overview

This document describes Bats Binary Order Entry (BOE), the Bats Global Markets proprietary order entry protocol.

Where applicable, the terminology (e.g., time in force) used in this document is similar to that used by the FIXprotocol to allow those familiar with FIX to more easily understand BOE. This document assumes the reader hasbasic knowledge of the FIX protocol.

BOE fulfills the following requirements:

• CPU and memory efficiency. Message encoding, decoding, and parsing are simpler to code and can beoptimized to use less CPU and memory at runtime.

• Application level simplicity. State transitions are simple and unambiguous. They are easy to apply to aMember’s representation of an order.

• Session level simplicity. The session level protocol (login, sequencing, replay of missed messages, logout) issimple to understand.

Whilst Bats has strived to preserve feature parity between FIX and BOE where possible, some features may onlybe available in one protocol or the other.

All binary values are in little Endian (used by Intel x86 processors), and not network byte order.

Each message is identified by a unique message type. Not all message types are used in all of Bats’ tradingenvironments globally. A listing of the supported message types is provided in List of Message Types (§ 9,p. 101).

All communication is via standard TCP/IP.

1.2 Hours of Operation

All times noted are Eastern time zone (ET) based.

Refer to the web site for the Bats Holiday Schedule1.

Bats Options Exchanges support a Pre-Market Queuing Session that allows orders to be entered and queued priorto the start of the Regular Trading Session.

For more information on the Bats Opening Process, please refer to the Bats Opening Process Specification2.

Bats Options Exchanges do not support a closing auction, but do support Extended Trading for options on selectproducts. All orders remaining after the Regular Trading Session that are not eligible for Extended Tradingwill be cancelled automatically. All orders remaining after the Extended session will be cancelled automatically.Automatically cancelled orders will receive execution reports indicating so.

Session Start Time End TimePre-Market Queuing Session 8:00am3 9:30amRegular Trading Session 9:30am 4:00pmExtended Trading Session 4:00pm 4:15pm

1http://www.batsoptions.com/support/hours/2http://cdn.batstrading.com/resources/membership/BATS-Options-Exchange-Opening-Process.pdf3Changing to 7:30am effective December 11, 2015, pending SEC approval.

Bats Global Markets c© 2008–2017 5

Page 6: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

1.3 Motivation for Version 2

BOE Version 1 has a number of fixed size parts of messages which, while envisioned to be large enough forfuture growth, have been unable to accomodate Bats’ growth into new service offerings. Version 2 allows greateropportunity for future expansion by eliminating those problems.

Version 2’s goals are as follows:

• Return bitfield expansion. Messages from Bats to Member no longer have a limited number of returnbitfields. Members may ignore newly added fields as before, but there is no longer a fixed limit to thenumber of possible fields returned.

• Login message parameter groups. In Version 2, the Login Request V2 message can have extendableparameter groups sent to modify behavior in a forward compatible manner.

• Easy extension of messages from Member to Bats to support more bitfields. In Version 1, messages suchas New Order supported a fixed number of bitfields. In Version 2, New Order V2 requires that thenumber of entered bitfields be specified. This supports, in a backwards compatible way, addition of newbitfields in the future.

• Easier addition of new messages. In Version 1, the return bitfields for all messages had to be representedin the Login Request. Addition of messages meant changes to the fundamental structure of the LoginRequest. In Version 2, repeatable parameter groups are used to specify which bitfields are to be sent fordifferent message type. This allows the Login Request V2 to accomodate new message types withoutfundamental changes to the message structure.

• Latency improvements. As part of the move to Version 2, Bats is taking the opportunity to optimize themessage encoding (Bats to Member) to further reduce latency on return messages.

• Simplification of documentation. Bats has reduced the complexity of this documentation to make BOEeasier to understand.

If you are newly developing to the Bats BOE, you should implement to Version 2 of the specification. Newlyadded features (e.g., new message fields) may be implemented only in Version 2. You may migrate to Version 2at any point, but you will be required to migrate to Version 2 if and when you require use of such features.

To the extent possible, Version 2 has a similar “look and feel” to Version 1. Session-level concepts such assequencing and heartbeats are identical. Only messages documented in Version 2 are supported on a connectionestablished with a Login Request V2. Data type encoding remains identical. A design goal for the evolutionto Version 2 was to make it possible to upgrade Version 1 code to support Version 2 with a minimal amount ofdevelopment effort.

1.4 Data Types

The following data types are used by BOE. The size of some data types varies by message. All data types havedefault values of binary zero, in both Member to Bats and Bats to Member contexts.

• Binary : Little Endian byte order, unsigned binary value. The number of bytes used depends on the context.

– One byte: FE = 254

– Four bytes: 64 00 00 00 = 100

• Signed Binary : Little Endian byte order, signed two’s complement, binary value. The number of bytes useddepends on the context.

– One byte: DF = −33

– Four bytes: 64 00 00 00 = +100

Bats Global Markets c© 2008–2017 6

Page 7: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

• Binary Price: Little Endian byte order value, eight bytes in size, with four implied decimal places. So, if thevalue is 123, 400, the actual value taking into account implied decimal places is 12.34.

– 08 E2 01 00 00 00 00 00 = 123, 400/10000 = 12.34

• Signed Binary Price: Little Endian byte order value, signed two’s complement, eight bytes in size, with fourimplied decimal places. So, if the value is −123, 400, the actual value taking into account implied decimalplaces is −12.34.

– 08 E2 01 00 00 00 00 00 = 123, 400/10000 = 12.34

– F8 1D FE FF FF FF FF FF = −123, 400/10000 = −12.34

• Short Binary Price: Little Endian byte order value, four bytes in size, with four implied decimal places. So,if the value is 12, 300, the actual value taking into account implied decimal places is 1.23.

– 0C 30 00 00 = 12, 300/10000 = 1.23

• Signed Binary Fee: Little Endian byte order value, eight bytes in size, signed, with five implied decimalplaces. So, the value −123, 000 is −1.23 after taking account for the five implied decimal places.

– 88 1F FE FF FF FF FF FF = −123, 000/100000 = −1.23

• Alpha: Uppercase letters (A–Z) and lowercase letters (a–z) only. ASCII NUL (0x00) filled on the right, ifnecessary. The number of bytes used depends on the context.

• Alphanumeric: Uppercase letters (A–Z), lowercase letters (a–z) and numbers (0–9) only. ASCII NUL (0x00)filled on the right, if necessary.

• Text: Printable ASCII characters only. ASCII NUL (0x00) filled on the right, if necessary.

• DateTime: 8 bytes. The date and time, in UTC, represented as nanoseconds past the UNIX epoch (00:00:00UTC on 1 January 1970). The nanoseconds portion is currently ignored and treated as 0 (i.e. the timesare only accurate to microseconds) on input, and will always be set to 0 by Bats in outgoing messages.However, Bats may begin populating the nanoseconds portion at any time without warning.

For example: 1,294,909,373,757,324,000 = 2011-01-13 09:02:53.757324 UTC.

1.5 Hours of Operation

Refer to the web site for Bats hours of operation.

1.6 Optional Fields and Bitfields

Some messages such as New Order V2 and Modify Order V2 have a number of optional fields. A countand number of bitfields in the message specify which optional fields will be present at the end of the message. Ifa bit is set, the field will be present. Fields are appended to the end of the message. There is no implicit framingbetween the optional fields. In order to decode the optional fields, they must be appended in a particular order tothe end of the message. The fields of the first bitfield are appended first, lowest order bit first. Next, the fields ofthe next bitfield are appended, lowest order bit first. This continues for all bitfields. While certain reserved bitswithin a defined bitfield are used within another Bats market and will be ignored, bits that are reserved for futureexpansion must be set to 0 when noted in the bitfield description.

The size, data type, and values for each field are described in List of Optional Fields (§ 7, p. 88).

Note that the set of optional fields returned for each Bats to Member message type is determined at sessionlogin (using the Login Request V2 message); hence, the exact size and layout of each message received bythe client application can be known in advance. Any requested optional field which is irrelevant in a particularcontext will still be present in the returned message, but with all bytes set to binary zero (0x00).

Bats Global Markets c© 2008–2017 7

Page 8: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Each return message from Bats to Member indicates the optional fields which are present, even though theMember indicated during login which optional fields are to be sent. The reason for the inclusion (and duplication)is so that each message can be interpreted on its own, without having to find the corresponding login request orresponse to know which optional fields are present. So, for example, in a log file, decoding a message requiresonly that single message.

Example messages are shown with each message type which should help to make this concept clear.

Bats Global Markets c© 2008–2017 8

Page 9: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

2 Session

2.1 Message Headers

Each message has a ten byte header. The two initial StartOfMessage bytes are present to aid in messagereassembly for network capture purposes. The MatchingUnit field is only populated on sequenced non-sessionlevel messages sent from Bats to the Member. Messages from Member to Bats and all session level messagesmust always set this value to 0.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary Message type.MatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

For session level traffic, the unit is set to 0.

For messages from Member to Bats, theunit must be 0.

SequenceNumber 6 4 Binary The sequence number for this message.

Messages from Bats to Member are sequenceddistinctly per matching unit.

Messages from Member to Bats are sequencedacross all matching units with a single sequencestream.

Member can optionally send a 0 sequence num-ber on all messages from Member to Bats. Batshighly recommends Member to send sequencenumber on all inbound messages.

2.2 Login, Replay and Sequencing

Session level messages, both inbound (Member to Bats) and outbound (Bats to Member) are unsequenced.

Inbound (Member to Bats) application messages are sequenced. Upon reconnection, Bats informs the Memberof the last processed sequence number; the Member may choose to resend any messages with sequence numbersgreater than this value. A gap forward in the Member’s incoming sequence number is permitted at any time andis ignored by Bats. Gaps backward in sequence number (including the same sequence number used twice) arenever permitted and will always result in a Logout message being sent and the connection being dropped.

Most (but not all) outbound (Bats to Member) application messages are monotonically sequenced per matchingunit. Each message’s documentation will indicate whether it is sequenced or unsequenced. While matching unitson BOE correspond directly to matching units on Multicast PITCH, sequence numbers do not.

Upon reconnection, a Member sends the last received sequence number per matching unit in a Login RequestV2 message. Bats will respond with any missed messages. However, when the Login Request V2 NoUnspec-ifiedUnitReplay flag is enabled, Bats will exclude messages from unspecified matching units during replay. Batswill send a Replay Complete message when replay is finished. If there are no messages to replay, a ReplayComplete message will be sent immediately after a Login Response V2 message. Bats will reject all orders

Bats Global Markets c© 2008–2017 9

Page 10: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

during replay.

Assuming Member has requested replay messages using a properly formatted Login Request V2 after adisconnect, any unacknowledged orders remaining with the Member after the Replay Complete message isreceived should be assumed to be unknown to Bats.

Unsequenced messages will not be included during replay.

A session is identified by the username and session sub-identifier (both supplied by Bats). Only one concurrentconnection per username and session sub-identifier is permitted.

If a login is rejected, an appropriate Login Response V2 message will be sent and the connection will beterminated.

2.3 Sequence Reset

A reset sequence operation is not available for Binary Order Entry. However, a Member can send a LoginRequest message with NoUnspecifiedUnitReplay field enabled, and NumberOfUnits field set to zero. Then,upon receiving a Login Response V2 message from Bats, the Member can use the field LastReceivedSequen-ceNumber as the sequence starting point for sending future messages.

2.4 Heartbeats

Client Heartbeat messages are sent from Member to Bats and Server Heartbeat messages are sent fromBats to Member if no other data has been sent in that direction for one second. Like other session level messages,heartbeats from Bats to the Member do not increment the sequence number. If Bats receives no inbound dataor heartbeats for five seconds, a Logout message will be sent and the connection will be terminated. Membersare encouraged to have a one second heartbeat interval and to perform similar connection stalenesslogic.

2.5 Logging Out

To gracefully log out of a session, a Logout Request message should be sent by the Member. Bats willfinish sending any queued data for that port and will then respond with its own Logout message and close theconnection. After receipt of a Logout Request message, Bats will ignore all other inbound (Member to Bats)messages except for Client Heartbeat.

Bats Global Markets c© 2008–2017 10

Page 11: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

3 Session Messages

3.1 Member to Bats

3.1.1 Login Request V2

A Login Request V2 message must be sent as the first message upon connection.

A number of repeating parameter groups, some of which may be required, are sent at the end of the message.Ordering of parameter groups is not important. New parameter groups may be added in the future with no notice.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x37MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary Always 0 for session level messages.SessionSubID 10 4 Alphanumeric Session Sub ID supplied by Bats.Username 14 4 Alphanumeric Username supplied by Bats.Password 18 10 Alphanumeric Password supplied by Bats.NumberOfParamGroups

28 1 Binary A number, n (possibly 0), of parameter groupsto follow.

ParamGroup1 First parameter group....ParamGroupn Last parameter group.

Unit Sequences Parameter Group

This parameter group includes the last consumed sequence number per matching unit received by the Member.Bats uses these sequence numbers to determine what outbound (Bats to Member) traffic, if any, was missed bythe Member. If this parameter group is not sent, it’s assumed the Member has not received any messages (e.g.,start of day).

The Member does not need to include a sequence number for a unit if they have never received messages fromit. For example, if the Member has received responses from units 1, 3, and 4, the Login Request V2 messageneed not include unit 2. If the Member wishes to send a value for unit 2 anyway, 0 would be the only allowedvalue.

Only one instance of this parameter group may be included.

Field Offset Length Data Type DescriptionParamGroupLength 0 2 Binary Number of bytes for the parameter group, in-

cluding this field.ParamGroupType 2 1 Binary 0x80NoUnspecifiedUnitReplay

3 1 Binary Flag indicating whether to replay missed outgo-ing (Bats to Member) messages for unspecifiedunits.

0x00 = False (Replay Unspecified Units)0x01 = True (Suppress Unspecified Units Re-play)

Bats Global Markets c© 2008–2017 11

Page 12: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

NumberOfUnits 4 1 Binary A number, n (possibly 0), of unit/sequence pairsto follow, one per unit from which the Memberhas received messages.

UnitNumber1 1 Binary A unit number.UnitSequence1 4 Binary Last received sequence number for the unit....UnitNumbern 1 Binary A unit number.UnitSequencen 4 Binary Last received sequence number for the unit.

Return Bitfields Parameter Group

This parameter group, which may be repeated, indicates which attributes of a message will be returned by Batsfor the remainder of the session. This allows Members to tailor the echoed results to the needs of their systemwithout paying for bandwidth or processing they do not need.

Listing of the return bitfields which are permitted per message is contained in Return Bitfields Per Message (§6, p. 62).

Field Offset Length Data Type DescriptionParamGroupLength 0 2 Binary Number of bytes for the parameter group, in-

cluding this field.ParamGroupType 2 1 Binary 0x81MessageType 3 1 Binary Return message type for which the bitfields are

being specified (e.g., 0x25 for an Order Ac-knowledgment V2 message)

NumberOfReturnBitfields

4 1 Binary Number of bitfields to follow.

ReturnBitfield1 5 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.

Bats Global Markets c© 2008–2017 12

Page 13: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Example Login Request V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 43 00 67 bytesMessageType 37 Login Request V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 00 00 00 00 Always 0 for session level messagesSessionSubID 30 30 30 31 0001Username 54 45 53 54 TESTPassword 54 45 53 54 49 4E 47 00 00 00 TESTINGNumberOfParam 08 8 parameter groupsGroupsParamGroupLength 14 00 20 bytes for this parameter group

ParamGroupType 80 0x80 = Unit SequencesNoUnspecified 01 True (replay only specified units)UnitReplayNumberOfUnits 03 Three unit/sequence pairs to follow;

UnitNumber1 01 Unit 1UnitSequence1 4A BB 01 00 Last received sequence of 113,482UnitNumber2 02 Unit 2UnitSequence2 00 00 00 00 Last received sequence of 0UnitNumber3 04 Unit 4UnitSequence3 79 A1 00 00 Last received sequence of 41,337

ParamGroupLength 08 00 8 bytes for this parameter groupParamGroupType 81 0x81 = Return BitfieldsMessageType 25 0x25 = Order Acknowledgment V2NumberOfReturn 03 3 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityReturnBitfield3 05 Account, ClearingAccount

ParamGroupLength 0C 00 12 bytes for this parameter groupParamGroupType 81 0x81 = Return BitfieldsMessageType 2C 0x2C = Order Execution V2NumberOfReturn 07 7 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityReturnBitfield3 07 Account, ClearingFirm, ClearingAccountReturnBitfield4 00 No bitfields from byte 4ReturnBitfield5 40 BaseLiquidityIndicatorReturnBitfield6 00 No bitfields from byte 6ReturnBitfield7 01 SubLiquidityIndicator

3.1.2 Logout Request

To end the session, the Member should send a Logout Request message. Bats will finish sending any queueddata and finally respond with a Logout message and close the connection.

A Member may simply close the connection without logging out, but may lose any queued messages by doing so.

Logout Request remains unchanged between Versions 1 and 2.

Field Offset Length Data Type Description

Bats Global Markets c© 2008–2017 13

Page 14: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

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 theStartOfMessage field.

MessageType 4 1 Binary 0x02MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Logout Request Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 08 00 8 bytesMessageType 02 Logout RequestMatchingUnit 00 Always 0 for inbound messagesSequenceNumber 00 00 00 00 Always 0 for session level messages

3.1.3 Client Heartbeat

See Heartbeats (§ 2.4, p. 10) for more information about heartbeats and the session level protocol.

Client Heartbeat remains unchanged between Versions 1 and 2.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x03MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Client Heartbeat Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 08 00 8 bytesMessageType 03 Client HeartbeatMatchingUnit 00 Always 0 for inbound messagesSequenceNumber 00 00 00 00 Always 0 for session level messages

Bats Global Markets c© 2008–2017 14

Page 15: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

3.2 Bats to Member

3.2.1 Login Response V2

A Login Response V2 message is sent in response to a Login Request V2 message. On a successful login,the LoginResponseStatus will be set to A. On a failed login, LoginResponseStatus will be set to a value otherthan A, and LoginResponseText will be set to an appropriate failure description.

Bats will verify Return Bitfields at login time. If the Return Bitfields in a Return Bitfields Parameter Groupare invalid, LoginResponseStatus will be set to F, and LoginResponseText will include a description of which byteand bit are invalid. This is done to ensure that reserved fields are not used, and only options that apply to thelocal market are set. See Return Bitfields Per Message (§ 6, p. 62) for additional information.

Note that two sets of sequence numbers are available on the Login Response V2. The set of sequence numbersin the body are the actual Bats to Member sequence numbers indicating the highest sequence numbers availableper matching unit. If specified during login, the Unit Sequences Parameter Group will also be returned which is anecho of the sequence numbers the Member presented during login as the highest received. If these are different,it indicates a gap which will be filled by Bats.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x24MatchingUnit 5 1 Binary Always 0 for session level messages.SequenceNumber 6 4 Binary Always 0 for session level messages.LoginResponseStatus

10 1 Alphanumeric Accepted, or the reason for the rejection.

A = Login AcceptedN = Not authorized (invalid user-name/password)D = Session is disabledB = Session in useS = Invalid sessionQ = Sequence ahead in Login messageI = Invalid unit given in Login messageF = Invalid return bitfield in login messageM = Invalid Login Request message structure

LoginResponseText

11 60 Text Human-readable text with additional informa-tion about the reason for rejection. For suc-cessful logins, this is empty. ASCII NUL (0x00)filled on the right, if necessary.

NoUnspecifiedUnitReplay

71 1 Binary Echoed back from the original Login RequestV2 message.

LastReceivedSequenceNumber

72 4 Binary Last inbound (Member to Bats) message se-quence number processed by Bats.

NumberOfUnits 76 1 Binary A number, n, of unit/sequence pairs to follow,one per unit. A pair for every unit will be sent,even if no messages have been sent to this porttoday. For unsuccessful logins, this will be 0.

UnitNumber1 1 Binary A unit number.UnitSequence1 4 Binary Highest available Bats to Member sequence

number for the unit....

Bats Global Markets c© 2008–2017 15

Page 16: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

UnitNumbern 1 Binary A unit number.UnitSequencen 4 Binary Highest available Bats to Member sequence

number for the unit.NumberOfParamGroups

1 Binary Echoed back from the original Login RequestV2 message.

ParamGroup1 Echoed back from the original Login RequestV2 message.

...ParamGroupn Echoed back from the original Login Request

V2 message.

Example Login Response V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 88 00 136 bytesMessageType 24 Login Response V2MatchingUnit 00 Always 0 for session messagesSequenceNumber 00 00 00 00 Always 0 for session level messagesLoginResponseStatus 41 A = Login AcceptedLoginResponseText 41 63 63 65 70 74 65 64 00 00 Accepted

00 00 00 00 00 00 00 00 00 00 (padding)00 00 00 00 00 00 00 00 00 00 (padding)00 00 00 00 00 00 00 00 00 00 (padding)00 00 00 00 00 00 00 00 00 00 (padding)00 00 00 00 00 00 00 00 00 00 (padding)

NoUnspecified 01 True (replay only specified units)UnitReplayLast Received 54 4A 02 00 Last sequence Bats received of 150,100Sequence NumberNumberOfUnits 04 Four unit/sequence pairs to follow.

UnitNumber1 01 Unit 1UnitSequence1 4A BB 01 00 Actual last sequence of 113,482UnitNumber2 02 Unit 2UnitSequence2 00 00 00 00 Actual last sequence of 0UnitNumber3 03 Unit 3UnitSequence3 00 00 00 00 Actual last sequence of 0UnitNumber4 04 Unit 4UnitSequence4 79 A1 00 00 Actual last sequence of 41,337

NumberOfParam 03 3 parameter groupsGroupsParamGroupLength 14 00 20 bytes for this parameter group

ParamGroupType 80 0x80 = Unit SequencesNoUnspecified 01 True (replay unspecified units)UnitReplayNumberOfUnits 03 Three unit/sequence pairs to followUnitNumber1 01 Unit 1UnitSequence1 4A BB 01 00 Last received sequence of 113,482UnitNumber2 02 Unit 2UnitSequence2 00 00 00 00 Last received sequence of 0UnitNumber3 04 Unit 4UnitSequence3 79 A1 00 00 Last received sequence of 41,337

ParamGroupLength 08 00 8 bytes for this parameter group

Bats Global Markets c© 2008–2017 16

Page 17: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

ParamGroupType 81 0x81 = Return BitfieldsMessageType 25 0x25 = Order Acknowledgment V2NumberOfReturn 03 3 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityReturnBitfield3 05 Account, ClearingAccount

ParamGroupLength 0C 00 12 bytes for this parameter groupParamGroupType 81 0x81 = Return BitfieldsMessageType 2C 0x2C = Order Execution V2NumberOfReturn 07 7 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityReturnBitfield3 07 Account, ClearingFirm, ClearingAccountReturnBitfield4 00 No bitfields from byte 4ReturnBitfield5 40 BaseLiquidityIndicatorReturnBitfield6 00 No bitfields from byte 6ReturnBitfield7 01 SubLiquidityIndicator

3.2.2 Logout

A Logout is usually sent in response to a Logout Request. Any queued data is transmitted, a Logoutis sent, and Bats will close the connection. However, a Logout may also be sent if the Member violates theprotocol specification (e.g., by moving backwards in sequence number).

The Logout contains the last transmitted sequence number for each unit, allowing the Member to check thattheir last received sequence number matches.

Logout remains unchanged between Versions 1 and 2.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x08MatchingUnit 5 1 Binary Always 0 for session level messages.SequenceNumber 6 4 Binary Always 0 for session level messages.LogoutReason 10 1 Alphanumeric The reason why the Logout message was sent.

U = User RequestedE = End of DayA = Administrative! = Protocol Violation

LogoutReasonText

11 60 Text Human-readable text with additional informa-tion about the reason for logout. Particularlyuseful if LogoutReason = ! (Protocol Viola-tion).

LastReceivedSequenceNumber

71 4 Binary Last inbound (Member to Bats) message se-quence number processed by Bats.

NumberOfUnits 75 1 Binary A number, n (possibly 0), of unit/sequence pairsto follow, one per unit from which the client hasreceived messages.

Bats Global Markets c© 2008–2017 17

Page 18: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

UnitNumber1 1 Binary A unit number.UnitSequence1 4 Binary Highest available sequence number for the unit....UnitNumbern 1 Binary A unit number.UnitSequencen 4 Binary Highest available sequence number for the unit.

Example Logout Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 59 00 89 bytesMessageType 08 LogoutMatchingUnit 00 Always 0 for session level messagesSequenceNumber 00 00 00 00 Always 0 for session level messagesLogoutReason 55 U = User RequestedLogoutReason 55 73 65 72 00 00 00 00 00 00 UserText 00 00 00 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

LastReceived 54 5A 02 00 Last Bats received sequence of 150,100SequenceNumberNumberOfUnits 03 Three unit/sequence pairs to follow.

UnitNumber1 01 Unit 1UnitSequence1 4A BB 01 00 Last sent sequence of 113,482UnitNumber2 02 Unit 2UnitSequence2 00 00 00 00 Last sent sequence of 0UnitNumber3 04 Unit 4UnitSequence3 79 A1 00 00 Last sent sequence of 41,337

3.2.3 Server Heartbeat

See Heartbeats (§ 2.4, p. 10) for more information about heartbeats and the session level protocol.

Server Heartbeat remains unchanged between Versions 1 and 2.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x09MatchingUnit 5 1 Binary Always 0 for session level messages.SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Server Heartbeat Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 08 00 8 bytesMessageType 09 Server HeartbeatMatchingUnit 00 Always 0 for session level messages

Bats Global Markets c© 2008–2017 18

Page 19: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

SequenceNumber 00 00 00 00 Always 0 for session level messages

3.2.4 Replay Complete

See Login, Replay and Sequencing (§ 2.2, p. 9) for more information on Login, sequencing and replay.

Replay Complete remains unchanged between Versions 1 and 2.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x13MatchingUnit 5 1 Binary Always 0 for session level messages.SequenceNumber 6 4 Binary Always 0 for session level messages.

Example Replay Complete Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 08 00 8 bytesMessageType 13 Replay CompleteMatchingUnit 00 Always 0 for session level messagesSequenceNumber 00 00 00 00 Always 0 for session level messages

Bats Global Markets c© 2008–2017 19

Page 20: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

4 Application Messages

4.1 Member to Bats

4.1.1 New Order V2

A New Order V2 message consists of a number of required fields followed by a number of optional fields. Theoptional fields used are specified by setting bits in the NewOrderBitfields. Fields must be appended at the end ofthe message, starting with the lowest order enabled bit in the first bitfield first.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x38MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary The sequence number for this message.ClOrdID 10 20 Text Corresponds to ClOrdID (11) in Bats FIX.

Day-unique ID chosen by the client. Charactersin the ASCII range 33–126 are allowed, exceptfor comma, semicolon, and pipe.

If the ClOrdID matches a live order, the orderwill be rejected as duplicate.

Note: Bats only enforces uniqueness ofClOrdID values among currently live orders.However, we strongly recommend that youkeep your ClOrdID values day-unique.

Side 30 1 Alphanumeric Corresponds to Side (54) in Bats FIX.

1 = Buy2 = Sell

OrderQty 31 4 Binary Corresponds to OrderQty (38) in Bats FIX.

Order quantity. System limit is 999,999 con-tracts.

NumberOfNewOrderBitfields

35 1 Binary Bitfield identifying which bitfields are set. Fieldvalues must be appended to the end of the mes-sage.

NewOrderBitfield1 36 1 Binary Bitfield identifying fields to follow....

NewOrderBitfieldn 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 only (limit orders) or Price and/or OrdType (limit or market orders);

• Capacity ; and,

Bats Global Markets c© 2008–2017 20

Page 21: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

• OpenClose.

All other values have defaults. See the table in List of Optional Fields (§ 7, p. 88) for additional informationabout each optional field, including its default value.

Symbology:

For additional information, refer to the Bats US Equity and Options Symbology Reference4.

4http://cdn.batstrading.com/resources/membership/BATS Symbology.pdf

Bats Global Markets c© 2008–2017 21

Page 22: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Example New Order V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 59 00 89 bytesMessageType 38 New Order V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence number 100ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00Side 31 BuyOrderQty 64 00 00 00 100 contractsNumberOfNewOrder 04 4 bitfields to followBitfieldsNewOrderBitfield1 04 PriceNewOrderBitfield2 C1 Symbol, Capacity, RoutingInstNewOrderBitfield3 01 AccountNewOrderBitfield4 17 MaturityDate, StrikePrice, PutOrCall,

OpenClosePrice 70 17 00 00 00 00 00 00 0.60Symbol 4D 53 46 54 00 00 00 00 MSFTCapacity 43 C = CustomerRoutingInst 52 00 00 00 R = RoutableAccount 44 45 46 47 00 00 00 00 00 00 DEFG

00 00 00 00 00 00MaturityDate EF DB 32 01 2011-03-19StrikePrice 98 AB 02 00 00 00 00 00 17.50PutOrCall 31 1 = CallOpenClose 4F O = Open

4.1.2 New Order Cross (EDGX only)

A New Order Cross message contains the details for both the agency (initiating) and contra side(s) of across order (such as a BAM order). The message consists of a number of required fields including symbol, price,quantity, and relevant clearing information for all parties, as well as a number of optional fields.

The first order in the list is the agency order, while the rest are contra side responses. There is a maximum of ten(10) contra-parties that can be supplied with the order, for a total of eleven (11) repeating groups, as describedbelow.

In each repeating group, the Side, AllocQty, ClOrdID, Capacity, OpenClose, and ClearingFirm are always required.Beyond that, the bits in the NewOrderCrossBitfields control which fields are expected. Any fields that are specifiedin NewOrderCrossBitfields that appear in the repeating groups should not be supplied in the optional fields thatcome after the repeating groups.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x41MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary The sequence number for this message.

Bats Global Markets c© 2008–2017 22

Page 23: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

CrossID 10 20 Text Corresponds to CrossID (548) in Bats FIX.

Day-unique identifier for the cross order chosenby the client. Characters in the ASCII range 33–126 are allowed, except for comma, semicolon,and pipe.

EDGX Options only.CrossType 30 1 Alphanumeric Corresponds to CrossType (549) in Bats FIX.

Type of auction order being submitted. Thisindicates the type of auction that will be initiatedupon order entry.

1 = Bats Auction Mechanism2 = Qualified Contingent Cross

EDGX Options only.CrossPrioritization 31 1 Alphanumeric Corresponds to CrossPrioritization (550) in Bats

FIX.

Indicates which side of the cross order will be pri-oritized for execution. This identifies the Agencyside.

1 = Buy2 = Sell

EDGX Options only.Price 32 8 Binary Price Corresponds to Price (44) in Bats FIX.

Auction Price.OrderQty 40 4 Binary Corresponds to OrderQty (38) in Bats FIX.

Order quantity. System limit is 999,999 con-tracts.

NumberOfNewOrderCrossBitfields

44 1 Binary Bitfield identifying bitfields which are set.

NewOrderCrossBitfield1

45 1 Binary Bitfield identifying fields to follow.

...NewOrderCrossBitfieldn

1 Binary Last bitfield.

GroupCnt 2 Binary Number of order allocations represented by re-peating groups included in this cross order. Mustbe at least 2 (One agency and one contra), andno more than 11.

Repeating Groupsof. . .

Side 1 Alphanumeric Corresponds to Side (54) in Bats FIX.

1 = Buy2 = Sell

Bats Global Markets c© 2008–2017 23

Page 24: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

AllocQty 4 Binary Corresponds to AllocQty (80) in Bats FIX.

Number of contracts for this party.

EDGX Options only.ClOrdID 20 Text Corresponds to ClOrdID (11) in Bats FIX.

Day-unique ID chosen by the client. Charactersin the ASCII range 33–126 are allowed, exceptfor comma, semicolon, and pipe.

If the ClOrdID matches a live order, the orderwill be rejected as duplicate.

Note: Bats only enforces uniqueness ofClOrdID values among currently live orders.However, we strongly recommend that youkeep your ClOrdID values day-unique.

Capacity 1 Alpha Corresponds to OrderCapacity (47) in Bats FIX.

C = CustomerM = Market MakerF = FirmU = Professional CustomerN = Non-Bats Market Maker (effective June 1,2015)B = Broker-Dealer (effective June 1, 2015)J = Joint Back Office (effective June 1, 2015)

OpenClose 1 Alphanumeric Corresponds to OpenClose (77) in Bats FIX.

Indicates status of client position in the option.

O = OpenC = Close

Contracts which are limited to closing only trans-actions with an OpenClose value of O will berejected unless the Capacity field is M (Mar-ket Maker) and TimeInForce is 3 (Immediate orCancel).

GiveUpFirmID 4 Alpha Corresponds to GiveUpFirmID (9946) in BatsFIX. EFID that will clear the trade.

EDGX Options only.Account(Optional)

16 Text See List of Optional Fields (§ 7, p. 88).

CMTANumber(Optional)

4 Binary See List of Optional Fields (§ 7, p. 88).

ClearingAccount(Optional)

4 Text See List of Optional Fields (§ 7, p. 88).

Optional fields. . . Optional fields as set in the bitmap. Note, op-tional fields that occur in the repeating groupsappear above, repeating per group, not withinthis block.

Required Order Attributes:

Bats Global Markets c© 2008–2017 24

Page 25: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

• some form of symbology (see Symbology below)

• agency order’s Side must match the cross order’s CrossPrioritization

• each contra-party allocation must have the opposite Side

• each side’s cumulative AllocQty must equal the cross order’s OrderQty

Symbology:

For additional information, refer to the Bats US Equity and Options Symbology Reference5.

Example New Order Cross Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength B0 00 176 bytesMessageType 41 New Order CrossMatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence number 100CrossID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy

63 65 70 74 42 75 79 00 00 00CrossType 31 1 = BAM OrderCrossPrioritization 31 1 = Agency BuyPrice 20 4E 00 00 00 00 00 00 2.00OrderQty 64 00 00 00 100 contractsNumberOf 02 2 bitfields to followNewOrderCrossBitfieldsNewOrderCrossBitfield1 41 Symbol, TargetPartyIDNewOrderCrossBitfield2 30 CMTANumber, ClearingAccountGroupCnt 03 00 3 repeating groups to followSide 31 1 = BuyAllocQty 64 00 00 00 100 contractsClOrdID 51 4C 37 53 5A 37 43 5F 61 67 QL7SZ7C_agency

65 6E 63 79 00 00 00 00 00 00Capacity 43 C = CustomerOpenClose 43 C = CloseGiveUpFirmID 44 45 46 47 DEFGCMTANumber 00 00 00 00 No CMTANumber for this orderClearingAccount 00 00 00 00 No ClearingAccount for this orderSide 32 2 = SellAllocQty 28 00 00 00 40 contractsClOrdID 51 4C 39 4B 38 55 56 5F 63 6F QL9K8UV_contra1

6E 74 72 61 31 00 00 00 00 00Capacity 46 F = FirmOpenClose 4F O = OpenGiveUpFirmID 41 42 43 44 ABCDCMTANumber 27 02 00 00 551ClearingAccount 57 58 59 5A WXYZSide 32 2 = SellAllocQty 3C 00 00 00 60 contractsClOrdID 51 4C 39 54 35 59 44 5F 63 6F QL9T5YD_contra2

6E 74 72 61 32 00 00 00 00 00Capacity 46 F = Firm

5http://cdn.batstrading.com/resources/membership/BATS Symbology.pdf

Bats Global Markets c© 2008–2017 25

Page 26: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

OpenClose 4F O = OpenGiveUpFirmID 41 42 43 44 ABCDCMTANumber 7B 00 00 00 123ClearingAccount 57 58 59 5A WXYZSymbol 30 30 51 30 6B 41 00 00 00Q0kATargetPartyID 43 44 45 46 CDEF

4.1.3 Cancel Order V2

Request to cancel either a single order or mass cancellation of a group of orders.

• A single order cancellation uses the ClOrdID from a previous order.

• Mass cancellation of a group of orders requires sending OsiRoot, ClearingFirm, MassCancel, and Mass-CancelID. Optionally, MassCancelLockout may also be sent.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x39MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary The sequence number for this message.OrigClOrdID 10 20 Text Corresponds to OrigClOrdID (41) in Bats FIX.

ClOrdID of the order to cancel. For mass cancelrequests, must be empty (all zeroes).

NumberOfCancelOrderBitfields

30 1 Binary Bitfield identifying bitfields which are set. Maybe 0. Field values must be appended to the endof the message.

CancelOrderBitfield1

31 1 Binary Bitfield identifying fields to follow. Only presentif NumberOfCancelOrderBitfields is non-zero.

...CancelOrderBitfieldn

1 Binary Last bitfield.

Optional fields. . .

Bats Global Markets c© 2008–2017 26

Page 27: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Example Cancel Order V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 22 00 34 bytesMessageType 39 Cancel Order V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence Number 100OrigClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00NumberOfCancel 01 1 bitfield to followOrderBitfieldsCancelOrder 01 ClearingFirmBitfield1ClearingFirm 54 45 53 54 TEST

Example Mass Cancel Order V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 3D 00 61 bytesMessageType 39 Cancel Order V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence Number 100OrigClOrdID 00 00 00 00 00 00 00 00 00 00 (empty)

00 00 00 00 00 00 00 00 00 00NumberOfCancel 01 1 bitfield to followOrderBitfieldsCancelOrder 1D ClearingFirm, MassCancel, OsiRoot,Bitfield1 MassCancelIDClearingFirm 54 45 53 54 TESTMassCancel 31 4 = OSI root, clearing firm matchOsiRoot 4D 53 46 54 00 00 MSFTMassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00

4.1.4 Modify Order V2

Request to modify an order. The order attributes to be modified are selected using NumberOfModifyBitfields andsome number of bitfields to follow.

Changes in OrderQty result in an adjustment of the current order’s OrderQty. The new OrderQty does notdirectly replace the current order’s LeavesQty. Rather, a delta is computed from the current OrderQty and thereplacement OrderQty. This delta is then applied to the current LeavesQty. If the resulting LeavesQty is lessthan or equal to zero, the order is cancelled. This results in safer behavior when the modification request overlapspartial fills for the current order, leaving the Member in total control of the share exposure of the order.

A Modify Order V2 should not be issued until the Order Acknowledgement V2 for the previous NewOrder V2 or Order Modified message for the previous Modify Order V2 has been received. The BOEhandler will reject a new Modify Order V2 if it has not been accepted or it has not seen the result of the priormodification from the Matching Engine. However, Modify Order V2 requests that merely reduce OrderQtymay be overlapped if the existing ClOrdID is reused, as long as the trading identifer has not been opted-in todaily limit trading risk controls. This is the only case where reuse of the ClOrdID is allowed.

OrderQty must be present on all Modify Order V2 requests. Messages sent without OrderQty will be re-

Bats Global Markets c© 2008–2017 27

Page 28: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

jected. To maintain compatibility with Version 1 Modify Order messages, this field remains in the optionalblock.

Price must be present on all Modify Order V2 requests. Messages sent without Price will be rejected. Tomaintain compatibility with Version 1 Modify Order messages, this field remains in the optional block.

ClearingFirm is required for service bureau ports.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x3AMatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary The sequence number for this message.ClOrdID 10 20 Text New ClOrdID for this order.OrigClOrdID 30 20 Text Corresponds to OrigClOrdID (41) in Bats FIX.

ClOrdID of the order to replace.

In the case of multiple changes to a single order,this will be the ClOrdID of the most recentlyaccepted change.

NumberOfModifyOrderBitfields

50 1 Binary Bitfield identifying bitfields which are set. Maybe 0. Field values must be appended to the endof the message.

ModifyOrderBitfield1

51 1 Binary Bitfield identifying fields to follow.

...ModifyOrderBitfieldn

1 Binary Last bitfield.

Optional fields. . .

Example Modify Order V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 3E 00 62 bytesMessageType 3A Modify Order V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence Number 100ClOrdID 41 42 43 31 32 34 00 00 00 00 ABC124

00 00 00 00 00 00 00 00 00 00OrigClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00NumberOfModify 01 1 bitfield to followOrderBitfieldsModifyOrder 0C OrderQty, PriceBitfield1OrderQty 64 00 00 00 100 contractsPrice 08 E2 01 00 00 00 00 00 12.34

Bats Global Markets c© 2008–2017 28

Page 29: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

4.1.5 Bulk Order V2

Request to place new orders and/or cancel existing orders pertaining to multiple series of a single OSI root. Theorder attributes in common among all the orders are specified once. Attributes that differ for each individual orderare specified in an array at the end of the message. The array must contain at least 1 and not more than200 repeating groups.

In each repeating group, the symbol (Bats native format) is always required. Beyond that, the bits in theBulkOrderBitfields control which fields are expected. If a field is present in the repeating group for which there isa corresponding field in the non-repeating part of the message (e.g., OrderQty), the value in the repeating groupis always used.

When sending a two-sided bulk order, one may select one side where nothing should be changed by sending anon-zero Price and a zero OrderQty for the desired side. This particular combination tells the system to donothing to the existing quote on this side.

Note that for the same side or a given symbol, non-zero bulk orders behave like new orders or cancel/replaceorders, depending on whether an earlier bulk order is currently active for that symbol.

ISO and routable bulk orders are not supported.

In Version 1, two varieties of bulk order were provided: Bulk Order and Bulk Order Extended. InVersion 2, these have been replaced with a single Bulk Order V2 message.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x3BMatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary The sequence number for this message.ClOrdIDBatch 10 20 Text Day-unique ID chosen by the client. Characters

in the ASCII range 33–126 are allowed, exceptfor comma, semicolon, and pipe.

If the ClOrdIDBatch matches a live bulk order,the entire batch will be rejected as duplicate.

Note: Bats only enforces uniqueness ofClOrdIDBatch values among currently livebulk orders. However, we strongly recom-mend that you keep your ClOrdIDBatch val-ues day-unique.

OsiRoot 30 6 Text The OSI root symbol.OrderQty 36 4 Binary The order quantity to apply to each new order if

the corresponding BidOrderQty or AskOrderQtyis not specified in the optional bitfields.

GroupCnt 40 2 Binary Number of repeating groups included in this bulkorder.

NumberOfNewOrderBitfields

42 1 Binary Bitfield identifying which bitfields are set. Fieldvalues must be appended to the end of the mes-sage.

NewOrderBitfield1 1 Binary Bitfield identifying fields to follow....

NewOrderBitfieldn 1 Binary Last bitfield.

Bats Global Markets c© 2008–2017 29

Page 30: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

NumberOfBulkOrderBitfields

1 Binary Bitfield identifying bitfields which are set. Fieldvalues must be appended to the end of the mes-sage.

BulkOrderBitfield1 1 Binary Bitfield identifying fields to follow....

BulkOrderBitfieldn 1 Binary Last bitfield.New Orderoptional fields. . .Repeating Groupsof. . .

Symbol(Required)

6 Alphanumeric Corresponds to Symbol (55) in Bats FIX.

Bats native identifier.OptionalBulkOrderGroupFields

Each order in a repeated group must contain a Bats symbol, Capacity, OpenClose, and at least one of BidShort-Price or AskShortPrice. Also, BidOrderQty and/or AskOrderQty may be sent to override the OrderQty sent inthe message body.

A cancel may be effected by sending a Price and OrderQty of zero. In this case, any open order that existsbecause of an earlier Bulk Order V2 message on that symbol is cancelled. Note that individual orders enteredusing New Order V2 cannot be cancelled through use of Bulk Order V2.

All other values have defaults. See the table in List of Optional Fields (§ 7, p. 88) for additional informationabout each optional field, including its default value.

For Bats Symbology, please refer to the Bats US Equity and Options Symbology Reference6. Note that OSIsymbology cannot be used in the Bulk Order V2 message—only the Bats native symbol is accepted.

Example Bulk Order V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 6F 00 111 bytesMessageType 3B Bulk Order V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence number 100ClOrdIDBatch 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OsiRoot 41 42 43 00 00 00 ABCOrderQty 00 00 00 00 Chosen to be zero; will be supplied

on individual series/sidesGroupCnt 03 00 3 seriesNumberOfNew 04 4 bitfields to followOrderBitfieldsNewOrderBitfield1 00 No fields in byte 1NewOrderBitfield2 40 CapacityNewOrderBitfield3 01 AccountNewOrderBitfield4 30 OpenClose, CMTANumberNumberOfBulk 01 1 bitfields to followOrderBitfieldsBulkOrderBitfield1 03 BidShortPrice, BidOrderQty

6http://cdn.batstrading.com/resources/membership/BATS Symbology.pdf

Bats Global Markets c© 2008–2017 30

Page 31: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Capacity 46 F = FirmAccount 44 45 46 47 00 00 00 00 00 00 DEFG

00 00 00 00 00 00OpenClose 4F O = OpenCMTANumber CF 07 00 00 1999Symbol 30 30 36 69 70 41 006ipABidShortPrice C8 32 00 00 1.30BidOrderQty E8 03 00 00 1,000 contractsSymbol 30 30 32 55 6F 58 002UoXBidShortPrice 7C 15 00 00 0.55BidOrderQty 64 00 00 00 100 contractsSymbol 30 30 34 63 53 73 004cSsBidShortPrice AC 07 01 00 6.75BidOrderQty F4 01 00 00 500 contracts

4.1.6 Purge Orders V2

Request to cancel a group of orders across all the firm’s sessions. This differs from a mass cancel request sent viaa Cancel Order V2 message as the purge request is applied across all the firm’s session, not just the sessionon which the Cancel Order V2 was received. In addtion, the Purge Orders V2 message accepts a list ofCustomGroupID as part of the order matching filter.

• Purge Orders V2 requires sending MassCancel.

• Optionally OsiRoot, ClearingFirm, MassCancelID, MassCancelLockout, and list of CustomGroupID may alsobe sent.

• OsiRoot and CustomGroupID are mutually exclusive. Messages containing both will be rejected.

• A maximum of 10 CustomGroupID may be sent in one message.

• A Mass Cancel Acknowledgment message may always be requested by supplying the MassCancelID,even if the individual Order Cancelled V2 messages are requested (MassCancel values 1 and 2)

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x47MatchingUnit 5 1 Binary Always 0 for inbound (Member to Bats) mes-

sages.SequenceNumber 6 4 Binary The sequence number for this message.MassCancel 10 1 Alphanumeric Corresponds to MassCancel (7693) in Bats FIX.

Indicates that a mass cancellation is being per-formed.

NumberOfPurgeOrdersBitfields

11 1 Binary Bitfield identifying bitfields which are set. Maybe 0. Field values must be appended to the endof the message.

PurgeOrdersBitfield1

12 1 Binary Bitfield identifying fields to follow. Only presentif NumberOfPurgeOrdersBitfields is non-zero.

CustomGroupIDCnt 13 1 Binary Number of repeating CustomGroupID(i)ncluded in this message.

Bats Global Markets c© 2008–2017 31

Page 32: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

CustomGroupIDOne 2 Binary First CustomGroupID. Only present if Custom-GroupIDCnt is non-zero.

...CustomGroupIDN 2 Binary Last CustomGroupID.Optional fields. . .

Example Purge Orders V2 Message with CustomGroupID:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 29 00 41 bytesMessageType 47 Purge Orders V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence Number 100MassCancel 34 4 = clearing firm match, lockoutNumberOfPurge 01 1 bitfield to followOrderBitfieldsPurgeOrders 13 ClearingFirm, MassCancelLockoutBitfield1 MassCancelIDCustomGroupIDCnt 02 2 CustomGroupID to followCustomGroupID1 BF BE first CustomGroupID of 48831CustomGroupID2 CO BE second CustomGroupID of 48832ClearingFirm 54 45 53 54 TESTMassCancelLockout 31 1 = lockoutMassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00

Example Purge Orders V2 Message with OsiRoot:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 2B 00 43 bytesMessageType 47 Purge Orders V2MatchingUnit 00 Always 0 for inbound messagesSequenceNumber 64 00 00 00 Sequence Number 100MassCancel 34 4 = clearing firm match, lockoutNumberOfPurge 01 1 bitfield to followOrderBitfieldsPurgeOrders 1B ClearingFirm, MassCancelLockoutBitfield1 OsiRoot, MassCancelIDCustomGroupIDCnt 00 no CustomGroupID to followClearingFirm 54 45 53 54 TESTMassCancelLockout 31 1 = lockoutOsiRoot 4D 53 46 54 00 00 MSFTMassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00

Bats Global Markets c© 2008–2017 32

Page 33: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

4.2 Bats to Member

4.2.1 Order Acknowledgment V2

Order Acknowledgment V2 messages are sent in response to a New Order V2 message. The messagecorresponds to a FIX Execution Report with ExecType (150) = 0 (New).

Per the instructions given in a Return Bitfields Parameter Group on the Login Request V2 (§ 3.1.1, p. 12),optional fields may be appended to echo back information provided in the original New Order V2 message.Fields which have been requested to be echoed back but which were not filled in will still be sent, but filled withbinary zero (0x00).

Permitted return bits are described in § 6.1, p. 62.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x25MatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

ClOrdID 18 20 Text Echoed back from the original order.OrderID 38 8 Binary Corresponds to OrderID (37) in Bats FIX.

Order identifier supplied by Bats. This identi-fier corresponds to the identifiers used in Batsmarket data products.

ReservedInternal 46 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

47 1 Binary Number of bitfields to follow.

ReturnBitfield1 48 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Order Acknowledgment V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 4D 00 77 bytesMessageType 25 Order Acknowledgment V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)ReservedInternal 00 IgnoreNumberOfReturn 03 3 bitfields to followBitfields

Bats Global Markets c© 2008–2017 33

Page 34: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

ReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityReturnBitfield3 05 Account, ClearingAccountSymbol 30 30 51 30 6B 41 00 00 00Q0kACapacity 50 0x50 = P = PrincipalAccount 41 42 43 00 00 00 00 00 ABC

00 00 00 00 00 00 00 00ClearingAccount 00 00 00 00 (empty)

Example Minimal Order Acknowledgment V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 2E 00 46 bytesMessageType 25 Order Acknowledgment V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)ReservedInternal 00 IgnoreNumberOfReturn 00 No bitfields to followBitfields

4.2.2 Cross Order Acknowledgment (EDGX Only)

Cross Order Acknowledgment messages are sent in response to a New Order Cross message. Themessage corresponds to a FIX Execution Report with ExecType (150) = 0 (New). In FIX, multiple executionreports could be generated from one new cross order message.

Per the instructions given in a Return Bitfields Parameter Group on the Login Request V2 (§ 3.1.1, p. 12),optional fields may be appended to echo back information provided in the original New Order Cross message.Fields which have been requested to be echoed back but which were not filled in will still be sent, but filled withbinary zero (0x00).

In each repeating group, the ClOrdID and OrderId are always returned. Beyond that, the bits specified in theoptional return bitfields parameter group control which fields are returned. Any fields that appear in the repeatinggroups will not appear in the optional fields that come after the repeating groups.

Permitted return bits are described in § 6.2, p. 64.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x43MatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

Bats Global Markets c© 2008–2017 34

Page 35: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

CrossID 18 20 Text Corresponds to CrossID (548) in Bats FIX.

Echoed back from the original order.AuctionId 38 8 Binary Corresponds to AuctionId (9370) in Bats FIX.

Auction order identifier supplied by Bats. Thisidentifier corresponds to the identifiers used inBats market data products.

New in Version 2.ReservedInternal 46 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

47 1 Binary Number of bitfields to follow.

ReturnBitfield1 48 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.GroupCnt 2 Binary Number of order allocations represented by re-

peating groups included in this message.Repeating Groupsof. . .

ClOrdID 20 Text Corresponds to ClOrdID (11) in Bats FIX.

Day-unique ID chosen by the client. Charactersin the ASCII range 33–126 are allowed, exceptfor comma, semicolon, and pipe.

If the ClOrdID matches a live order, the orderwill be rejected as duplicate.

Note: Bats only enforces uniqueness ofClOrdID values among currently live orders.However, we strongly recommend that youkeep your ClOrdID values day-unique.

OrderID 8 Binary Corresponds to OrderID (37) in Bats FIX.

Order identifier supplied by Bats. This identi-fier corresponds to the identifiers used in Batsmarket data products.

Side(Optional)

1 Alphanumeric See List of Optional Fields (§ 7, p. 88).

AllocQty(Optional)

4 Binary See List of Optional Fields (§ 7, p. 88).

Capacity(Optional)

1 Alpha See List of Optional Fields (§ 7, p. 88).

OpenClose(Optional)

1 Alphanumeric See List of Optional Fields (§ 7, p. 88).

GiveUpFirmID(Optional)

4 Alpha See List of Optional Fields (§ 7, p. 88).

Account(Optional)

16 Text See List of Optional Fields (§ 7, p. 88).

CMTANumber(Optional)

4 Binary See List of Optional Fields (§ 7, p. 88).

ClearingAccount(Optional)

4 Text See List of Optional Fields (§ 7, p. 88).

Bats Global Markets c© 2008–2017 35

Page 36: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Optional fields. . . Optional fields as set in the bitmap. Note, op-tional fields that occur in the repeating groupsappear above, repeating per group, not withinthis block.

Example Cross Order Acknowledgment Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 91 00 145 bytesMessageType 43 Cross Order AcknowledgmentMatchingUnit 02 Matching Unit 2SequenceNumber 01 00 00 00 Sequence number 1TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000CrossID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy

63 65 70 74 42 75 79 00 00 00AuctionID 01 C0 91 A2 94 AB 78 04 2G4GYK000001 (base 36)ReservedInternal 00 IgnoreNumberOfReturn 02 2 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityGroupCnt 03 00 3 repeating groups to followClOrdID 4E 5A 31 56 37 47 4E 5F 61 67 NZ1V7GN_agency

65 6E 63 79 00 00 00 00 00 00OrderID 02 C0 91 A2 94 AB 78 04 2G4GYK000002 (base 36)Capacity 43 C = CustomerClOrdID 4E 5A 31 56 37 4B 46 5F 63 6F NZ1V7KF_contra1

6E 74 72 61 31 00 00 00 00 00OrderID 03 C0 91 A2 94 AB 78 04 2G4GYK000003 (base 36)Capacity 46 F = FirmClOrdID 4E 5A 31 56 37 4E 48 5F 63 6F NZ1V7NH_contra2

6E 74 72 61 32 00 00 00 00 00OrderID 04 C0 91 A2 94 AB 78 04 2G4GYK000004 (base 36)Capacity 46 F = FirmSymbol 30 30 51 30 6B 41 00 00 00Q0kA

4.2.3 Bulk Order Acknowledgment V2

Bulk Order Acknowledgment V2 messages are sent in response to a Bulk Order V2 message. EachBulk Order V2 message generates exactly one Bulk Order Acknowledgment V2, with the possibility ofone or more Order Rejected V2 or Cancel Rejected V2 messages relating to the bulk order in between,depending on the return bits enabled in the Login Request V2. Note that other Bats to Member messagesmay be interspersed with these (i.e., the Bulk Order V2 to Bulk Order Acknowledgment V2 sequenceis not atomic).

Per the instructions given in the Login Request V2, optional fields may be appended to echo back groups oforder IDs and reject reasons for the individual orders specified in the generated Bulk Order V2 message.

If the BulkOrderIDs bit has been set in the Login Request V2, a number of BidOrderID and/or AskOrderIDvalues will be returned as necessary. If the BulkOrderIDs bit has not been set, then no order IDs will be returned.

If the BulkRejectReasons bit has been set in the Login Request V2, reject reason (AskRejectReason orBidRejectReason will be returned for each order that has been rejected. If the BulkRejectReasons bit has not beenset, then the reject reasons will not be aggregated and returned via the Bulk Order Acknowledgment V2

Bats Global Markets c© 2008–2017 36

Page 37: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

message. Instead, Order Rejected V2 or Cancel Rejected V2 messages will be returned to the Memberfor each individual order as appropriate.

The ordering of each group of order IDs and reject reasons in a Bulk Order Acknowledgment V2 messagedirectly corresponds with the ordering of each group of individual orders specified in the Bulk Order V2message.

Fields which have been requested to be echoed back, but which were not filled in, will still be sent and will befilled with their empty value.

Permitted return bits are described in § 6.3, p. 66.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x2FMatchingUnit 5 1 Binary Unsequenced application message. Matching

unit will be set to 0.SequenceNumber 6 4 Binary Unsequenced application message. Sequence

number will be set to 0.TransactionTime 10 8 DateTime The time in the order entry gateway when the

final matching engine event was received to com-plete the bulk order.

ClOrdIDBatch 18 20 Text Echoed back from the original Bulk OrderV2 message.

GroupCnt 38 2 Binary Number of repeating groups of order IDs and/orreject reasons appended.

AcceptedCount 40 2 Binary Number of accepted orders (with either newor cancel/replace semantics) from the originalBulk Order V2 message.

RejectedCount 42 2 Binary Number of rejected orders from the originalBulk Order V2 message. Note that ifGroupCnt, RejectedCount, and AcceptedCountfields are all zero, this indicated a batch-level re-ject of the entire Bulk Order V2 message (noindividual Order Rejected V2 messages willbe sent), in which case the OrderRejectReasonand Text fields will be populated.

BulkOrderRejectReason

44 1 Text Reason for rejection of an entire Bulk OrderV2 message.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Text 45 60 Text Human readable text with more informationabout the reject reason.

ReservedInternal 105 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

106 1 Binary Number of bitfields to follow.

ReturnBitfield1 107 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Repeating Groupsof. . .

Bats Global Markets c© 2008–2017 37

Page 38: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

BidOrderID(Optional)

˙ 8 Binary Corresponds to OrderID (37) in Bats FIX.

A kind of BulkOrderID. Order identifier suppliedby Bats. This identifier corresponds to the iden-tifiers used in Bats market data products.

BidRejectReason(Optional)

˙ 1 Text Reason for the individual order rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

AskOrderID(Optional)

˙ 8 Binary Corresponds to OrderID (37) in Bats FIX.

A kind of BulkOrderID. Order identifier suppliedby Bats. This identifier corresponds to the iden-tifiers used in Bats market data products.

AskRejectReason(Optional)

˙ 1 Text Reason for the individual order rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Example Bulk Order Acknowledgment V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 93 00 147 bytesMessageType 2F Bulk Order Acknowledgment V2MatchingUnit 03 Unsequenced Message, unit = 0SequenceNumber 64 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdIDBatch 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00GroupCnt 02 00 2 repeating groupsAcceptedCount 03 00 3 accepted ordersRejectedCount 01 00 1 rejected orderBulkOrderReject 00 Batch not rejectedReasonText 00 00 00 00 00 00 00 00 00 00 (empty)

00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

ReservedInternal 00 IgnoreNumberOfReturn 06 6 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 00 No bitfields from byte 2ReturnBitfield3 00 No bitfields from byte 3ReturnBitfield4 00 No bitfields from byte 4ReturnBitfield5 00 No bitfields from byte 5ReturnBitfield6 60 BulkOrderIDs, BulkRejectReasonsBidOrderID 00 00 00 00 00 00 00 00 (empty)BidRejectReason 41 A = AdminAskOrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)AskRejectReason 00 Not rejectedBidOrderID 06 10 1E B7 5E 39 2F 02 171WC1000006 (base 36)BidRejectReason 00 Not rejected

Bats Global Markets c© 2008–2017 38

Page 39: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

AskOrderID 09 10 1E B7 5E 39 2F 02 171WC1000009 (base 36)AskRejectReason 00 Not rejected

4.2.4 Order Rejected V2

Order Rejected V2 messages are sent in response to a New Order V2 which must be rejected. Thismessage corresponds to a FIX Execution Report with ExecType (150) = 8 (Rejected). Order Rejected V2messages are unsequenced.

Permitted return bits are described in § 6.4, p. 68.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x26MatchingUnit 5 1 Binary Unsequenced application message. Matching

unit will be set to 0.SequenceNumber 6 4 Binary Unsequenced application message. Sequence

number will be set to 0.TransactionTime 10 8 DateTime The time the event occurred in the Bats match-

ing engine (not the time the message was sent).ClOrdID 18 20 Text Echoed back from the original order.OrderRejectReason 38 1 Text Reason for an order rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Text 39 60 Text Human readable text with more informationabout the reject reason.

ReservedInternal 99 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

100 1 Binary Number of bitfields to follow.

ReturnBitfield1 101 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Order Rejected V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 85 00 133 bytesMessageType 26 Order Rejected V2MatchingUnit 00 Unsequenced Message, unit = 0SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OrderRejectReason 44 DText 44 75 70 6C 69 63 61 74 65 20 Duplicate ClOrdID

43 6C 4F 72 64 49 44 00 00 0000 00 00 00 00 00 00 00 00 00

Bats Global Markets c© 2008–2017 39

Page 40: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

ReservedInternal 00 IgnoreNumberOfReturn 04 4 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 01 SymbolReturnBitfield3 06 ClearingFirm, ClearingAccountReturnBitfield4 17 MaturityDate, StrikePrice,

PutOrCall, OpenCloseSymbol 54 4E 44 4D 00 00 00 00 TNDMClearingFirm 54 45 53 54 TESTClearingAccount 00 00 00 00 (empty)MaturityDate EF DB 32 01 2011-03-19StrikePrice 98 AB 02 00 00 00 00 00 17.50PutOrCall 31 1 = CallOpenClose 4F O = Open

4.2.5 Cross Order Rejected (EDGX Only)

Cross Order Rejected messages are sent in response to a New Order Cross which must be rejected.This message corresponds to a FIX Execution Report with ExecType (150) = 8 (Rejected). Cross OrderRejected messages are unsequenced.

Permitted return bits are described in § 6.5, p. 70.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x44MatchingUnit 5 1 Binary Unsequenced application message. Matching

unit will be set to 0.SequenceNumber 6 4 Binary Unsequenced application message. Sequence

number will be set to 0.TransactionTime 10 8 DateTime The time the event occurred in the Bats match-

ing engine (not the time the message was sent).CrossID 18 20 Text Corresponds to CrossID (548) in Bats FIX.

Echoed back from the original order.OrderRejectReason 38 1 Text Reason for an order rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Text 39 60 Text Human readable text with more informationabout the reject reason.

ReservedInternal 99 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

100 1 Binary Number of bitfields to follow.

ReturnBitfield1 101 1 Binary Bitfield identifying fields to return....

Bats Global Markets c© 2008–2017 40

Page 41: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Cross Order Rejected Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 6C 00 108 bytesMessageType 44 Cross Order RejectedMatchingUnit 00 Unsequenced Message, unit = 0SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000CrossID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OrderRejectReason 41 AText 53 65 72 69 65 73 20 6E 6F 74 Series not currently trading

20 63 75 72 72 65 6E 74 6C 7920 74 72 61 64 69 6E 67 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

ReservedInternal 00 IgnoreNumberOfReturn 02 2 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 01 SymbolSymbol 30 30 51 30 6B 41 00 00 00Q0kA

4.2.6 Order Modified V2

Order Modified V2 messages are sent in response to a Modify Request V2 to indicate that the order hasbeen successfully modified.

Note: You must opt-in to receiving LeavesQty in Order Modified V2 messages. In some cases, the lastmessage to be received on an order’s lifecycle will be an Order Modified V2 message. The way to knowthe order is no longer live is to inspect LeavesQty. An example of this would be modification of an order whilstan execution is being generated, resulting in the order being reduced to zero outstanding quantity. To maintainreturn structure compatibility with Members with Version 1, this field remains in the optional block.

Permitted return bits are described in § 6.6, p. 72.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x27MatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

Bats Global Markets c© 2008–2017 41

Page 42: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

ClOrdID 18 20 Text Client order ID. This is the ClOrdID from theModify Order message.

OrderID 38 8 Binary Corresponds to OrderID (37) in Bats FIX.

The unique OrderID. Modifications do notchange the OrderID.

ReservedInternal 46 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

47 1 Binary Number of bitfields to follow.

ReturnBitfield1 48 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Order Modified V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 35 00 63 bytesMessageType 27 Order Modified V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)ReservedInternal 00 IgnoreNumberOfReturn 05 5 bitfields to followBitfieldsReturnBitfield1 04 PriceReturnBitfield2 00 No fields from byte 2ReturnBitfield3 00 No fields from byte 3ReturnBitfield4 00 No fields from byte 4ReturnBitfield5 02 LeavesQtyPrice 08 E2 01 00 00 00 00 00 12.34LeavesQty 00 00 00 00 0 (order done)

4.2.7 Order Restated V2

Order V2 Restated messages are sent to inform the Member that an order has been asynchronously modifiedfor some reason without an explicit Modify Order V2 request having been sent.

Some example (non-exhaustive) reasons for Order Restated V2 messages being sent:

• A reserve (iceberg) order has been reloaded.

• An order’s remaining quantity was decremented because of a prevented wash trade.

• 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 V2 messages for any reason.

The return bitfields indicate the characteristics of the order which have changed. Optional fields will be presentat the end of the message with the new values.

Bats Global Markets c© 2008–2017 42

Page 43: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Note: You must opt-in to receiving LeavesQty in Order Restated V2 messages. In some cases, the lastmessage to be received on an order’s lifecycle will be an Order Restated V2 message. The way to know theorder is no longer live is to inspect LeavesQty. An example of this would be restatement of an order in some casesdue to PreventMatch being set to d. To maintain return structure compatibility with Members with Version 1,this field remains in the optional block.

Permitted return bits are described in § 6.7, p. 74.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x28MatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

ClOrdID 18 20 Text The ClOrdID is the identifier from the open or-der.

OrderID 38 8 Binary Corresponds to OrderID (37) in Bats FIX.

The unique OrderID. For informational purposesonly. Restatements do not change the OrderID.

RestatementReason 46 1 Alphanumeric The reason for this Order Restated message.

R = RerouteX = Locked in crossW = WashL = ReloadQ = Liquidity UpdatedP = Peg or Price Sliding Reprice

Bats reserves the right to add new values as nec-essary without prior notice.

ReservedInternal 47 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

48 1 Binary Number of bitfields to follow.

ReturnBitfield1 49 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Order Restated V2 message for a reserve (iceberg) reload:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 41 00 65 bytesMessageType 28 Order Restated V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

Bats Global Markets c© 2008–2017 43

Page 44: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

00 00 00 00 00 00 00 00 00 00OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)RestatementReason 4C L = ReloadReservedInternal 00 IgnoreNumberOfReturn 06 6 bitfields to followBitfieldsReturnBitfield1 00 No fields from byte 1ReturnBitfield2 00 No fields from byte 2ReturnBitfield3 00 No fields from byte 3ReturnBitfield4 00 No fields from byte 4ReturnBitfield5 02 LeavesQtyReturnBitfield6 01 SecondaryOrderIdLeavesQty 64 00 00 00 100 contractsSecondaryOrderID 0A 10 1E B7 5E 39 2F 02 171WC100000A (base 36)

4.2.8 User Modify Rejected V2

User Modify Rejected V2 messages are sent in response to a Modify Order V2 for an order whichcannot be modified. User Modify Rejected V2 messages are unsequenced.

This message corresponds to a FIX Execution Report with MsgType (35) = 9 (Order Cancel Reject) and CxlRe-jResponseTo (434) = 2 (Order Cancel/Replace Request).

Permitted return bits are described in § 6.8, p. 76.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x29MatchingUnit 5 1 Binary Unsequenced application message. Matching

unit will be set to 0.SequenceNumber 6 4 Binary Unsequenced application message. Sequence

number will be set to 0.TransactionTime 10 8 DateTime The time the event occurred in the Bats match-

ing engine (not the time the message was sent).ClOrdID 18 20 Text The ClOrdID of the modify request which was

rejected.ModifyRejectReason

38 1 Text Reason for a modify rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Text 39 60 Text Human readable text with more informationabout the reject reason.

ReservedInternal 99 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

100 1 Binary Number of bitfields to follow.

ReturnBitfield1 101 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Bats Global Markets c© 2008–2017 44

Page 45: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Example User Modify Rejected V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 63 00 99 bytesMessageType 29 User Modify Rejected V2MatchingUnit 00 Unsequenced Message, unit = 0SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00ModifyRejectReason 50 Pending FillText 50 65 6E 64 69 6E 67 00 00 00 Pending

00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

ReservedInternal 00 IgnoreNumberOfReturn 00 No optional fieldsBitfields

4.2.9 Order Cancelled V2

An order has been cancelled.

Permitted return bits are described in § 6.9, p. 78.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x2AMatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

ClOrdID 18 20 Text The order which was cancelled.CancelReason 38 1 Text Reason for the order cancellation.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

ReservedInternal 39 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

40 1 Binary Number of bitfields to follow.

ReturnBitfield1 41 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Bats Global Markets c© 2008–2017 45

Page 46: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Example Order Cancelled V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 48 00 72 bytesMessageType 2A Order Cancelled V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00CancelReason 55 U = User RequestedReservedInternal 00 IgnoreNumberOfReturn 05 5 bitfields to followBitfieldsReturnBitfield1 00 No fields from byte 1ReturnBitfield2 00 No fields from byte 2ReturnBitfield3 06 ClearingFirm, ClearingAccountReturnBitfield4 00 No fields from byte 2ReturnBitfield5 01 OrigClOrdIDClearingFirm 54 45 53 54 TESTClearingAccount 31 32 33 34 1234OrigClOrdID 41 42 43 31 32 31 00 00 00 00 ABC121

00 00 00 00 00 00 00 00 00 00

4.2.10 Cross Order Cancelled (EDGX Only)

A cross order has been cancelled. Individual order allocations from the original New Order Cross messagewill be echoed back in the repeating groups.

In each repeating group, the ClOrdID and OrderId are always returned. Beyond that, the bits specified in theoptional return bitfields parameter group control which fields are returned. Any fields that appear in the repeatinggroups will not appear in the optional fields that come after the repeating groups.

Permitted return bits are described in § 6.10, p. 80.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x46MatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

CrossID 18 20 Text Corresponds to CrossID (548) in Bats FIX.

The order which was cancelled.

Bats Global Markets c© 2008–2017 46

Page 47: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

CancelReason 38 1 Text Reason for the order cancellation.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

ReservedInternal 39 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

40 1 Binary Number of bitfields to follow.

ReturnBitfield1 41 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.GroupCnt 2 Binary Number of order allocations represented by re-

peating groups included in this message.Repeating Groupsof. . .

ClOrdID 20 Text Corresponds to ClOrdID (11) in Bats FIX.

Day-unique ID chosen by the client. Charactersin the ASCII range 33–126 are allowed, exceptfor comma, semicolon, and pipe.

If the ClOrdID matches a live order, the orderwill be rejected as duplicate.

Note: Bats only enforces uniqueness ofClOrdID values among currently live orders.However, we strongly recommend that youkeep your ClOrdID values day-unique.

OrderID 8 Binary Corresponds to OrderID (37) in Bats FIX.

Order identifier supplied by Bats. This identi-fier corresponds to the identifiers used in Batsmarket data products.

Side(Optional)

1 Alphanumeric See List of Optional Fields (§ 7, p. 88).

AllocQty(Optional)

4 Binary See List of Optional Fields (§ 7, p. 88).

Capacity(Optional)

1 Alpha See List of Optional Fields (§ 7, p. 88).

OpenClose(Optional)

1 Alphanumeric See List of Optional Fields (§ 7, p. 88).

GiveUpFirmID(Optional)

4 Alpha See List of Optional Fields (§ 7, p. 88).

Account(Optional)

16 Text See List of Optional Fields (§ 7, p. 88).

CMTANumber(Optional)

4 Binary See List of Optional Fields (§ 7, p. 88).

ClearingAccount(Optional)

4 Text See List of Optional Fields (§ 7, p. 88).

Optional fields. . . Optional fields as set in the bitmap. Note, op-tional fields that occur in the repeating groupsappear above, repeating per group, not withinthis block.

Example Cross Order Cancelled Message:

Bats Global Markets c© 2008–2017 47

Page 48: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytes.MessageLength 8A 00 138 bytesMessageType 46 Cross Order CancelledMatchingUnit 02 Matching Unit 2SequenceNumber 01 00 00 00 Sequence number 1TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000CrossID 4E 5A 31 56 37 42 4A 5F 41 63 NZ1V7BJ_AcceptBuy

63 65 70 74 42 75 79 00 00 00CancelReason 55 U = User RequestedReservedInternal 00 IgnoreNumberOfReturn 02 2 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 41 Symbol, CapacityGroupCnt 03 00 3 repeating groups to followClOrdID 4E 5A 31 56 37 47 4E 5F 61 67 NZ1V7GN_agency

65 6E 63 79 00 00 00 00 00 00OrderID 02 C0 91 A2 94 AB 78 04 2G4GYK000002 (base 36)Capacity 43 C = CustomerClOrdID 4E 5A 31 56 37 4B 46 5F 63 6F NZ1V7KF_contra1

6E 74 72 61 31 00 00 00 00 00OrderID 03 C0 91 A2 94 AB 78 04 2G4GYK000003 (base 36)Capacity 46 F = FirmClOrdID 4E 5A 31 56 37 4E 48 5F 63 6F NZ1V7NH_contra2

6E 74 72 61 32 00 00 00 00 00OrderID 04 C0 91 A2 94 AB 78 04 2G4GYK000004 (base 36)Capacity 46 F = FirmSymbol 30 30 51 30 6B 41 00 00 00Q0kA

4.2.11 Cancel Rejected V2

A Cancel Rejected V2 message is sent in response to a Cancel Order V2 message to indicate that thecancellation cannot occur. Cancel Rejected V2 messages are unsequenced.

Permitted return bitfields are described in § 6.11, p. 82.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x2BMatchingUnit 5 1 Binary Unsequenced application message. Matching

unit will be set to 0.SequenceNumber 6 4 Binary Unsequenced application message. Sequence

number will be set to 0.TransactionTime 10 8 DateTime The time the event occurred in the Bats match-

ing engine (not the time the message was sent).ClOrdID 18 20 Text The order whose cancel was rejected.CancelRejectReason

38 1 Text Reason for a cancel rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Bats Global Markets c© 2008–2017 48

Page 49: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Text 39 60 Text Human readable text with more informationabout the reject reason.

ReservedInternal 99 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

100 1 Binary Number of bitfields to follow.

ReturnBitfield1 101 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Cancel Rejected V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 63 00 99 bytesMessageType 2B Cancel Rejected V2MatchingUnit 00 Unsequenced Message, unit = 0SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00CancelRejectReason 4A JText 54 4F 4F 20 4C 41 54 45 00 00 TOO LATE

00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

ReservedInternal 00 IgnoreNumberOfReturn 00 No optional fieldsBitfields

4.2.12 Order Execution V2

An Order Execution V2 is sent for each fill on an order.

Version 2 removes the AccessFee field, but adds the optional FeeCode field. Rather than returning a mone-tary value indicating the rebate or charge for an execution, the FeeCode is an indication of a fee classificationcorresponding to an item on the venue’s fee schedule.

Permitted return bitfields are described in § 6.12, p. 84.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x2CMatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

Bats Global Markets c© 2008–2017 49

Page 50: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

ClOrdID 18 20 Text Order receiving the execution.ExecID 38 8 Binary Corresponds to ExecID (17) in Bats FIX.

Execution ID. Unique across all matching unitson a given day. Note: ExecIDs will be rep-resented on ODROP, FIXDROP and standardDROP ports as base 36 ASCII.

Example conversion:

Decimal Base 3628294005440239 A1234B56776335905726621 R248BC23H728557228187 09AP05V2Z

LastShares 46 4 Binary Corresponds to LastShares (32) in Bats FIX.

Executed share quantity.LastPx 50 8 Binary Price Corresponds to LastPx (31) in Bats FIX.

Price of this fill.LeavesQty 58 4 Binary Corresponds to LeavesQty (151) in Bats FIX.

Quantity still open for further execution. If zero,the order is complete.

BaseLiquidityIndicator

62 1 Alphanumeric Indicates whether the trade added or removedliquidity, or was routed to another market.

A = Added LiquidityR = Removed LiquidityX = Routed to Another MarketC = Auction/Uncrossing

SubLiquidityIndicator

63 1 Alphanumeric Additional information about an execution.Bats may add additional values without no-tice. Members must gracefully ignore un-known values.

ASCII NUL (0x00) = No Additional Information

S = Execution from order that set the NBBOB = Step Up Mechanismb = Bats Auction Mechanism

Bats Global Markets c© 2008–2017 50

Page 51: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

ContraBroker 64 4 Alphanumeric Corresponds to ContraBroker (375) in Bats FIX.

AMEX = Routed to NYSE AMEXARCA = Routed to NYSE ArcaBATS = Routed to Bats BZX Exchange?

BOX = Routed to BostonCBOE = Routed to CBOECTWO = Routed to C2EDGX = Routed to EDGX Exchange?

GMNI = Routed to GeminiISE = Routed to ISEMERC = Routed to MercuryMIAX = Routed to Miami Stock ExchangeNOMX = Routed to NASDAQNOBX = Routed to NASDAQ BXPERL = Routed to Miami Stock Exchange PearlPHLX = Routed to Philadelphia

?Interally matched if ContraBroker identifiermatches the ID of the local trading platform’sbook.

ReservedInternal 68 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

69 1 Binary Number of bitfields to follow.

ReturnBitfield1 70 1 Binary Bitfield identifying fields to return....

ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Order Execution V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 4F 00 79 bytesMessageType 2C Order Execution V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00ExecID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)LastShares 64 00 00 00 100 contractsLastPx 08 E2 01 00 00 00 00 00 12.34BaseLiquidityIndicator 41 A = AddedSubLiquidityIndicator 00 (unset)ContraBroker 42 41 54 53 BATSReservedInternal 00 IgnoreNumberOfReturn 03 3 bitfields to followBitfieldsReturnBitfield1 00 No bitfields from byte 1ReturnBitfield2 00 No bitfields from byte 2ReturnBitfield3 46 ClearingFirm, ClearingAccount, OrderQtyClearingFirm 54 45 53 54 TESTClearingAccount 31 32 33 43 1234

Bats Global Markets c© 2008–2017 51

Page 52: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

OrderQty 78 00 00 00 120 contracts

4.2.13 Trade Cancel or Correct V2

Used to relay a trade which has been cancelled (busted) or corrected (price or size change only). The Correct-edPrice and optional CorrectedSize fields will be set to 0 for cancelled trades and to the new trade price and/orsize for corrected trades. Trade Cancel or Correct V2 can be sent for same day as well as previous daytrades.

Permitted return bitfields are described in § 6.13, p. 86.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x2DMatchingUnit 5 1 Binary The matching unit which created this message.

Matching units in BOE correspond to matchingunits on Multicast PITCH.

SequenceNumber 6 4 Binary The sequence number for this message. Distinctper matching unit.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

ClOrdID 18 20 Text ClOrdID of the order whose fill is being cancelledor corrected.

OrderID 38 8 Binary Corresponds to OrderID (37) in Bats FIX.

Order whose fill is being cancelled or corrected.ExecRefID 46 8 Binary Corresponds to ExecRefID (19) in Bats FIX.

Refers to the ExecID (o)f the fill being cancelledor corrected.

Side 54 1 Alphanumeric Side of the order.BaseLiquidityIndicator

55 1 Alphanumeric Indicates whether the trade added or removedliquidity, or was routed to another market.

A = Added LiquidityR = Removed LiquidityX = Routed to Another MarketC = Auction/Uncrossing

ClearingFirm 56 4 Alpha Echoed back from the original order.ClearingAccount 60 4 Text Echoed back from the original order.LastShares 64 4 Binary Number of shares of the trade being cancelled.LastPx 68 8 Binary Price Price of the trade being cancelled.CorrectedPrice 76 8 Binary Price For trade corrections, this is the new trade price.

For trade breaks, this is set to 0.OrigTime 84 8 DateTime Corresponds to OrigTime (42).

The date and time of the original trade, in GMT.ReservedInternal 92 1 Binary Reserved for Bats’ internal use.NumberOfReturnBitfields

93 1 Binary Number of bitfields to follow.

ReturnBitfield1 94 1 Binary Bitfield identifying fields to return.

Bats Global Markets c© 2008–2017 52

Page 53: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

...ReturnBitfieldn 1 Binary Last bitfield.Optional fields. . .

Example Trade Cancel or Correct Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 76 00 118 bytesMessageType 2D Trade Cancel or Correct V2MatchingUnit 03 Matching Unit 3SequenceNumber 64 00 00 00 Sequence number 100TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000ClOrdID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00OrderID 05 10 1E B7 5E 39 2F 02 171WC1000005 (base 36)ExecRefID 01 F0 B7 D9 71 21 00 00 D19800001 (base 36)Side 31 BuyBaseLiquidity 41 A = AddedIndicatorClearingFirm 54 45 53 54 TESTClearingAccount 00 00 00 00 (empty)LastShares 64 00 00 00 100 contractsLastPx 70 17 00 00 00 00 00 00 0.60CorrectedPrice 00 00 00 00 00 00 00 00 0 (cancelled)OrigTime E0 BA 75 95 15 4C EB 11 1,291,209,373,757,324,000ReservedInternal 00 IgnoreNumberOfReturn 04 4 bitfields to followBitfieldsReturnBitfield1 00 No fields from byte 1ReturnBitfield2 01 SymbolReturnBitfield3 00 No fields from byte 3ReturnBitfield4 17 MaturityDate, StrikePrice,

PutOrCall, OpenCloseSymbol 30 30 51 30 6B 41 00 00 00Q0kAMaturityDate EF DB 32 01 2011-03-19StrikePrice 98 AB 02 00 00 00 00 00 17.50PutOrCall 31 1 = CallOpenClose 4F O = Open

4.2.14 Purge Rejected V2

A Purge Rejected V2 message is sent in response to a Purge Orders V2 message to indicate that themass cancellation cannot occur. Purge Rejected V2 messages are unsequenced.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x48

Bats Global Markets c© 2008–2017 53

Page 54: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

MatchingUnit 5 1 Binary Unsequenced application message. Matchingunit will be set to 0.

SequenceNumber 6 4 Binary Unsequenced application message. Sequencenumber will be set to 0.

TransactionTime 10 8 DateTime The time the event occurred in the Bats match-ing engine (not the time the message was sent).

PurgeRejectReason

18 1 Text Reason for a purge rejection.

See Reason Codes (§ 8, p. 100) for a list ofpossible reasons.

Text 19 60 Text Human readable text with more informationabout the reject reason.

ReservedInternal 79 1 Binary Reserved for Bats’ internal use.

Example Purge Rejected V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 4E 00 78 bytesMessageType 48 Purge Rejected V2MatchingUnit 00 Unsequenced Message, unit = 0SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000PurgeRejectReason 41 AText 41 44 4D 49 4E 00 00 00 00 00 ADMIN

00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00

ReservedInternal 00 Ignore

4.2.15 Mass Cancel Acknowledgment V2

A Mass Cancel Acknowledgment is an unsequenced message sent when a Cancel Order V2 or PurgeOrders V2 message requested a mass cancellation has completed cancelling all individual orders.

Field Offset Length Data Type DescriptionStartOfMessage 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 theStartOfMessage field.

MessageType 4 1 Binary 0x36MatchingUnit 5 1 Binary Unsequenced application message. Matching

unit will be set to 0.SequenceNumber 6 4 Binary Unsequenced application message. Sequence

number will be set to 0.TransactionTime 10 8 DateTime The time in the order entry gateway when the

final matching engine event was received to com-plete the mass cancel.

Bats Global Markets c© 2008–2017 54

Page 55: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

MassCancelID 18 20 Text Copied from the MassCancelID passed on theoriginal Cancel Order V2. This field corre-sponds to MassCancelID (7695) in Bats FIX.

CancelledOrderCount

38 4 Binary Number of orders cancelled. This field corre-sponds to CancelledOrderCount (7696) in BatsFIX.

ReservedInternal 42 1 Binary Reserved for Bats’ internal use.

Example Mass Cancel Acknowledgment V2 Message:

Field Name Hexadecimal NotesStartOfMessage BA BA Start of message bytesMessageLength 29 00 41 bytesMessageType 36 Mass Cancel AcknowledgmentMatchingUnit 00 Unsequenced Message, unit = 0SequenceNumber 00 00 00 00 Unsequenced Message, sequence = 0TransactionTime E0 FA 20 F7 36 71 F8 11 1,294,909,373,757,324,000MassCancelID 41 42 43 31 32 33 00 00 00 00 ABC123

00 00 00 00 00 00 00 00 00 00CancelledOrderCount 63 00 00 00 99 orders were cancelledReservedInternal 00 Ignore

Bats Global Markets c© 2008–2017 55

Page 56: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

5 Input Bitfields Per Message

Legend:

• Indicates that the field can be requested for a message− Indicates that the field cannot be requested for a message

5.1 New Order V2

Byte Bit Field

1

1 ClearingFirm •2 ClearingAccount •4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxFloor •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 RoutingInst •

3

1 Account •2 DisplayIndicator •4 MaxRemovePct •8 DiscretionAmount –

16 PegDifference –32 PreventMatch •64 LocateRequired –

128 ExpireTime •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 RiskReset •

16 OpenClose •32 CMTANumber •64 TargetPartyID •

128 Reserved –

5

1 Reserved –2 AttributedQuote •4 BookingType –8 ExtExecInst –

16 ClientID –32 InvestorID –64 ExecutorID –

128 BasisOfTrade –

continued. . .

Bats Global Markets c© 2008–2017 56

Page 57: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

6

1 DisplayRange •2 StopPx –4 RoutStrategy •8 RouteDeliveryMethod •

16 ExDestination •32 EchoText •64 AuctionId •

128 RoutingFirmID •

7

1 Algo –2 CustomGroupId •4 Reserved –8 Reserved –

16 Reserved –32 Reserved –64 Reserved –

128 Reserved –

Bats Global Markets c© 2008–2017 57

Page 58: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

5.2 New Order Cross

Byte Bit Field

1

1 Symbol •2 MaturityDate •4 StrikePrice •8 PutOrCall •

16 ExecInst •32 AttributedQuote •64 TargetPartyID •

128 PreventMatch •

2

1 AutoMatch •2 AutoMatchPrice •4 LastPriority •8 Account •

16 CMTANumber •32 ClearingAccount •64 RoutingFirmID •

128 Reserved –

Bats Global Markets c© 2008–2017 58

Page 59: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

5.3 Cancel Order V2

Byte Bit Field

1

1 ClearingFirm •2 MassCancelLockout •4 MassCancel •8 OsiRoot •

16 MassCancelId •32 RoutingFirmID •64 Reserved –

128 Reserved –

ClearingFirm is required for service bureau ports.

5.4 Modify Order V2

Byte Bit Field

1

1 ClearingFirm •2 Reserved –4 OrderQty ?8 Price ?

16 OrdType •32 CancelOrigOnReject •64 ExecInst •

128 Side –

2

1 MaxFloor •2 StopPx •4 RoutingFirmID •8 Reserved –

16 Reserved –32 Reserved –64 Reserved –

128 Reserved –

? Both OrderQty and Price must be present on all Modify Order V2 requests. Messages sent without bothfields will be rejected. To maintain compatibility with Version 1 Modify Order messages, this field remains inthe optional block.

ClearingFirm is required for service bureau ports.

Bats Global Markets c© 2008–2017 59

Page 60: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

5.5 Bulk Order V2

Byte Bit Field

1

1 BidShortPrice •2 BidOrderQty •4 Reserved –8 BidOpenClose •

16 Reserved –32 Reserved –64 Reserved –

128 Reserved –

2

1 AskShortPrice •2 AskOrderQty •4 Reserved –8 AskOpenClose •

16 Reserved –32 Reserved –64 Reserved –

128 Reserved –

? Note that RoutingInst in Bulk Order V2 supports a limited set of values. See List of Optional Fields § 7,p. 88 for more information.

Bats Global Markets c© 2008–2017 60

Page 61: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

5.6 Purge Orders V2

Byte Bit Field

1

1 ClearingFirm •2 MassCancelLockout •4 Reserved –8 OsiRoot •

16 MassCancelId •32 Reserved –64 Reserved –

128 Reserved –

ClearingFirm is required for service bureau ports.

Bats Global Markets c© 2008–2017 61

Page 62: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6 Return Bitfields Per Message

Legend:

• Indicates that the field can be requested for a message− Indicates that the field cannot be requested for a message

6.1 Order Acknowledgment V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator •

16 MaxFloor •32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId •2 LeavesQty •4 LastShares •8 LastPrice •

16 DisplayPrice •32 WorkingPrice •64 BaseLiquidityIndicator •

128 ExpireTime •

continued. . .

Bats Global Markets c© 2008–2017 62

Page 63: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

6

1 SecondaryOrderId •2 CCP –4 ContraCapacity •8 AttributedQuote •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

7

1 SubLiquidityIndicator •2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText •4 StopPx •8 RoutingInst •

16 RoutStrategy •32 RouteDeliveryMethod •64 ExDestination •

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId •8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

11

1 ClientID –2 InvestorID –4 ExecutorID –8 BasisOfTrade –

16 Algo –32 (Reserved) –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 63

Page 64: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.2 Cross Order Acknowledgment (EDGX Only)

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType –32 TimeInForce –64 MinQty –

128 MaxRemovePct –

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch –32 CorrectedSize –64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

continued. . .

Bats Global Markets c© 2008–2017 64

Page 65: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedOrder •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText –4 StopPx –8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId •8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType •

128 CrossPrioritization •

10

1 CrossId •2 AllocQty •4 GiveUpFirmID •8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 65

Page 66: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.3 Bulk Order Acknowledgment V2

Byte Bit Field

1

1 Side –2 PegDifference –4 Price –8 ExecInst –

16 OrdType –32 TimeInForce –64 MinQty –

128 MaxRemovePct –

2

1 Symbol –2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity –

128 (Reserved) –

3

1 Account –2 ClearingFirm –4 ClearingAccount –8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty –

128 PreventParticipantMatch –

4

1 MaturityDate –2 StrikePrice –4 PutOrCall –8 OpenClose –

16 ClOrdIdBatch –32 CorrectedSize –64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedQuote –

16 ExtExecInst –32 BulkOrderIds •64 BulkRejectReasons •

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 66

Page 67: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText –4 StopPx –8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID –4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber –64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID –

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 67

Page 68: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.4 Order Rejected V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator •

16 MaxFloor •32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

6

1 SecondaryOrderId •2 CCP –4 ContraCapacity •8 AttributedQuote •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 68

Page 69: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText •4 StopPx •8 RoutingInst •

16 RoutStrategy •32 RouteDeliveryMethod •64 ExDestination •

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 69

Page 70: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.5 Cross Order Rejected (EDGX Only)

Byte Bit Field

1

1 Side –2 PegDifference –4 Price •8 ExecInst •

16 OrdType –32 TimeInForce –64 MinQty –

128 MaxRemovePct –

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity –

128 (Reserved) –

3

1 Account –2 ClearingFirm –4 ClearingAccount –8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose –

16 ClOrdIdBatch –32 CorrectedSize –64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

continued. . .

Bats Global Markets c© 2008–2017 70

Page 71: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedOrder •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText –4 StopPx –8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber –64 CrossType •

128 CrossPrioritization •

10

1 CrossId •2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 71

Page 72: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.6 Order Modified V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol –2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity –

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator •

16 MaxFloor •32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate –2 StrikePrice –4 PutOrCall –8 OpenClose –

16 ClOrdIdBatch –32 CorrectedSize –64 PartyID –

128 AccessFee –

5

1 OrigClOrdId •2 LeavesQty •4 LastShares •8 LastPrice •

16 DisplayPrice •32 WorkingPrice •64 BaseLiquidityIndicator •

128 ExpireTime •

6

1 SecondaryOrderId •2 CCP –4 ContraCapacity •8 AttributedQuote •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 72

Page 73: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText •4 StopPx •8 RoutingInst •

16 RoutStrategy •32 RouteDeliveryMethod •64 ExDestination •

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId •8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 73

Page 74: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.7 Order Restated V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator •

16 MaxFloor •32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId •2 LeavesQty •4 LastShares •8 LastPrice •

16 DisplayPrice •32 WorkingPrice •64 BaseLiquidityIndicator •

128 ExpireTime •

6

1 SecondaryOrderId •2 CCP –4 ContraCapacity •8 AttributedQuote •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 74

Page 75: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText •4 StopPx •8 RoutingInst •

16 RoutStrategy •32 RouteDeliveryMethod •64 ExDestination •

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 75

Page 76: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.8 User Modify Rejected V2

Byte Bit Field

1

1 Side –2 PegDifference –4 Price –8 ExecInst –

16 OrdType –32 TimeInForce –64 MinQty –

128 MaxRemovePct –

2

1 Symbol –2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity –

128 (Reserved) –

3

1 Account –2 ClearingFirm –4 ClearingAccount –8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty –

128 PreventParticipantMatch –

4

1 MaturityDate –2 StrikePrice –4 PutOrCall –8 OpenClose –

16 ClOrdIdBatch –32 CorrectedSize –64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedQuote –

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 76

Page 77: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText –4 StopPx –8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID –4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber –64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID –

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 77

Page 78: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.9 Order Cancelled V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator •

16 MaxFloor •32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId •2 LeavesQty •4 LastShares •8 LastPrice •

16 DisplayPrice •32 WorkingPrice •64 BaseLiquidityIndicator •

128 ExpireTime •

6

1 SecondaryOrderId •2 CCP –4 ContraCapacity •8 AttributedQuote •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 78

Page 79: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText •4 StopPx •8 RoutingInst •

16 RoutStrategy •32 RouteDeliveryMethod •64 ExDestination •

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 79

Page 80: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.10 Cross Order Cancelled (EDGX Only)

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType –32 TimeInForce –64 MinQty –

128 MaxRemovePct –

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch –32 CorrectedSize –64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

continued. . .

Bats Global Markets c© 2008–2017 80

Page 81: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedOrder •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText –4 StopPx –8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId •8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType •

128 CrossPrioritization •

10

1 CrossId •2 AllocQty •4 GiveUpFirmID •8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 81

Page 82: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.11 Cancel Rejected V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account –2 ClearingFirm –4 ClearingAccount –8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty –

128 PreventParticipantMatch –

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedQuote –

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 82

Page 83: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText •4 StopPx •8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID •4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID –

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 83

Page 84: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.12 Order Execution V2

Byte Bit Field

1

1 Side •2 PegDifference –4 Price •8 ExecInst •

16 OrdType •32 TimeInForce •64 MinQty •

128 MaxRemovePct •

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account •2 ClearingFirm •4 ClearingAccount •8 DisplayIndicator •

16 MaxFloor •32 DiscretionAmount –64 OrderQty •

128 PreventParticipantMatch •

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity •8 AttributedQuote •

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 84

Page 85: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode •2 EchoText •4 StopPx •8 RoutingInst •

16 RoutStrategy •32 RouteDeliveryMethod •64 ExDestination •

128 TradeReportRefID –

9

1 MarketingFeeCode •2 TargetPartyID •4 AuctionId •8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType •

128 CrossPrioritization •

10

1 CrossId •2 AllocQty –4 GiveUpFirmID •8 RoutingFirmID •

16 WaiverType –32 CrossExclusionIndicator •64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 85

Page 86: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

6.13 Trade Cancel or Correct V2

Byte Bit Field

1

1 Side –2 PegDifference –4 Price –8 ExecInst –

16 OrdType –32 TimeInForce –64 MinQty –

128 MaxRemovePct –

2

1 Symbol •2 SymbolSfx –4 Currency –8 IdSource –

16 SecurityId –32 SecurityExchange –64 Capacity •

128 (Reserved) –

3

1 Account –2 ClearingFirm –4 ClearingAccount –8 DisplayIndicator –

16 MaxFloor –32 DiscretionAmount –64 OrderQty –

128 PreventParticipantMatch –

4

1 MaturityDate •2 StrikePrice •4 PutOrCall •8 OpenClose •

16 ClOrdIdBatch •32 CorrectedSize •64 PartyID –

128 AccessFee –

5

1 OrigClOrdId –2 LeavesQty –4 LastShares –8 LastPrice –

16 DisplayPrice –32 WorkingPrice –64 BaseLiquidityIndicator –

128 ExpireTime –

6

1 SecondaryOrderId –2 CCP –4 ContraCapacity –8 AttributedQuote –

16 ExtExecInst –32 BulkOrderIds –64 BulkRejectReasons –

128 PartyRole –

continued. . .

Bats Global Markets c© 2008–2017 86

Page 87: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Byte Bit Field

7

1 SubLiquidityIndicator –2 TradeReportTypeReturn –4 TradePublishIndReturn –8 Text –

16 Bid –32 Offer –64 LargeSize –

128 LastMkt –

8

1 FeeCode –2 EchoText –4 StopPx –8 RoutingInst –

16 RoutStrategy –32 RouteDeliveryMethod –64 ExDestination –

128 TradeReportRefID –

9

1 MarketingFeeCode –2 TargetPartyID –4 AuctionId –8 OrderCategory –

16 LiquidityProvision –32 CmtaNumber •64 CrossType –

128 CrossPrioritization –

10

1 CrossId –2 AllocQty –4 GiveUpFirmID –8 RoutingFirmID –

16 WaiverType –32 CrossExclusionIndicator –64 (Reserved) –

128 (Reserved) –

Bats Global Markets c© 2008–2017 87

Page 88: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

7 List of Optional Fields

The following are descriptions of optional fields which may be sent or received.

Field Len

gth

Data Type DescriptionAccount 16 Text Corresponds to Account (1) in Bats FIX.

Reflected back on execution reports associated with this order.May be made available in the Member’s clearing file. Allowedcharacters are alphanumeric and colon.

AllocQty 4 Binary Corresponds to AllocQty (80) in Bats FIX.

Number of contracts for this party.

EDGX Options only.AskOpenClose 1 Alphanumeric Corresponds to OpenClose (77) in Bats FIX.

Offer side open/close. See OpenClose for allowed values.AskOrderID 8 Binary Corresponds to OrderID (37) in Bats FIX.

A kind of BulkOrderID. Order identifier supplied by Bats. Thisidentifier corresponds to the identifiers used in Bats marketdata products.

AskOrderQty 4 Binary Corresponds to OrderQty (38) in Bats FIX.

Number of contracts for the offer. System limit is 999,999contracts.

AskRejectReason 1 Text Reason for the individual order rejection.

See Reason Codes (§ 8, p. 100) for a list of possible reasons.AskShortPrice 4 Binary Price Corresponds to Price (44) in Bats FIX.

Offer limit price. Four implied decimal places.AttributedQuote 1 Alphanumeric Optional. Allows for an order to be attributed to a firm’s

Executing Broker ID in Bats market data feeds. The order mayalso be included with attributed summary information displaysrelated to quote/trade information on the Bats website. Mustopt-in to support through the Bats Trade Desk.

On a New Order Cross, this field is only applicable to theAgency order.

N = Do not attribute firm Executing Broker ID to this order(BZX default)Y = Attribute firm Executing Broker ID to this order (EDGXdefault)

AuctionId 8 Binary Corresponds to AuctionId (9370) in Bats FIX.

Auction order identifier supplied by Bats. This identifier cor-responds to the identifiers used in Bats market data products.

New in Version 2.

Bats Global Markets c© 2008–2017 88

Page 89: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

AutoMatch 1 Alphanumeric Corresponds to AutoMatch (9040) in Bats FIX.

Better-priced responses will be matched by the Contra side.Indicates the type of Auto Match the Contra Order will use.Mutually exclusive with LastPriority. Limit type Auto Matchorders require AutoMatchPrice to be supplied.

0 = Disabled (Default)1 = Market2 = Limit

EDGX Options only.AutoMatchPrice 8 Binary Price Corresponds to AutoMatchPrice (9044) in Bats FIX.

Sets the limit price at which the Contra Order will Auto Match.Required if AutoMatch = 2 (Limit). Ignored otherwise.

1 = Buy2 = Sell

EDGX Options only.BaseLiquidityIndicator

1 Alphanumeric Indicates whether the trade added or removed liquidity, or wasrouted to another market.

A = Added LiquidityR = Removed LiquidityX = Routed to Another MarketC = Auction/Uncrossing

BidOpenClose 1 Alphanumeric Corresponds to OpenClose (77) in Bats FIX.

Bid side open/close. See OpenClose for allowed values.BidOrderID 8 Binary Corresponds to OrderID (37) in Bats FIX.

A kind of BulkOrderID. Order identifier supplied by Bats. Thisidentifier corresponds to the identifiers used in Bats marketdata products.

BidOrderQty 4 Binary Corresponds to OrderQty (38) in Bats FIX.

Number of contracts for the bid. System limit is 999,999contracts.

BidRejectReason 1 Text Reason for the individual order rejection.

See Reason Codes (§ 8, p. 100) for a list of possible reasons.BidShortPrice 4 Binary Price Corresponds to Price (44) in Bats FIX.

Bid limit price. Four implied decimal places.BulkOrderIDs 8 Binary If this return bit is requested, an order ID will be returned for

each accepted new and cancelled order. See also AskOrderIDor BidOrderID.

BulkRejectReasons 1 Alphanumeric If this return bit is requested, an reject reason will be re-turned for each rejected order. See also AskRejectReasonTextor BidRejectReasonText. See Reason Codes (§ 8, p. 100 fora list of possible reasons.

Bats Global Markets c© 2008–2017 89

Page 90: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

CancelOrigOnReject

1 Alpha Corresponds to CancelOrigOnReject (9619) in Bats FIX.

Indicates handling of original order on failure to modify.

N = Leave original order alone.Y = Cancel original order if modification fails.

Capacity 1 Alpha Corresponds to OrderCapacity (47) in Bats FIX.

C = CustomerM = Market MakerF = FirmU = Professional CustomerN = Non-Bats Market Maker (effective June 1, 2015)B = Broker-Dealer (effective June 1, 2015)J = Joint Back Office (effective June 1, 2015)

ClearingAccount 4 Text Corresponds to OnBehalfOfSubID (116) and ClearingAccount(440) in Bats FIX.

Supplemental identifier. Recorded and made available in exe-cution reports. Available via Drop.

When Capacity is set to a value of M or N for Market Maker,this field should be filled with the desired market maker ID.When using CMTA, this value is the Market Maker ID forthe CMTA member instead of the Bats member executing thetrade. This field will be sent to the OCC.

If Capacity is set to something besides Market Maker, thisfield can be blank or filled out with an optional string that ispassed through to the OCC.

ClearingFirm 4 Alpha Corresponds to OnBehalfOfCompID (115) in Bats FIX. EFIDthat will clear the trade.

ClOrdIDBatch 20 Text Day-unique ID chosen by the client. Characters in the ASCIIrange 33–126 are allowed, except for comma, semicolon, andpipe.

If the ClOrdIDBatch matches a live bulk order, the entire batchwill be rejected as duplicate.

Note: Bats only enforces uniqueness of ClOrdIDBatchvalues among currently live bulk orders. However, westrongly recommend that you keep your ClOrdIDBatchvalues day-unique.

CMTANumber 4 Binary Corresponds to ClearingFirm (439) in Bats FIX.

CMTA Number of the firm that will clear the trade. Must bespecified for CMTA orders and left unspecified for non-CMTAorder.

ContraCapacity 1 Alphanumeric Capacity of the contra for this execution. See Capacity forallowed values.

CorrectedSize 4 Binary Corresponds to CorrectedSize (6655) in Bats FIX.

Number of shares after trade adjustment.

Bats Global Markets c© 2008–2017 90

Page 91: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

CrossExclusionIndicator

1 Alphanumeric Corresponds to CrossExclusionIndicator (6438) in Bats FIX.

N = Contracts were executed in auction against Contra partyor against a resting order when auction was initiated.

Y = Contracts were executed in auction against another party.

EDGX Options only.CrossType 1 Alphanumeric Corresponds to CrossType (549) in Bats FIX.

Type of auction order being submitted. This indicates the typeof auction that will be initiated upon order entry.

1 = Bats Auction Mechanism2 = Qualified Contingent Cross

EDGX Options only.CrossPrioritization 1 Alphanumeric Corresponds to CrossPrioritization (550) in Bats FIX.

Indicates which side of the cross order will be prioritized forexecution. This identifies the Agency side.

1 = Buy2 = Sell

EDGX Options only.CustomGroupID 2 Binary Corresponds to MassCancelCustomGroupID (7699) in Bats

FIX for New Order V2 and Purge Orders V2 mes-sages.

Used to group orders for use in mass cancels where multiple or-ders can be cancelled by specifying a list of CustomGroupIDs.

DisplayIndicator 1 Alphanumeric Corresponds to DisplayIndicator (9479) in Bats FIX.

V = Default. As determined by port level setting (default toS)S = Display Price Sliding (this is to override a opt-out ofDisplay Price Sliding at the port level; BZX only)L = Display Price Sliding, but reject if order crosses NBBOon entry (BZX only)M = Multiple Display Price Sliding (BZX only)P = Price Adjustm = Multiple Price AdjustR = Reject the order if it cannot be booked and displayedwithout adjustmentN = No Rescrape At Limit. Applicable only to Fully RoutableIOC orders (RoutingInst = R and TimeInForce = 3). Afterwalking the price down to the limit, there will be no final scrapeat Bats and the cancel reason code will state X (Expired) ratherthan N (No Liquidity). BZX only.

Note: Display Price Sliding is not supported on EDGX Op-tions. S and L will be converted to P and M will be convertedto m.

Bats Global Markets c© 2008–2017 91

Page 92: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

DisplayPrice 8 Binary Price Only present when order is fully or partially booked.If the order has to be displayed at a less aggressive price forsome reason, then that price will be reported here, otherwiseequals price.

DisplayRange 4 Binary Corresponds to DisplayRange (8020) in Bats FIX.

Used for random replenishment of reserve orders. Random re-plenishment establishes a range of possible values for the orderquantity that is to be displayed. For example, if MaxFloor =2,000, and DisplayRange = 200, the displayed quantity will beselected from one of the following values: 1,800, 1,900, 2,000,2,100, or 2,200. Must be specified in round lots.

New in Version 2.

BZX Options only.EchoText 64 Text Corresponds to Text (58) in Bats FIX.

Free format text string. May be echoed back on Bats to Mem-ber messages.

ExDestination 1 Text Corresponds to ExDestination (100) in Bats FIX.

Used to specify the designated away venue for RoutStrategy= DIRC.

A = NYSE ARCAE = ISEF = Miami Stock ExchangeG = EDGX OptionsH = C2K = Boston Options ExchangeN = NASDAQP = Miami Stock Exchange PearlS = NASDAQ BXU = NYSE AMEXW = CBOEX = PhiladelphiaZ = BZX Optionsg = Geminim = Mercury

New in Version 2.ExecInst 1 Text Corresponds to ExecInst (18) in Bats FIX.

f = Intermarket Sweep (Directed or Bats)ASCII NUL (0x00) = no special handlingAll other values are ignored.

ExpireTime 8 DateTime Corresponds to ExpireTime (126) in FIX.

Required for TimeInForce = 6 orders, specifies the date-time(in UTC) that the order expires.

FeeCode 2 Alphanumeric Indicates fee associated with an execution. Fee codes are pub-lished in the pricing schedule. New fee codes may be sent withlittle to no notice. Members are encouraged to code their sys-tems to accept unknown fee codes.

Bats Global Markets c© 2008–2017 92

Page 93: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

GiveUpFirmID 4 Alpha Corresponds to GiveUpFirmID (9946) in Bats FIX. EFID thatwill clear the trade.

EDGX Options only.LastPriority 1 Alphanumeric Corresponds to LastPriority (9849) in Bats FIX.

When enabled, allocation will go to other participants’ re-sponses before requiring the Contra Order to satisfy remainingcontracts of the Agency Order. Mutually exclusive with Au-toMatch.

0 = Disabled (Default)1 = Enabled

EDGX Options only.LastPx 8 Binary Price Corresponds to LastPx (31) in Bats FIX.

Price of this fill.LastShares 4 Binary Corresponds to LastShares (32) in Bats FIX.

Executed share quantity.LeavesQty 4 Binary Corresponds to LeavesQty (151) in Bats FIX.

Quantity still open for further execution. If zero, the order iscomplete.

MarketingFeeCode 2 Alphanumeric Corresponds to MarketingFeeCode (5937) in Bats FIX.

P = Penny PilotN = Non-Penny PilotX = Not Eligible for Marketing Fees

EDGX Options only.MassCancel 1 Alphanumeric Corresponds to MassCancel (7693) in Bats FIX.

Indicates that a mass cancellation is being performed.

1 or 3 = Cancel all orders that match OsiRoot or Custom-GroupID, regardless of clearing firm.

2 or 4 = Cancel all orders that match the given OsiRoot orCustomGroupID, and ClearingFirm.

Values 3 and 4 are similar to 1 and 2, respectively, but in-dividual Order Cancelled V2 messages will not be sent.Instead, a Mass Cancel Acknowledgment message withthe corresponding MassCancelID and CancelledOrderCountwill be sent once all cancels have been processed.

For Purge Orders V2 messages the Mass Cancel Ac-knowledgment message may always be requested by send-ing a MassCancelID in the Purge Orders V2 message,regardless of the value of the MassCancel field.

MassCancel requests will not cancel initiating orders for BAMAuctions.

MassCancelID 20 Text Copied from the MassCancelID passed on the original Can-cel Order V2. This field corresponds to MassCancelID(7695) in Bats FIX.

Bats Global Markets c© 2008–2017 93

Page 94: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

MassCancelLockout 1 Alphanumeric 0 = No Lockout1 = Lockout

Members may initiate a new self-imposed order lockout in con-junction with a mass cancel for all resting orders and in-flightorders. The value of 1 is only applicable in conjunction withMassCancel values of 2 or 4; other usage results in a reject.

MaturityDate 4 Binary Corresponds to MaturityMonth (200) and MaturityDay (205)in Bats FIX.

Expiration date YYYYMMDD as an integer, expressed in a4-byte value.

MaxFloor 4 Binary Corresponds to MaxFloor (111) in Bats FIX.

Portion of OrderQty to display. The balance is reserve. 0displays the entire quantity. The displayed quantity of eachorder at a price level is decremented first. When displayedquantity is fully decremented, it is reloaded up to MaxFloorfrom reserve.

Default = 0

BZX Options only.MaxRemovePct 1 Binary Corresponds to MaxRemovePct (9618) in Bats FIX.

For Post Only At Limit (RoutingInst = Q), what percentageof the order quantity which remains after price improvementmay be removed at the limit.

Must be 0 for non-Post Only At Limit orders.

0 = Don’t remove any shares at limit price.100 = Remove any amount at limit price.

BZX Options only.MinQty 4 Binary Corresponds to MinQty (110) in Bats FIX.

Minimum fill quantity for IOC orders which only interact withliquidity on the target book. Ignored for other orders.

OpenClose 1 Alphanumeric Corresponds to OpenClose (77) in Bats FIX.

Indicates status of client position in the option.

O = OpenC = Close

Contracts which are limited to closing only transactions withan OpenClose value of O will be rejected unless the Capacityfield is M (Market Maker) and TimeInForce is 3 (Immediate orCancel).

OrderQty 4 Binary Corresponds to OrderQty (38) in Bats FIX.

Order quantity. System limit is 999,999 contracts.

Bats Global Markets c© 2008–2017 94

Page 95: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

OrdType 1 Alphanumeric Corresponds to OrdType (40) in Bats FIX.

1 = Market2 = Limit (default)3 = Stop (BZX Options only)4 = Stop Limit (BZX Options only)

Market implies TimeInForce of IOC (3).OrigClOrdID 20 Text Corresponds to OrigClOrdID (41) in Bats FIX.OrigCrossID 20 Text Corresponds to OrigCrossID (551) in Bats FIX.OsiRoot 6 Text The OSI root symbol.

Bats Global Markets c© 2008–2017 95

Page 96: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

PreventMatch 3 Alpha Corresponds to PreventMatch (7928) in Bats FIX.

Three characters:

1st character - MTP Modifier:

N = Cancel NewestO = Cancel OldestB = Cancel BothS = Cancel SmallestD = Decrement Larger/Cancel Smallerd = Same as D above, but only decrement LeavesQty.

Do not restate OrderQty.

2nd character - Unique ID Level:

F = Prevent Match at Member LevelM = Prevent Match at MPID Level

3rd character - Trading Group ID (optional):

Member specified alphanumeric value 0–9, A–Z, or a–z.

The Unique ID level (character 2) of both orders must matchto prevent a trade. If specified on both orders, Trading GroupID (character 3) must match to prevent a trade.

The MTP Modifier (character 1) of the inbound order will behonored, except that if the inbound order specifies Decrementand the resting order does not, and the resting order is larger,then both orders will be cancelled. This exception is to protectthe order entry software for the resting order from receivingan unexpected restatement message.

If order entry software is prepared to handle unexpected re-statement messages, this exception may be override at theport level by requesting “Allow MTP Decrement Override”functionality.

Users of MTP Modifier D or d and users of “Allow MTP Decre-ment Override” functionality must be prepared to receive anOrder Restated V2 message that decrements LeavesQty(and, for method D, OrdQty as well).

On a New Order Cross, only N and O are supported forthe MTP modifier. MTP instructions on BAM orders will beused to prevent executions against BAM responses only; theywill permit executions against resting or unrelated orders. Re-sponses may only employ N (Cancel Newest) in which case theresponse will be cancelled and the auction order will continue.

On a New Order Cross, this field is only applicable to theAgency order.

Bats Global Markets c© 2008–2017 96

Page 97: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Price 8 Binary Price Corresponds to Price (44) in Bats FIX.

Limit price. Four implied decimal places.

Required for limit orders (OrdType = 2). If specified on amarket order (OrdType = 1), the order will be rejected.

This field is also used to specify an optional cap price forpegged orders.

PutOrCall 1 Alphanumeric Corresponds to PutOrCall (201) in Bats FIX.

0 = Put1 = Call

RiskReset 8 Text Corresponds to RiskReset (7692) in Bats FIX.

For use by Members using Bats’ Risk Management tools.When a resting or inbound order is executed and a risk profilelimit is reached, resting orders on the OSI Root will be can-celled and inbound orders on the OSI Root will be rejecteduntil this field is filled with the value SYMBOL or S.

Once set, the risk profile associated with the underlying OSIRoot on the order will be reset. All active OSI Root level rulesin the risk profile are reset at this time. Individual rules cannotbe reset on their own.

If a firm level rule is tripped, this tag can be filled with thevalue FIRM or F to reset all firm level rules. While this willreset firm level rules, it is possible that both firm and OSI Rootlevel rules are currently tripped. Setting this field to FIRM (F)will not clear OSI Root level rules and the order may still berejected. To clear both OSI Root and firm level rules, set thisfield to BOTH or SF. Note that BOTH (SF) will clear Firm leveland the OSI Root rule associated with the underlying specifiedon the order.

If orders have been locked out by at the custom group ID level,inbound orders for the locked custom group ID will be rejecteduntil this field is filled with the value C.

When using the single character risk reset designation, S, F,or C, the characters may combined in any order. For exampleto reset all set this field to SFC, which is equivalent to CFS.The single character designation is preferred.

For more information, refer to the US Options Risk Manage-ment Specification7.

7http://www.batsoptions.com/resources/membership/BATS US Options Risk Management Specification.pdf

Bats Global Markets c© 2008–2017 97

Page 98: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

RouteDeliveryMethod

3 Text Equivalent to RouteDeliveryMethod (9350) in Bats FIX.

RTI = Route to Improve, equivalent to Bats Parallel-D (de-fault if not specified)RTF = Route to Fill, equivalent to Bats Parallel-2D

Route to Improve: Ability to receive price improvement willtake priority over speed of execution.Route to Fill: Speed of execution will take priority over po-tential price improvement.

Only applicable to RoutStrategy = ROUT.RoutingFirmID 4 Alpha Corresponds to RoutingFirmID (7933) in Bats FIX.

Used to optionally convey the routing firm of the order. Ifsupplied, value must be a valid member EFID.

EDGX Options only.RoutingInst 4 Text 1st character:

B = Book Only (not routable, will remove from local book)P = Post Only (not routable)Q = Post Only at Limit (removes liquidity that improves uponlimit price and up to MaxRemovePct of remaining OrdQty atlimit price)R = RoutableS = Super Aggressive—Cross or Lock (order will be removedfrom the book and routed to any quote that is locking orcrossing the order)X = Aggressive—Cross Only (order will be removed from thebook and routed to any quote that is crossing the order)

2nd character:L = Do Not Expose order via Step-Up Mechanism (SUM)S = Expose order via Step Up Mechanism (SUM)8 (EDGXOptions only)

Post Only at Limit (Q) is available on BZX Options only.

For Bulk Orders, only B, P, and Q are permitted.

RoutStrategy 6 Text Equivalent to RoutStrategy (9400) in Bats FIX.

All exchanges:ROUT = Book + Street (default if not specified)DIRC9 = Book + Directed IOC or Directed ISO if ExecInst =f

8 Routable Orders identified with RoutingInst = R, RS, S, SS, X or XS and RoutStrategy = ROUT and AuctionId not supplied orNon-Routable Orders identified with RoutingInst = BS and ExecInst not f and TimeInForce not 4 and MinQty not supplied willparticipate in the Step-Up Mechanism (SUM) before routing, booking, or cancelling back.

9Field ExDestination must be populated with RoutStrategy = DIRC. Must be specified when sending a non-book only ISO,otherwise the order will be rejected.

Bats Global Markets c© 2008–2017 98

Page 99: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

SecondaryOrderID 8 Binary Corresponds to SecondaryOrderID (198) in Bats FIX.

Denotes an alternative OrderID which is present on Bats mar-ket data feeds (for example, to hide that a reserve (iceberg)order has reloaded). Or, OrderID of the contra side of a pre-vented match.

Side 1 Alphanumeric Corresponds to Side (54) in Bats FIX.

1 = Buy2 = Sell

StopPx 8 Binary Price Corresponds to StopPx (99) in Bats FIX.

Stop price. Required if OrdType = 3 (Stop) or 4 (Stop Limit).Stop and Stop Limit orders will only be triggered off Last SaleEligible trades.

New in Version 2.

BZX Options only.StrikePrice 8 Binary Price Corresponds to StrikePrice (202) in Bats FIX.

Option strike price. System maximum is 99,999,999.SubLiquidityIndicator

1 Alphanumeric Additional information about an execution. Bats may addadditional values without notice. Members must grace-fully ignore unknown values.

ASCII NUL (0x00) = No Additional Information

S = Execution from order that set the NBBOB = Step Up Mechanismb = Bats Auction Mechanism

Symbol 8 Alphanumeric Corresponds to Symbol (55) in Bats FIX.

Entire Bats format symbol or symbol root if using CQS orCMS format.

TargetPartyID 4 Alpha A valid Parent ID of the Directed Market Maker. Required fordirected orders.

On a New Order Cross, this field is only applicable to theAgency order.

EDGX Options only.TimeInForce 1 Alphanumeric Corresponds to TimeInForce (59) in FIX.

0 = Day1 = GTC (allowed, but treated as Day)3 = IOC (Portion not filled immediately is cancelled. Marketorders are implicitly IOC.)6 = GTD (expires at earlier of specified ExpireTime or end ofday)

WorkingPrice 8 Binary Price Only present when order is fully or partially booked.If price had to be adjusted to a less aggressive value for somereason, then the adjusted price will be reported here, otherwiseequals price.

Bats Global Markets c© 2008–2017 99

Page 100: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

8 Reason Codes

The following is a list of all reason codes used. These reason codes are used in a variety of contexts (ordercancellations, order rejections, modify rejections, etc.). All reasons are not valid in all contexts.

A = AdminD = Duplicate Identifier (e.g., ClOrdID)H = HaltedI = Incorrect Data CenterJ = Too late to cancelK = Order Rate Threshold ExceededL = Order would lock or cross NBBOM = Liquidity Available Exceeds Order SizeN = Ran Out of Liquidity to Execute AgainstO = ClOrdID Doesn’t Match a Known OrderP = Can’t Modify an Order That is Pending FillQ = Waiting For First TradeR = Routing UnavailableT = Fill would trade through the NBBOU = User RequestedV = Would WashW = Add Liquidity Only Order Would RemoveX = Order ExpiredY = Symbol Not SupportedZ = Unforeseen Reasonc = Only Close Transactions Acceptedf = Risk Management Firm Levelm = Market Access Risk Limit Exceededo = Max Open Orders Count Exceededr = Reserve Reloads = Risk Management Symbol Levelw = Would Remove on Unslidex = Crossed Markety = Order Received by Bats During Replay

Bats Global Markets c© 2008–2017 100

Page 101: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

9 List of Message Types

9.1 Member to Bats

Message Name Level Type SequencedLogin Request V2 Session 0x37 NoLogout Request Session 0x02 NoClient Heartbeat Session 0x03 NoNew Order V2 Application 0x38 YesNew Order Cross Application 0x41 YesCancel Order V2 Application 0x39 YesModify Order V2 Application 0x3A YesBulk Order V2 Application 0x3B YesPurge Orders V2 Application 0x47 Yes

Bats Global Markets c© 2008–2017 101

Page 102: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

9.2 Bats to Member

Message Name Level Type SequencedLogin Response V2 Session 0x24 NoLogout Session 0x08 NoServer Heartbeat Session 0x09 NoReplay Complete Session 0x13 NoOrder Acknowledgment V2 Application 0x25 YesCross Order Acknowledgment Application 0x43 YesOrder Rejected V2 Application 0x26 NoCross Order Rejected Application 0x44 NoOrder Modified V2 Application 0x27 YesOrder Restated V2 Application 0x28 YesUser Modify Rejected V2 Application 0x29 NoOrder Cancelled V2 Application 0x2A YesCross Order Cancelled Application 0x46 YesCancel Rejected V2 Application 0x2B NoOrder Execution V2 Application 0x2C YesTrade Cancel or Correct V2 Application 0x2D YesPurge Rejected V2 Application 0x48 NoBulk Order Acknowledgment V2 Application 0x2F NoMass Cancel Acknowledgment V2 Application 0x36 No

10 Port Attributes

The table below lists BOE port attributes that are configurable on the port or firm level. Changes to theseattributes can be made by contacting the Bats Trade Desk.

Attribute Default DescriptionAllowed Clearing ExecutingFirm ID(s)?

All MPIDs Executing Firm ID(s) allowed for trading on theport.

Allow Bulk Updates∧ No Allow support for Bulk Order V2 and BulkOrder Acknowledgment V2 messages.

Default Executing Firm ID None Default Executing Firm ID to use if none is sent ona New Order V2.

Allow ISO? Yes Allows or disallows ISO orders.Allow Directed ISO? Yes Allows or disallows ISO orders directed to other mar-

ket centers.Default Routing Instruction† Specifies a default value for routing. Fields can

be overriden at the order level. The defaults areRoutingInst = R, RouteDeliveryMethod = RTI, andRoutStrategy = ROUT.

Maximum Order Size? 25,000 Maximum order quantity.Maximum Order Dollar Value? Unlimited Maximum dollar value per order.Default Price Sliding See Text Default price sliding behavior. See DisplayIndica-

tor. Defaults to S. On EDGX Options, defaults toP effective July 11, 2016.

Bats Global Markets c© 2008–2017 102

Page 103: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Cancel on Disconnect Option 1 Bats offers three options for cancelling orders as aresult of a session disconnect:

1. Cancel continuous book orders only (default).

2. Cancel all open orders (continuous book andon-open, on-close and late orders)10.

3. Do not cancel any open orders.

Market Maker Rejectif Cancel on Disconnectdisabled

No Rejection of Market Maker or Away-Market Makerorders if Cancel on Disconnect is not enabled. Non-Market Maker capacity orders will be unaffectedwith this configuration.

Send Trade Breaks∧ No Enables sending of Trade Cancel or CorrectV2 messages.

Default MTP Value?∧† None Specifies default value for PreventMatch.Allow MTP DecrementOverride?∧

No Overrides the exception that requires both the rest-ing and inbound order to be marked as “Decre-ment”.

Allow Sponsored ParticipantMTP Control?∧

No Allows Sponsored Participant to override port de-fault for match trade prevention by using Prevent-Match on the order level.

Cancel on Reject† No Cancels an order upon a cancel or modify reject.Cancel on Halt No Cancel open orders for a symbol upon a halt.Opt-out of PITCHObfuscation

No Opt-out all orders from PITCH OrderID obfuscationfor hidden and reserve orders.

Fat Finger Protection? None Orders entered through the NBBO by a specifiedpercentage or dollar based limit price tolerance willbe rejected. Limits may be different for differentprice ranges. Does not apply to RHO orders en-tered prior to the open until they move to continu-ous trading. Please see the Web Portal Port Con-trols Specification for more details.

Reject Orders on DROP PortDisconnect?

No Allows Member/Sponsoring Firms to associateDROP port(s) to order entry port(s). If all asso-ciated DROP ports experience disconnection, neworders will be rejected until at least one DROP portsession has been reestablished.

Reject Orders on DROP PortDisconnect?

30 seconds Only applicable if “Reject Orders on DROP PortDisconnect” has been enabled. When the last asso-ciated DROP port has disconnected, begin reject-ing orders on the associated order entry port(s) ifa DROP session has not been reestablished withinthis timeout. Minimum value allowed is 0 seconds.

Cancel Open Orders on DROPPort Disconnect?

No Only applicable if “Reject Orders on DROP PortDisconnect” has been enabled. When the last as-sociated DROP port has disconnected, cancel allassociated open orders.

Suppress Cancels on SessionClose

No Suppress system generated cancels at the regularmarket and session close. Also functional duringearly close sessions.

10If the disconnection occurs during the cut-off period for an auction, on-open, on-close, and late orders that are to participate inthe auction will not be cancelled.

Bats Global Markets c© 2008–2017 103

Page 104: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Notional Cutoff AggregationMethods?

None Gross exposure = CBB + CBO + CEB + CEONet exposure = |(CEO + CBO)− (CEB + CBB)|

On a given port, Bats will calculate and track fourvalues:

CBB (Cumulative Notional Booked Bid Value):The sum of limit price × size for all bookedbuy limit orders.

CBO (Cumulative Notional Booked Offer Value):The sum of limit price × size for all bookedsell limit orders.

CEB (Cumulative Notional Executed Bid Value):The sum of size × trade price for all executedbuy orders.

CEO (Cumulative Notional Executed Sell Value):The sum of size × trade price on all executedsell orders.

Gross Daily Risk Limit OrderNotional Cutoff?

None Results in rejects for limit orders when gross expo-sure of limit orders exceeds this value for this port.Maximum whole dollar value of $1 billion/port.

Gross Daily Risk Market OrderNotional Cutoff?

None Results in rejects for market orders when gross ex-posure of limit orders exceeds this value for this port.Maximum whole dollar value of $1 billion/port.

Net Daily Risk Limit Order No-tional Cutoff?

None Results in rejects for limit orders when net expo-sure of limit orders exceeds this value for this port.Maximum whole dollar value of $1 billion/port.

Net Daily Risk Market OrderNotional Cutoff?

None Results in rejects for market orders when net expo-sure of limit orders exceeds this value for this port.Maximum whole dollar value of $1 billion/port.

Default Attributed Quote?† (see description) Default value for AttributedQuote. May only over-ride on the order level after executing AttributionAddendum to the Exchange User Aggrement. Oncethe Addendum has been executed, may default toYes or No by contacting the Bats Trade Desk. ForBZX Options, defaults to Never. For EDGX Op-tions, defaults to Yes.

Crossed MarketCancel/Reject

No Reject new orders when the NBBO in the securityis crossed. Routable orders will have any remainingquantity cancelled back when the order returns tothe book. Order modifications which cause a lossin priority will result in a cancel of the original orderif the NBBO is crossed upon receipt of the modifyrequest.

Bats Global Markets c© 2008–2017 104

Page 105: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Send Peg Restatements Option 1 Send restatements for Peg order movements.

1. No Peg restatements (default).

2. Market Maker Peg orders only.

3. All Peg orders except Market Maker Peg or-ders.

4. All Peg orders.

Default to Retail Order†%∧ None Default ExtExecInst = R or P.Duplicative OrderProtection Time Threshold

None Time window, in seconds, for Duplicative OrderProtection Check.

Duplicative Order ProtectionOrder Count Threshold

None Number of orders with the same ClearingFirm,Price, OrdQty, and Symbol that must be seenwithin the Duplicative Order Time Threshold to ini-tiate Duplicative Order Protection Action.

Duplicative OrderProtection Action

Option 1 Action taken when Duplicative Order Protection cri-teria is met:

1. Not enabled.

2. Reject new orders for the remainder of Du-plicative Order Time Threshold.

3. Disable port for ClearingFirm. Must call BatsTrade Desk to re-enable.

Firm Risk Reset Disabled Configures how risk may be reset after a risk trip.

1. Disabled (default): Will require manually re-setting all Firm Level Risk trips by contactingthe Trade Desk.

2. Enabled: will allow Firm Level Risk resets us-ing FIX or BOE RiskReset field of FIRM orBOTH.

?Sponsored Participants require written approval from Sponsors to update these settings on ports associated witha Sponsor’s MPID.†Port attribute can be overridden on an order-by-order basis.∧Requires certification.

11 Support

Please email questions or comments regarding this specification to [email protected].

Bats Global Markets c© 2008–2017 105

Page 106: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

Revision History

January 27, 2017 Version 2.2.5Added new message types and fields to support purge ports. Includes PurgeOrders V2, Purge Rejected V2, and supporting fields. Modified NewOrder V2 message input bitfields to include the optional CustomGroupID field.Effective Date March 1, 2017. Added RoutingFirmID to Modify Order V2 andCancel Order V2 messages.

January 24, 2017 Version 2.2.4Added support for MIAX Pearl routing. Added 2 (Qualified Contingent Cross) asan acceptable CrossType for New Order Cross messages. Effective Date TBD.

December 15, 2016 Version 2.2.3Removed RoutingInst value of C (Book Only WAIT order). Clarified which Routin-gInst values are allowed for Bulk Orders. Added port param for rejecting MMcapacity orders if Cancel on Disconnect is disabled.

November 11, 2016 Version 2.2.2Added new SubLiquidityIndicator of b for Bats Auction Mechanism. Updated Dis-play Price Sliding to indicate it is BZX only. Added clarification that ClearingAc-count is required when Capacity is M or N.

October 4, 2016 Version 2.2.1Add RoutingFirmID as a valid field for single order messages.

September 2, 2016 Version 2.2.0Add new message types and fields to support cross orders (EDGX Only). In-cludes New Order Cross, Cross Order Acknowledgment, Cross Or-der Rejected, Cross Order Cancelled, and supporting fields. Effective11/11/2016.

August 17, 2016 Version 2.1.15Corrected ExDestination value of EDGX Options to be G.

August 3, 2016 Version 2.1.14WAIT orders will be eliminated upon migration of BZX Options to its next gen-eration matching engine. Refer to Release Notes on Bats’ public web site fordeployment schedule.

June 28, 2016 Version 2.1.13Added new SubLiquidityIndicator of B for Step Up Mechanism.

June 10, 2016 Version 2.1.12Display Price Sliding support eliminated for EDGX Options effective July 11, 2016.

May 16, 2016 Version 2.1.11Added new field AuctionID and added S as a possible second character for Routin-gInst, along with information about the Step-Up Mechanism (SUM). AuctionIDreplaced EffectiveTime in New Order V2 and all of the return bitfields.

March 23, 2016 Version 2.1.10Updated description of RoutStrategy to state that routable ISOs must be sent usingDIRC. Updated the minimum value of “Reject Orders on DROP Port Timeout” tobe 0 seconds.

February 25, 2016 Version 2.1.9Added new RestatementReason value of P.

February 17, 2016 Version 2.1.8Updated for new branding.

January 19, 2016 Version 2.1.7Added Mercury as possible ExDestination and ContraBroker value.

Bats Global Markets c© 2008–2017 106

Page 107: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

December 24, 2015 Version 2.1.6Updated description of TargetPartyID and Capacity for revised directed order func-tionality. Added Firm Risk Reset port attribute. Effective TBD. Updated descrip-tion of ClearingFirm.

November 11, 2015 Version 2.1.5Updated Pre-Market Queuing Session time to 7:30am, beginning December 11,2015, pending SEC approval.

October 31, 2015 Version 2.1.4Corrected values for MarketingFeeCode. Changed text to note that TargetPartyIDis simply copied back on all response messages.

October 27, 2015 Version 2.1.3Added EDGX as possible ContraBroker value.

October 26, 2015 Version 2.1.2Added reason code of T.Updated DisplayIndicator description to note that, per EDGX Options Exchangerules, Display Price Sliding may not be combined with the Post Only instruction.

June 23, 2015 Version 2.1.1Added Duplicative Order Protection port attributes.

June 23, 2015 Version 2.1.0Updated for EDGX Options. Added new fields TargetPartyID and Market-ingFeeCode. Updated descriptions to note which fields are BZX Options or EDGXOptions specific.

June 10, 2015 Version 2.0.18Added Reason Code value of T.

February 19, 2015 Version 2.0.17Added new Capacity values of N, B, and J, effective June 1, 2015.

January 8, 2015 Version 2.0.16Corrected Order Execution V2 return bitfields to note that SubLiquidityIndi-cator is not allowed—it’s already available in the message body.Minor correction of PreventMatch text (no functional change).

November 13, 2014 Version 2.0.15Corrected New Order V2 input bitfields to note that DisplayIndicator is per-mitted.

October 10, 2014 Version 2.0.14Clarified ability to reuse ClOrdId with Modify Orders when daily limit tradingrisk controls are enabled.

September 9, 2014 Version 2.0.13Removed AccessFee from Order Execution V2 allowed return bitfields.

September 8, 2014 Version 2.0.12Removed ContraBroker from List of Optional fields.

September 3, 2014 Version 2.0.11Removed SymbolSfx from allowed fields for New Order V2.Removed DiscretionAmount and PartyID from allowed return bitfields for a numberof messages.Corrected data type for AcceptedCount and RejectedCount to be Binary (notText).Corrected data type for BulkOrderRejectReasons and OrderRejectReason to beText (not Binary).Removed AccessFee from allowed return bitfields for Order Restated V2.Added clarification on BulkOrderIDs, AskOrderID, and BidOrderID.Added clarification on BulkRejectReasons, AskRejectReason and BidRejectReason.

Bats Global Markets c© 2008–2017 107

Page 108: Bats Options Exchanges Binary Order Entry Speci cationcdn.batstrading.com/...Options_BOE_Specification.pdfBats Options Exchanges Binary Order Entry Speci cation Version 2.2.5 January

August 28, 2014 Version 2.0.10Corrected Bulk Order V2 input bitfields.

August 26, 2014 Version 2.0.9Added Reason Code of w (Would Remove on Unslide).

August 22, 2014 Version 2.0.8Added Super Aggressive When Odd Lot RoutingInst value.

August 15, 2014 Version 2.0.7Added field descriptions for RoutStrategy, ExDestination, and StopPx.

July 9, 2014 Version 2.0.6Corrected instances where ContraCapacity and CorrectedSize may be requested asoptional return fields.

July 7, 2014 Version 2.0.5Removed all return bits from User Modify Rejected V2 messages. No op-tional return fields are allowed.Corrected a number of optional return bits.Added RoutingInst, RoutStrategy, RouteDeliveryMethod, and ExDestination asoptional return bits (byte 8).

July 3, 2014 Version 2.0.4Added field descriptions for FeeCode and EchoText.

July 1, 2014 Version 2.0.3Added Hours of Operations section. Corrected Cancel on Disconnect options.

June 16, 2014 Version 2.0.2First public release of US Options BOE Version 2 specification.

Bats Global Markets c© 2008–2017 108