BBAE FIX 4.2 Interface Specification
FIX Interface Specification
Overview
The BBAE FIX Trading Platform provides institutional users with a high-performance, direct connectivity solution for the management and execution of trades in US Equities and Exchange-Traded Funds (ETFs). This interface is strictly dedicated to fulfilling orders for associated investor accounts.
Core Functionality and Scope
The BBAE FIX Trading Platform is an Order Entry and Management System that supports single-leg and restricted multi-leg trading workflows. The primary scope of the platform is to accept, manage, and report the lifecycle of client orders.
Supported Order Management Workflow
The platform provides a complete transaction lifecycle via the following message types:
Message Name | FIX MsgType | Functionality |
|---|---|---|
New Order |
| Submission: Accepts Single-Leg (Equities, Options) and Multi-Leg (Options) orders. |
Order Control |
| Modification: Accepts requests for Cancel ( |
Execution Reporting |
| Reporting: Provides real-time status changes and execution details ( |
Critical Constraints and Limitations
The following constraints are non-negotiable and apply to the client’s use of the BBAE FIX Trading Platform:
A. Multi-Leg (Strategy) Order Restrictions (MsgType AB and AC)
Multi-Leg orders are severely restricted to ensure system stability and compliance:
- Leg Count: Must contain exactly two (2) option legs.
- Time in Force (TIF): Must be submitted as a Day Order (
TimeInForce=0). GTC is not supported. - Trading Session: Must be submitted to the Core Market (
TradingSessionID=C). - Iceberg Orders: Not supported; the
MaxFloor(111) tag must be omitted. - Modification: The underlying strategy structure, security identification, TIF, and session cannot be modified during a Cancel/Replace (
AC).
B. Single-Leg Order Constraints (MsgType D and G)
- Supported Products: Common Stock (
CS) and Simple Options (OPT). - TIF: Supports Day (
0) and GTC (1). - Order Types: Supports Market (
1), Limit (2), Stop (3), Stop Limit (4), and Market on Close (5). - Iceberg Adjustment Rule: When replacing an order (
G), the system will automatically setMaxFloor(111) equal toOrderQty(38) if the new quantity is less than 100. The client cannot manually modifyMaxFloor.
Execution and Error Reporting
The platform provides definitive feedback on all order activity:
- Execution Report (
8): This is the mandatory response for all state changes, including new orders, fills, and final statuses (Canceled, Filled, Rejected). It usesExecType(150) andOrdStatus(39) to define the specific event and the order’s resulting state. - Order Cancel Reject (
9): This message is used exclusively to confirm that a Cancel (F) or Cancel/Replace (G/AC) request failed to process, and the original order remains active and unmodified.
Operational Hours
We accept New Order submissions 24 hours a day, 7 days a week (24/7). Cancel and Cancel/Replace requests are accepted starting at 7:30 AM ET.
Crucial Quantity Constraint
The BBAE FIX platform strictly requires submissions to utilize whole shares only.
- Order submissions must specify exact, whole share quantities.
- The platform does not currently support the submission of fractional (partial) shares or orders based on notional dollar amounts. Any order submitted with non-whole share quantities will be rejected.
Trading Specifications
Supported Instruments
We support trading in US Equities, ETFs, and Stock Options. Certain equities are prohibited from trading due to compliance or internal risk reasons. Users must refer to our dedicated Symbol API for the most current list of supported symbols. Please note that this list may be subject to real-time changes.
Supported Order Types and Constraints
The BBAE FIX Trading Platform (FTE) supports a defined set of order types, with specific limitations applied based on the complexity of the trade (Single-Leg vs. Multi-Leg) and the transaction intent (Open vs. Close).
- Limit Order: Supported for all order scenarios, including Single-Leg, Multi-Leg (strategies), Open, and Close transactions.
- Market Order: Prohibited for Multi-Leg Open orders. Supported for all other transactions (Single-Leg Open, Single-Leg Close, Multi-Leg Close)
- Stop Order: Strictly limited to Single-Leg submissions. Multi-Leg Stop Orders are not supported.
- Stop Limit Order: Strictly limited to Single-Leg submissions. Multi-Leg Stop Orders are not supported.
- Market On Close: Only supported for Single-Leg submissions. Must be a closing transaction (
PositionEffect=Cor equivalent). Opening orders are strictly forbidden.
Time In Force
- Day: Valid only for the current trading day.
- GTC: Good-Til-Cancelled. Orders are valid for a maximum of 90 days from submission. GTC orders are not allowed for instruments that are permitted to be filled during Pre-Market, Post-Market, or Overnight Market sessions.
Trading Sessions
- Core Market
- Pre/Post Market
- Overnight Market: Not Supported at this time.
Option Strategy Mapping
- Long Call/Put
- Naked Put
- Covered Call/Put: We do not support the creation of Covered strategies via Multi-Leg orders. The system performs the mapping automatically based on your existing equity positions. Naked Call Restriction: Submission of a Sell to Open Call option without sufficient Long Equity positions will result in immediate rejection of the order.
- Calendar / Diagonal Spreads
- Vertical Debit / Credit Spreads
- Straddles, Rolling Options, and any strategy requiring three or more legs (e.g., Butterflies, Condors) are not supported at this time.
Symbology
Equities Symbology:
Tag 55 (Symbol) and 65 (SymbolSfx) must be populated with the instrument being traded, which is identified by its common ticker symbol.
Security Categorization | CMS Suffix to be received in Tag65 |
Preferred | PR |
Preferred Class “A”* | PRA |
Preferred Class “B”* | PRB |
Class “A”* | A |
Class “B”* | B |
Preferred when distributed | PRWD |
When distributed | WD |
Warrants | WS |
Warrants Class “A”* | WSA |
Warrants Class “B”* | WSB |
Called | CL |
Class “A” Called* | ACL |
Preferred called | PRCL |
Preferred “A” called* | PRACL |
Preferred “A” when issued* | PRAWI |
Emerging Company Marketplace | EC |
Partial Paid | PP |
Convertible | CV |
Convertible called | CVCL |
Class Convertible | ACV |
Preferred (class A) Convertible | PRACV |
Preferred (class A) when Distributed | PRAWD |
Rights | RT |
Units | U |
When issued | WI |
Rights when issued | RTWI |
Preferred when issued | PRWI |
Class “A” when issued* | AWI |
Warrrant when issued | WSWI |
TEST symbol | ZVZZT |
Options Symbology:
BBAE is Options Symbology Initiative (OSI) Compliant and the following FIX fields are required for entering an options order:
Fix Filed | Fix Tag | Value |
|---|---|---|
Ticker | 55 | Options Root. The option root is the first 6 bytes of the 21 byte OSI Option symbol. This is typically the equity root of the option. There are instances where it is not the equity root. An example of this is on corporate actions, in which case the OSI symbol will contain a numeric value at the end of the option root. |
MaturityMonthYear | 200 | YYYYMM |
PutOrCall | 201 | 0 – Put, 1 – Call |
StrikePrice | 202 | Strike Price |
MaturityDay | 205 | DD |
FIX Session Protocol
This section details the subset of the FIX 4.2 Protocol used by the BBAE FIX Trading Platform. The FIX Session Protocol is responsible for maintaining reliable, ordered transport of all application-level messages between the Client and BBAE. Here is the Session Message Descriptions:
MsgType (Tag35) | Name | Description |
0 | Heartbeat | An “I am alive” message sent when there’s been no message for HeartBtInt(30) seconds. |
1 | Test Request | A “please respond” message sent when data has not been received for HeartBtInt (30) seconds. |
2 | Resend Request | Perform the Resend processing first, followed by a ResendRequest of your own in order to fill the incoming messaging gap. |
3 | Reject | An indication that an application level message is associated with a serious error. |
4 | Sequence Reset | A request by the sending application to reset the incoming sequence number on the receiving side. |
5 | Logout | If a message gap was detected, issue a ResendRequest to retrieve all missing messages followed by a Logout message which serves as a confirmation of the logout request. DO NOT terminate the session. |
A | Logon | Must always be the first message transmitted. Authenticate and accept the connection. After sending a Logon confirmation back, send a ResendRequest if a message gap was detected in the Logon sequence number. |
Message Header and Trailer Requirements
The following standard FIX tags must be present in every message transmitted between the Client and BBAE.
Message Header
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
8 | BeginString | R | Identifies the beginning of a new message |
9 | BodyLength | R | Details the message length |
34 | MsgSeqNum | R | Message sequence number |
35 | MsgType | R | Message type. Must be the third field in the message. |
49 | SenderCompID | R | Identifies the Client or Vendor establishing FIX session and routing the FIX messages. |
50 | SenderSubID | O | |
52 | SendingTime | R | Time of message expressed in GMT |
56 | TargetCompID | R | Identifies the Client or Vendor establishing FIX session and routing the FIX messages. |
57 | TargetSubID | O |
Message Trailer
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
10 | CheckSum | R |
FIX Application Protocol Messages
Client to Platform (Order Management)
Message Name | FIX MsgType (Tag 35) | Purpose | Key Constraints |
|---|---|---|---|
New Order Single |
| Submit a single-leg order. | (Specification assumed complete by later messages.) |
New Order Multi-leg |
| Submit a complex options strategy. | Strictly Day Orders (59=0), Core Market (336=C), Max 2 Legs, No Iceberg (omit 111). |
Order Cancel Request |
| Request to cancel an open order. | Identifies order by |
Order Cancel/Replace Request (Single) |
| Modify price/quantity of a single-leg order. | Security ID cannot be modified. |
Order Cancel/Replace Request (Multi-leg) |
| Modify price/quantity of a multi-leg order. | Strategy/Leg structure cannot be modified. |
Platform to Client (Response)
Message Name | FIX MsgType (Tag 35) | Purpose | Key Fields |
|---|---|---|---|
Execution Report |
| Confirms all order state changes (New, Filled, Canceled, Rejected). |
|
Order Cancel Reject |
| Confirms failure to process a Cancel ( | Specifies rejection reason via |
FIX Application Messages Detail
This section describes FIX Application messages used by the BBAE FIX Trading Platform.
Key Definitions: R = Required, O = Optional, C = Conditionally Required.
New Order Single Request
New orders are submitted to the BBAE FIX Trading Platform via the FIX 4.2 New Order Single message (MsgType 35=D). Only the fields listed below are used by the application. Submission of unlisted or additional fields may cause the order to be immediately rejected.
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R | MsgType = D | |
1 | Account | R | Required. A valid, pre-registered sub-account number must be supplied. |
11 | ClOrdID | R | Unique identifier for the order, as required by FIX protocol. Maximum length is 50 characters. |
167 | SecurityType | R | Valid values: |
60 | TransactTime | R | Time of execution/order creation (expressed in UTC (Universal Time Coordinated, also known as “GMT”) |
55 | Symbol | R | Equity/ETF symbol or the root symbol for an option. |
65 | SymbolSfx | O | Optional field. Refer to the Symbology section for usage. |
200 | MaturityMonthYear | C | Required for options. Specifies the expiration date of an option security. Format: YYYYMM. |
205 | MaturityDay | C | Required for options. Used in conjunction with MaturityMonthYear to specify the maturity date. Valid values: 1-31 |
201 | PutOrCall | C | Required for options. Valid values: |
202 | StrikePrice | C | Required for options. Strike price for an option series. |
77 | OpenClose | R | Valid values: |
44 | Price | C | Required when |
99 | StopPx | C | Required when |
54 | Side | R | Valid values: |
38 | OrderQty | R | Number of shares (Equities/ETFs) or contracts (Options). The value must always be positive (>0). |
40 | OrdType | R | Valid Values: |
59 | TimeInForce | R | Absence of this field indicates Day order |
111 | MaxFloor | O | Maximum exposed quantity (shares or contracts) for Iceberg orders. |
336 | TradingSessionID | O | Valid values: |
50081 | IP | R | Required. Custom Tag: Client IP Address. Supports both IPv4 and IPv6 formats. |
50082 | DeviceId | R | Required. Custom Tag: Client Device Identifier. Maximum length is 100 characters. |
10 | Trailer | R |
New Multileg Order Request
New orders are submitted to the BBAE FIX Trading Platform via the FIX 4.2 New Order Multi-leg message (MsgType 35=AB).
Critical Constraints for Multi-Leg Orders:
- Time In Force: Strictly limited to Day Orders (
TimeInForce=0). - Trading Session: Strictly limited to the Core Market (
TradingSessionID=C). - Iceberg Orders: Not Supported (
MaxFloormust be omitted). - Leg Count: Limited to two (2) legs only.
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R | MsgType = AB | |
1 | Account | R | Required. Specifies the valid sub-account number for order attribution. |
11 | ClOrdID | R | Unique identifier for the order as required by FIX protocol. Maximum length is 50 characters. |
167 | SecurityType | R | Valid values: |
60 | TransactTime | R | Time of execution/order creation (expressed in UTC (Universal Time Coordinated, also known as “GMT”) |
55 | Symbol | R | Equity/ETF symbol or the root symbol for the underlying security. |
44 | Price | C | Required when |
38 | OrderQty | R | Number of strategy units (contracts). The value must always be positive (>0) |
40 | OrdType | R | Valid Values: |
59 | TimeInForce | R | Multi-leg orders strictly only support Day orders. |
111 | MaxFloor | NA | This tag is not supported for Multi-Leg Orders and must be omitted. |
336 | TradingSessionID | O | Multi-leg orders are restricted to the core market. |
555 | NoLegs | R | Number of legs in this order. Only two (2) legs are currently supported.. |
Leg Group | Start of repeating group for each leg of the strategy. | ||
654 | LegRefID | R | Unique ID for each leg. Maximum length is 50 characters. |
600 | LegSymbol | R | For the leg: stock symbol or option root symbol. |
601 | LegSymbolSfx | O | Required for Equity legs. Refer to the Symbology section. |
608 | LegCFICode | R | Denotes leg type: |
611 | LegMaturityDate | C | Required for option legs. Full expiration date in: YYYYMMDD |
612 | LegStrikePrice | C | Required for option legs. |
564 | LegPositionEffect | R | Valid values: |
624 | LegSide | R | Valid values: |
623 | LegRatio | R | The ratio of this individual leg relative to the strategy’s base quantity. |
Leg Group | End | ||
50081 | IP | R | Required. Custom Tag: Client IP Address. Supports both IPv4 and IPv6 formats. |
50082 | DeviceId | R | Required. Custom Tag: Client Device Identifier. Maximum length is 100 characters. |
10 | Trailer | R |
Order Cancel Request
The Order Cancel Request message is used to cancel an order previously submitted via either New Order Single (D) or New Order Multi-leg (AB).
Crucial Note: When canceling an order, do not include unnecessary order fields like
Symbol(Tag 55),Side(Tag 54), orOrderQty(Tag 38). The platform identifies the order solely by the original client identifier,OrigClOrdID(Tag 41).
New Order Cancel Requests are submitted to the BBAE FIX Trading Platform via the FIX 4.2 Order Cancel Request message (MsgType 35=F).
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R | MsgType = F | |
1 | Account | O | Optional. Same as the value in New Order. |
11 | ClOrdID | R | Unique identifier for the order as required by FIX protocol. Maximum length is 50 characters. |
41 | OrigClOrdID | R | ClOrdID of the order to be cancelled; not the initial order of the day. |
60 | TransactTime | R | The time this Cancel Request message was created, expressed in UTC (Universal Time Coordinated, also known as “GMT”). |
50081 | IP | R | Required. Custom Tag: Client IP Address. Supports both IPv4 and IPv6 formats. |
50082 | DeviceId | R | Required. Custom Tag: Client Device Identifier. Maximum length is 100 characters. |
10 | Trailer | R |
Order Single Cancel/Replace Request
The Order Cancel/Replace Request is used to modify unexecuted attributes of a previously submitted Single-Leg order (Equities, ETFs, or Options). This message utilizes MsgType 35=G.
Core Principle: Any field intended for modification (e.g., Price, Quantity) must be explicitly provided with the new value. Fields that are omitted will carry over the value from the original order.
Security-identifying tags (e.g., Symbol, MaturityMonthYear, PutOrCall, SecurityType) cannot be modified during a cancel/replace operation. If any of these tags are included in the request, they must exactly match the values of the original order; otherwise, the request will be rejected.
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R | MsgType = G | |
1 | Account | O | Optional. Must match the Account value used in the original order submission. |
11 | ClOrdID | R | Unique identifier for this specific Cancel/Replace Request message. Maximum length is 50 characters. |
41 | OrigClOrdID | R | The |
167 | SecurityType | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
60 | TransactTime | R | The time this Cancel/Replace Request message was created, expressed in UTC (Universal Time Coordinated, also known as “GMT”). |
55 | Symbol | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
65 | SymbolSfx | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
200 | MaturityMonthYear | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
205 | MaturityDay | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
201 | PutOrCall | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
202 | StrikePrice | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
77 | OpenClose | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
44 | Price | C | Required if modifying the price or if the new |
99 | StopPx | C | Required if modifying the Stop Price or if the new |
54 | Side | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
38 | OrderQty | C | Conditionally required when modifying the order quantity. The new quantity must be positive. |
40 | OrdType | C | Conditionally required when modifying the Order Type. If omitted, the Order Type from the original order is maintained. |
59 | TimeInForce | C | Conditionally required when modifying the TIF. If omitted, the TIF from the original order is maintained. |
111 | MaxFloor | O | Mandatory Constraint: The max floor cannot be modified. If the new |
336 | TradingSessionID | O | Mandatory Constraint: The trading session cannot be modified. If provided, the value must exactly match the original order’s |
50081 | IP | R | Custom Tag: Required. Client IP Address. Supports both IPv4 and IPv6 formats. |
50082 | DeviceId | R | Custom Tag: Required. Client Device Identifier. Maximum length is 100 characters. |
10 | Trailer | R |
Multi-Leg Order Cancel/Replace Request
The Multi-leg Order Cancel/Replace Request message is used to modify unexecuted attributes (primarily Price and Quantity) of a previously submitted Multi-Leg strategy order. This message utilizes MsgType 35=AC.
Core Principle: Any field intended for modification must be explicitly provided with the new value. Omitted fields carry over the value from the original order.
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R | MsgType = AC | |
1 | Account | O | Optional. Must match the Account value used in the original order submission. |
11 | ClOrdID | R | Unique identifier for this specific Cancel/Replace Request message. Maximum length is 50 characters. |
41 | OrigClOrdID | R | The |
167 | SecurityType | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
60 | TransactTime | R | The time this Cancel/Replace Request message was created, expressed in UTC (Universal Time Coordinated, also known as “GMT”). |
55 | Symbol | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
44 | Price | C | Required if modifying the strategy price or if the new |
38 | OrderQty | C | Required when modifying the strategy quantity (number of units/contracts). The new value must be positive (>0). |
40 | OrdType | C | Conditionally required when modifying the Order Type. If omitted, the Order Type from the original order is maintained. |
59 | TimeInForce | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
111 | MaxFloor | NA | MANDATORY CONSTRAINT: Iceberg functionality is not supported. This tag MUST be omitted. |
336 | TradingSessionID | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
555 | NoLegs | O | Cannot be modified. If provided, values must exactly match the original order. If omitted, the original value is inherited. |
Leg Group | Start. These attributes (Symbol, Strike, PositionEffect, etc.) are inherited and cannot be changed during replacement. | ||
654 | LegRefID | O | Unique identifier for each individual leg. If provided, the new ID is used; otherwise, the original value is inherited. Maximum length is 50 characters. |
600 | LegSymbol | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
601 | LegSymbolSfx | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
608 | LegCFICode | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
611 | LegMaturityDate | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
612 | LegStrikePrice | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
564 | LegPositionEffect | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
624 | LegSide | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
623 | LegRatio | O | If provided, values must exactly match the original order. If omitted, the original value is inherited. |
Leg Group | End | ||
50081 | IP | R | Custom Tag: Required. Client IP Address. Supports both IPv4 and IPv6 formats. |
50082 | DeviceId | R | Custom Tag: Required. Client Device Identifier. Maximum length is 100 characters. |
10 | Trailer | R |
Execution Report
The Execution Report (MsgType 35=8) is the primary response message sent from the BBAE FIX Trading Platform to the Client. It is used to confirm various events, including the initial receipt of an order, status changes, partial fills, full fills, and rejections.
Execution Reporting Principle: Every order and order modification request will trigger at least one Execution Report. The combination of
ExecType(Tag 150) andOrdStatus(Tag 39) defines the state of the order.
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R | MsgType = 8 | |
1 | Account | R | The sub-account number from the original order submission. |
11 | ClOrdID | R | The Client Order ID from the submission (New, Cancel, or Cancel/Replace) that prompted this report. Maximum length is 50 characters. |
41 | OrigClOrdID | C | Required when the report is related to a Cancel ( |
37 | OrderID | R | BBAE’s unique, internal identifier for this order. This ID is persistent throughout the order’s life. |
17 | ExecID | R | Unique identifier for this specific Execution Report. Changes with every report sent for an order. |
19 | ExecRefID | C | Required for trade busts or corrections ( |
20 | ExecTransType | R | Specifies the nature of the transaction. Valid values: |
150 | ExecType | R | The reason the report was generated. Valid Values: |
39 | OrdStatus | R | The current state of the order. Valid Values: |
167 | SecurityType | R | Security type of the original order. Valid values: |
55 | Symbol | R | Equity or option root symbol. |
65 | SymbolSfx | O | Optional field. Refer to Symbology section. |
200 | MaturityMonthYear | C | Required for options. Specifies expiration date of an option security. Format: YYYYMM. |
205 | MaturityDay | C | Required for options. Used in conjunction with MaturityMonthYear to specify the maturity date. Valid values: 1-31 |
201 | PutOrCall | C | Required for options. Valid values: |
202 | StrikePrice | C | Required for options. Strike price for an option series. |
77 | OpenClose | R | The original position effect of the order. Valid values: |
44 | Price | O | The session the order was submitted. Valid values: |
99 | StopPx | O | Stop Price of the order if |
54 | Side | R | The original side of the order. |
38 | OrderQty | R | The total quantity (shares/contracts) of the order, reflecting the original or latest replaced amount. |
40 | OrdType | R | The Order Type of the order. Only supports: |
59 | TimeInForce | R | The Time In Force of the order. Only supports: |
336 | TradingSessionID | R | The session the order was submitted to. Valid values: |
32 | LastQty | C | The quantity (shares/contracts) executed in this specific report. Required for fills. |
31 | LastPx | C | The price of the execution in this specific report. Required for fills. |
151 | LeavesQty | R | The quantity of the order that remains unexecuted. |
14 | CumQty | R | The total cumulative executed quantity for this order since submission. |
6 | AvgPx | R | The cumulative weighted average price of all fills for this order. |
58 | Text | O | Descriptive text (e.g., rejection reasons, status details). |
60 | TransactTime | R | The timestamp of the execution or status change on the platform, expressed in UTC. |
654 | LegRefID | C | Required for Multi-leg orders (MsgType AB). Unique ID for each leg. |
10 | Trailer | R |
ExecType (Tag 150) Value Table
ExecType (Tag 150) | Description | Corresponding OrdStatus (Tag 39) | Notes |
|---|---|---|---|
| New |
| Initial acceptance of a new order or a replacement. |
| Partially filled |
| Confirms a partial fill. ( |
| Filled |
| Confirms a full fill. ( |
| Canceled |
| Order was successfully canceled. |
| Replaced |
| Order was successfully modified. |
| Pending Cancel |
| Acknowledgement that a cancel request is awaiting processing. |
| Rejected |
| Order was rejected by the system. |
| Pending Replace |
| Acknowledgement that a replace request is awaiting processing. |
OrdStatus (Tag 39) Value Table
ExecType (Tag 150) | Description | Corresponding OrdStatus (Tag 39) | Notes |
|---|---|---|---|
| New |
| Initial acceptance of a new order or a replacement. |
| Partially filled |
| Confirms a partial fill. ( |
| Filled |
| Confirms a full fill. ( |
| Canceled |
| Order was successfully canceled. |
| Replaced |
| Order was successfully modified. |
| Pending Cancel |
| Acknowledgement that a cancel request is awaiting processing. |
| Rejected |
| Order was rejected by the system. |
| Pending Replace |
| Acknowledgement that a replace request is awaiting processing. |
Order Cancel Reject
The Order Cancel Reject (MsgType 35=9) message is sent by the BBAE FIX Trading Platform to the client whenever a previously submitted Order Cancel Request (F) or Order Cancel/Replace Request (G/AC) cannot be processed.
This message confirms that the original order remains in its current state and that the requested change (cancellation or modification) did not occur.
Tag | Field Name | FIX Req’d | Comments |
|---|---|---|---|
Standard Header | R |
| |
1 |
| R | The sub-account number of the order being rejected. |
37 |
| R | BBAE’s unique internal identifier for the order that was targeted by the failed request. |
11 |
| R | The |
41 |
| R | The |
434 |
| R | Identifies the type of request that was rejected. Valid values: |
39 |
| R | The current, unmodified status of the original order (e.g., |
102 |
| O | Code specifying the reason the cancel/replace request was rejected. See Reason Codes table below. |
58 |
| O | Detailed, human-readable description of the rejection. |
60 |
| R | The timestamp when the rejection occurred on the platform, expressed in UTC. Format: |
10 | Trailer | R |
|
CxlRejReason (Tag 102) Value Table
Code | Description | Notes |
|---|---|---|
| Too late to cancel/replace | Order is already processing or in a final state (e.g., filled, expired). |
| Unknown order | The order identified by |
| Order is already in Pending Cancel or Pending Replace status | The order is already in the process of being modified or canceled. |
| Duplication of a previously sent order | The |
| Invalid price or quantity | Replacement request contains a price or quantity that violates market or risk rules. |
| Other | Rejection reason not covered by the standard codes. |