CAT Reporting Technical Specifications for Industry Members

FINRA CAT

Requirements for the reporting of data to CAT by Industry Members

Consolidated Audit Trail, LLC

CAT Reporting Technical Specifications for Industry Members

Message Set Overview

The following table lists all messages described in this report.

Name
Category
Description

AmendedAllocation
Allocation
An Amended Allocation event is used to report to CAT when an allocation is updated such that a CAT reportable attribute is changed after the shares/contracts were originally booked in a customer account, and must always reflect the current state of the allocation. This Reportable Event must capture the entire state of the allocation after it has been amended, even though some of the data elements may remain unchanged.

PostTradeAllocation
Allocation
Industry Members that perform allocations are required to submit a Post-Trade Allocation event to CAT any time shares are allocated to a customer account regardless of whether the Industry Member was involved in executing the underlying order(s). Refer to Section 3.3 for additional information on the requirements for reporting allocation events to CAT.

NewQuote
QuotationNegotiation
The New Quote Event is used to report the following:

NewQuoteSupplement
QuotationNegotiation
The New Quote Supplement event is a supplement to the New Quote event. One New Quote event can have multiple New Quote Supplement events. Multiple New Quote Supplement events are considered as additions, not replacements or modifications.

QuoteCancelled
QuotationNegotiation
Reported when a quote is cancelled. If a quote is cancelled that was sent to by an Industry Member to an Industry Member inter-dealer quotation system, then both the sender of the quote and the inter-dealer quotation system that accepted the quote must report Quote Cancelled events.

QuoteModified
QuotationNegotiation
Reported when a quote is modified, and the venue supports more than one quote per symbol for an Industry Member at one time. If the field onlyOneQuoteFlag field on the related New Quote or Quote Received event is populated as ‘true’, the Quote Modified event must not be used.

QuoteReceived
QuotationNegotiation
The Quote Received event is used to report Quotes in OTC Equity securities received by an Industry Member inter-dealer quotation system.

QuoteStatus
QuotationNegotiation
Reported when the status of a quote is changed to be opened or closed. If a quote that was sent by an Industry Member to an Industry Member inter-dealer quotation system is opened or closed by the Industry Member that sent the quote, then both the sender of the quote and the inter-dealer quotation system that accepted the quote must report Quote Status events.

RoutedQuote
QuotationNegotiation
The Routed Quote Event is used to report the following:

RoutedQuoteSupplement
QuotationNegotiation
The Routed Quote Supplement Event is a supplement to the Routed Quote event. Routed Quote Supplement events are considered as additions to a Routed Quote event, not replacements or modifications. This event accommodates reporting in scenarios where a quote route is rejected by the venue to which it was routed, and the Industry Member chooses to report the quoteRejectedFlag in this separate Routed Quote Supplement event.

ChildOrder
SingleGeneralOrderHandling
The Child Order is used to represent instances when an order is sliced within the desk or department it is being worked, and is assigned a new order identifier. While all CAT reportable activity must be reported to CAT in applicable phases, Child Order events are not required to be utilized for CAT reporting. These event types are for the convenience of Industry Members to help model these types of order handling scenarios.

ChildOrderCancelled
SingleGeneralOrderHandling
If a child order is cancelled, a Child Order Cancelled event must be reported. Partial cancellations may be reported using a Child Order Modified event or Child Order Cancelled event with leavesQty.

ChildOrderModified
SingleGeneralOrderHandling
Industry Members must report a Child Order Modified event to CAT when the Material Terms of the child order have been changed (e.g., price, quantity). All attributes and Material Terms of the modified child order listed on this event must be restated with the modification(s) reflected. A Child Order Modified event may not be used when modifying an Order Internal Route Accepted event.

NewOrder
SingleGeneralOrderHandling
New Order events represent the beginning of the order lifecycle in CAT. An Industry Member must report a New Order event to CAT when an order is received or originated including:

NewOrderSupplement
SingleGeneralOrderHandling
The New Order Supplement event is a supplement to the New Order event. One New Order event can have multiple New Order Supplement events. Multiple New Order Supplement events are considered as additions, not replacements or modifications. This event accommodates reporting in the following scenarios:

OrderAccepted
SingleGeneralOrderHandling
An Order Accepted event must be reported to CAT when an Industry Member receives an order from another CAT Reporter (i.e., Industry Member, ATS or exchange), or from another IMID belonging to the same Industry Member (i.e., the same CRD).

OrderAdjusted
SingleGeneralOrderHandling
An Order Adjusted event must be used when the display price or quantity changes as the result of a Display ATS matching engine action and not from a customer/client instruction. The Order Adjusted event may be used by non-ATS firms instead of an Order Modified event to report changes to the price or quantity of an order.

OrderCancelRequest
SingleGeneralOrderHandling
The Order Cancel Request event is required when a request is received to cancel an order if the request is not captured in the requestTimestamp field of the Order Cancelled event. Industry Members are not required to report an Order Cancel Request event to CAT if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. However, this activity may be required in future phases of CAT.

OrderCancelled
SingleGeneralOrderHandling
The Order Cancelled event is reported when an order is fully or partially cancelled. Partial cancellations of an order may be reported to CAT using an Order Cancelled event or an Order Modified event. However, when routing between Industry Members, both parties must communicate and use the same method to report to CAT. If one party reports to CAT using the cancellation method and the other party reports to CAT using a modification method, this will result in unlinked records that must be resolved.

OrderEffective
SingleGeneralOrderHandling
The Order Effective event is used to indicate that an order, or an underlying condition of an order, has become effective. This event is applicable to orders such as conditional (Refer to FAQ D26), Stop, Stop Limit, Trailing Stop, Trailing Stop Limit, Stop on Quote, and Stop Limit on Quote orders. This event is NOT applicable to Stop Stock transactions. The Order Effective event must be reported by the party that was holding the order at the time the order or condition became effective.

OrderInternalRouteAccepted
SingleGeneralOrderHandling
An Order Internal Route Accepted event must be reported when an order is passed to a different department or desk within the CATReporterIMID. Routes between different IMIDs attributed to the same Industry Member must be reported as Order Route and Order Accepted events.

OrderInternalRouteCancelRequest
SingleGeneralOrderHandling
Industry Members must report an Order Internal Route Cancel Request event to CAT when a desk within the firm receives a request to cancel an internal route if the request is not captured in the requestTimestamp field of the Order Internal Route Cancelled event.

OrderInternalRouteCancelled
SingleGeneralOrderHandling
If an internal route is cancelled, an Order Internal Route Cancelled event must be reported. Partial cancellations may be reported using an Order Internal Route Modified event or Order Internal Route Cancelled event with leavesQty.

OrderInternalRouteModificationRequest
SingleGeneralOrderHandling
Industry Members must report an Order Internal Route Modification Request event to CAT when a desk within the firm receives a request to modify the Material Terms of an internal route if the request is not captured in the requestTimestamp field of the Order Internal Route Modified event. All attributes and Material Terms of the modified internal route listed on this event must be restated with the requested modification(s) reflected.

OrderInternalRouteModified
SingleGeneralOrderHandling
Industry Members must report an Order Internal Route Modified event to CAT when the Material Terms of the internal route have been changed (e.g., price, quantity). All attributes and Material Terms of the modified internal route listed on this event must be restated with the modification(s) reflected.

OrderModificationRequest
SingleGeneralOrderHandling
The Order Modification Request event is required when a request is received to modify the Material Terms of an order if the request is not captured in the requestTimestamp field of the Order Modified event. Industry Members are not required to report an Order Modification Request event to CAT if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. However, this activity may be required in future phases of CAT.

OrderModified
SingleGeneralOrderHandling
Industry Members must report an Order Modified event to CAT when the Material Terms of an order have been changed (e.g., price, quantity) or when an order is cancel/replaced. All attributes and Material Terms of the modified order listed on this event must be restated with the modification(s) reflected. If the order is a representative order, the aggregatedOrders field must be restated every time the order is modified or cancel/replaced. Changes to the orders being represented in the aggregatedOrders field are considered a modification to the order. The side field is required to be reported, but side adjustments are only allowed for same-side changes, including changes between Short Sale and Sell Long.

OrderModifiedSupplement
SingleGeneralOrderHandling
The Order Modified Supplement event serves as a supplement to the Order Modified event, just as the New Order Supplement event serves as a supplement to the New Order event.

OrderRoute
SingleGeneralOrderHandling
Industry Members are required to report an Order Route event to CAT in the following scenarios when an order is routed in full or in part:

OrderRouteSupplement
SingleGeneralOrderHandling
The Order Route Supplement event is a supplement to the Order Route event. Order Route Supplement events are considered as additions to an Order Route event, not replacements or modifications. This event accommodates reporting in scenarios where a route is rejected by the venue to which an order was routed, and the Industry Member chooses to report the routeRejectedFlag in this separate Order Route Supplement event.

RouteCancelled
SingleGeneralOrderHandling
Industry Members must report a Route Cancelled event to CAT when a route has been fully or partially cancelled. Partial cancellations of a route may be reported to CAT using a Route Cancelled event or a Route Modified event. However, when routing between Industry Members, both parties must communicate and use the same method to report to CAT. If one party reports to CAT using the cancellation method and the other party reports to CAT using a modification method, this will result in unlinked records that must be resolved.

RouteCancelledSupplement
SingleGeneralOrderHandling
The Route Cancelled Supplement event is a supplement to the Route Cancelled event. Route Cancelled Supplement events are considered as additions to a Route Cancelled event, not replacements or modifications. This event accommodates reporting in scenarios where a route cancellation is rejected by the venue to which the route cancellation was sent, and the Industry Member chooses to report the routeRejectedFlag in this separate Route Cancellation Supplement event.

RouteModified
SingleGeneralOrderHandling
Industry Members must report a Route Modified event to CAT when the Material Terms of a route have been changed (e.g., price, quantity), or when a route is cancel/replaced.

RouteModifiedSupplement
SingleGeneralOrderHandling
The Route Modified Supplement event is a supplement to the Route Modified event. Route Modified Supplement events are considered as additions to a Route Modified event, not replacements or modifications. This event accommodates reporting in scenarios where a route modification is rejected by the venue to which the route modification was sent, and the Industry Member chooses to report the routeRejectedFlag in this separate Route Modified Supplement event.

OrderFulfillment
TradeCapture
The Order Fulfillment event is used to report the execution of a customer/client order that is not required to be reported for public dissemination purposes. Order Fulfillment events are required in scenarios where:

OrderFulfillmentAmendment
TradeCapture
This CAT event is used to report the amendment of a previously reported fulfillment that occurs on the same day or on a subsequent day. An Order Fulfillment Amendment event is required to be reported to CAT if the fill to the customer/client was changed after the final fulfillment had been provided to the customer/client. This Reportable Event must capture the entire state of the fulfillment after it has been amended, even though some of the data elements may remain unchanged. However, Side Details are only required to be restated if changed. When the fulfillmentLinkType value ‘YS’ is used, Side Details must be restated using an MEOFS event if changed.

OrderFulfillmentSupplement
TradeCapture
The tables below describe the data elements used to report a customer/client order filled from multiple representative orders. Only one orderID may be represented in each Order Fulfillment Supplement event. If multiple representative orders were used to fill a customer/client order, the orderID for each representative order must be populated in its own Order Fulfillment Supplement event.

Trade
TradeCapture
A Trade Event is used when the Industry Member acts as the executing broker and is required to report the trade for public dissemination purposes. When an Industry Member is not required to report the execution of a customer/client order for public dissemination purposes, with the exceptions noted below, an Order Fulfillment event must be used. See Section Order Fulfillment for more details.

TradeSupplement
TradeCapture
The tables below describe the data elements used to report when there is more than one order associated with one side of the trade.

AmendedAllocation

Category: Allocation

Message Functionality

An Amended Allocation event is used to report to CAT when an allocation is updated such that a CAT reportable attribute is changed after the shares/contracts were originally booked in a customer account, and must always reflect the current state of the allocation. This Reportable Event must capture the entire state of the allocation after it has been amended, even though some of the data elements may remain unchanged.

Changes to CAT reportable attributes of an allocation after the original booking of shares/contracts are required to be reported to CAT as either an Allocation Amendment event or the cancellation of a Post-Trade Allocation event followed by a new Post-Trade Allocation event regardless if they occur pre-settlement or post-settlement.

Since changes to an allocation may occur any time after the original booking, the Amended Allocation event is due at 8AM on the next CAT Trading Day after the change was booked, even if it is on a different day than the original Allocation event. Refer to CAT FAQ U14 for additional information.

Amended Allocation events must not be reported to CAT in scenarios where: • An Industry Member makes a correction via a debit/credit to the customer's/client’s account instead of modifying the allocation given to the customer/client. • Changes do not impact CAT reportable attributes of the allocation.

Any changes to the FDID that the shares/contracts were originally booked to may be reported as either an Amended Allocation event or the cancellation of a Post-Trade Allocation event followed by a new Post-Trade Allocation event regardless if they occur pre-settlement or post-settlement.

Amended Allocation events must not be used to correct ingestion errors on a previously submitted MEPA/MEAA event.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEAA

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT.

allocationKeyDate
[1..1]
Timestamp
When a new Allocation Key is assigned, the date and time the allocationID was assigned. When a new Allocation Key is not assigned, the allocationKeyDate of the allocation event being modified.

allocationID
[1..1]
Text
When a new Allocation Key is assigned, the internal allocation ID assigned to the allocation event by the Industry Member. Must be unique within allocationKeyDate, CATReporterIMID, and symbol combination. When a new Allocation Key is not assigned, the allocationID of the allocation event being modified.

priorAllocationKeyDate
[0..1]
Timestamp
In cases when a new allocationID is assigned, the priorAllocationKeyDate is the allocationKeyDate of the allocation event that is being modified. Required if priorAllocationID is populated.

priorAllocationID
[0..1]
Text
If a new allocation ID is assigned, this is the allocationID of the event being modified.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time the time the allocation amendment was processed. Timestamp must be reported to seconds or a finer increment up to nanoseconds.

quantity
[1..1]
RealQuantity
Quantity being allocated.

price
[1..1]
Price
Price of the allocated shares. Must be greater than or equal to zero.

side
[1..1]
CodeSet
The side of customer receiving the allocation.

firmDesignatedID
[1..1]
Text
The FDID of the account receiving the allocation, including subaccounts. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

institutionFlag
[1..1]
CodeSet
Indicates if the account meets the definition of institution under FINRA Rule 4512(c).

tradeDate
[1..1]
Date
The trade date of the securities being allocated. Used to validate the symbol field on this event.

settlementDate
[0..1]
Date
The settlement date of the securities being allocated. Not required for when-issued securities.

allocationType
[1..1]
CodeSet
Indicates the type of allocation being made (e.g., custody, DVP, step out, correspondent flip).

DVPCustodianID
[0..1]
Text
Required when allocationType is ‘DVP’ or ‘DVPF’. If the custodian is a US broker-dealer, this field must be populated with the clearing number of the custodian. If the custodian is a bank and is not a registered broker-dealer, this field must be populated with the DTC number of the bank. If there is no clearing number or DTC number, this field must be populated with a value of ‘FOREIGN’. Refer to CAT FAQ U19 for additional guidance.

correspondentCRD
[0..1]
Unsigned
The CRD number of the related Introducing Broker or Correspondent firm, if applicable.

newOrderFDID
[0..1]
Text
The FDID of the related New Order event, if available in the booking system. Requirements for populating this field may be expanded in future phases of CAT.

allocationInstructionTime
[0..1]
Timestamp
The date/time the time the allocation amendment instruction was received.

cancelFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the allocation was cancelled.

cancelTimestamp
[0..1]
Timestamp
When cancelFlag is ‘true’, the time at which the allocation was cancelled.

retiredFieldPosition1
[0..1]
Text
Field position is retired and must remain blank.

accountHolderType
[1..1]
CodeSet
Represents the type of beneficial owner of the account to which the shares were allocated.

ChildOrder

Category: SingleGeneralOrderHandling

Message Functionality

The Child Order is used to represent instances when an order is sliced within the desk or department it is being worked, and is assigned a new order identifier. While all CAT reportable activity must be reported to CAT in applicable phases, Child Order events are not required to be utilized for CAT reporting. These event types are for the convenience of Industry Members to help model these types of order handling scenarios.

Child Order events are defined to include only the key data elements that may be changed when the event is created including fields to link to the parent order. The following rules apply with respect to Child Orders:

Child Order events can only be reported when new order IDs are assigned within the same desk. An Order Internal Route Accepted event must be reported when routed to another desk.

A child order may be generated off of another child order without limitation.

Child Order events must belong to the same FDID as the parent order. Child Orders must not be used to create representative orders. If the FDID changes, a representative New Order event must be reported and not a Child Order.

Child Order events must not be used to represent a multi-leg option order being “legged out”. However, the Child Order event may be used in scenarios where an order is “legged out” and subsequently entered into another OMS/EMS or Algo within the same desk or department where a new orderID is assigned to each leg upon entry.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MECO

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The date and time the orderID was assigned.

orderID
[1..1]
Text
The internal order ID assigned to the child order by the Industry Member. Must be unique with the orderKeyDate, CATReporterIMID, and symbol combination.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

parentOrderKeyDate
[1..1]
Timestamp
The orderKeyDate of the event from which the Child Order originated.

parentOrderID
[1..1]
Text
The orderID of the event from which the Child Order originated. The parentOrderID must not be equal to the orderID within the record.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time at which the child order was originated. Timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The Child order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

orderType
[1..1]
CodeSet
The type of order.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price for this order. When provided, must be greater than or equal to zero. If atsDisplayInd is ‘Y’, ‘S’, or ‘A’, displayPrice must be the price at which the order was displayed. If the atsDisplayInd is ‘N’, displayPrice must be “0”.

workingPrice
[0..1]
Price
The working price of the order at the time it was originated or received. When provided, must be greater than or equal to zero. If no current workingPrice, value must be “0”.

displayQty
[0..1]
WholeQuantity
The displayed quantity for this order. If the atsDisplayInd is populated as ‘Y’, ‘S’, or ‘A’, displayQty must be the quantity at which the order was displayed. If the atsDisplayInd is ‘N’, displayQty must be “0”.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

multiLegInd
[1..1]
CodeSet
Indicates when the Child Order was originated from a multi-leg order event. Refer to Section 5.2 for additional guidance.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

ChildOrderCancelled

Category: SingleGeneralOrderHandling

Message Functionality

If a child order is cancelled, a Child Order Cancelled event must be reported. Partial cancellations may be reported using a Child Order Modified event or Child Order Cancelled event with leavesQty.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MECOC
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
orderKeyDate | [1..1] | Timestamp | The orderKeyDate of the Child Order event which is being cancelled.
orderID | [1..1] | Text | The orderID of the Child Order event which is being cancelled.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time at which the child order was cancelled (e.g., the time that the child order was confirmed to be cancelled in the firm’s OMS/EMS). Timestamp must be reported to milliseconds or a finer increment up to nanoseconds.
side | [1..1] | CodeSet | The side of the order.
cancelQty | [1..1] | RealQuantity | The quantity of the Child order being cancelled.
leavesQty | [1..1] | RealQuantity | The number of shares of the Child Order left open after the cancellation. Full cancellation will result in a zero in this field.
reservedForFutureUse | [0..1] | Text | Field is Reserved for Future Use and must remain blank.
seqNum | [0..1] | Alphanumeric | The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

ChildOrderModified

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report a Child Order Modified event to CAT when the Material Terms of the child order have been changed (e.g., price, quantity). All attributes and Material Terms of the modified child order listed on this event must be restated with the modification(s) reflected. A Child Order Modified event may not be used when modifying an Order Internal Route Accepted event.

Industry Members may assign a new Order Key to Child Order Modified events. If a unique orderID is assigned, the priorOrderID must be populated with the orderID of the Child Order event that is being modified, and the priorOrderKeyDate must be populated.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MECOM

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
When a new Order Key is assigned, the date and time the orderID was assigned. When a new Order Key is not assigned, the orderKeyDate of the Child Order event which is being modified.

orderID
[1..1]
Text
When a new Order Key is assigned, the internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When a new Order Key is not assigned, the orderID of the Child Order being modified.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

priorOrderKeyDate
[0..1]
Timestamp
If a new Order ID has been assigned, this is the orderKeyDate of the event being modified.

priorOrderID
[0..1]
Text
If a new Order ID has been assigned, this is the orderID of the event being modified. When populated, the priorOrderID must not be equal to the orderID within the record.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time at which the child order was modified (e.g., the time that the child order was confirmed to be cancelled in the firm’s OMS/EMS). Timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The Child order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Must be > 0.

leavesQty
[1..1]
RealQuantity
The number of shares of the Child Order left open after the modification has occurred. Must be less than or equal to quantity.

orderType
[1..1]
CodeSet
The type of order.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price of this order. When provided, must be greater than or equal to zero. If atsDisplayInd is ‘Y’, ‘S’, or ‘A’, displayPrice must be the price at which the order was displayed. If the atsDisplayInd is ‘N’, displayPrice must be “0”.

workingPrice
[0..1]
Price
The working price of the order at the time it was originated. When provided, must be greater than or equal to zero. If no current workingPrice, value must be “0”.

displayQty
[0..1]
WholeQuantity
The displayed quantity of the order. If the atsDisplayInd is populated as ‘Y’, ‘S’, or ‘A’, displayQty must be the quantity at which the order was displayed. If the atsDisplayInd is ‘N’, displayQty must be “0”.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was routed. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was routed. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was routed. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was routed. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

NewOrder

Category: SingleGeneralOrderHandling

Message Functionality

New Order events represent the beginning of the order lifecycle in CAT. An Industry Member must report a New Order event to CAT when an order is received or originated including:

New customer orders

Representative orders

Proprietary orders

Order(s) received from a foreign broker-dealer or affiliate that is not a CAT Reporter.

An order received from another CAT Reporter (US broker-dealer, ATS or an exchange) must be reported as an Order Accepted event.

Representative Orders

Industry Members are required to link representative street-side orders with the related customer order or client order being represented. The Industry Member must report a New Order event for the creation of the representative order, and populate the representativeInd field to indicate that it is a representative order. The Industry Member must also populate the aggregatedOrders field linking the representative order to the underlying orders.

Appendix C contains detailed descriptions of representative order scenarios and illustrates when marking of the representative order, linkage between the represented order and the representative order, and Order Fulfillment linkage is required.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MENO

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The date and time the orderID was assigned.

orderID
[1..1]
Text
The internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time of receipt of the order. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is received or captured manually.

electronicDupFlag
[1..1]
CodeSet
Indicates whether this is a duplicative electronic message of a manual event.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

manualOrderKeyDate
[0..1]
Timestamp
The orderKeyDate of the related manual order. Required when manualOrderID is populated.

manualOrderID
[0..1]
Text
When this is a duplicative electronic message of a previously (separately) reported manual New Order event, this field is to capture the internal orderID of the manual order. Required when electronicDupFlag is ‘true’.

deptType
[1..1]
CodeSet
This is the category of internal department, unit or desk originating or receiving the order.

solicitationFlag
[1..1]
CodeSet
Indicates if the order was originated in response to an RFQ or other solicitation process. This field is not used to indicate if a registered representative of the firm solicited a customer/client order.

RFQID
[0..1]
Text
For New Order events representing a response to an RFQ or solicitation, the ID assigned to the related RFQ or solicitation being responded to. Must be populated when available.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed, required when applicable. Must be > 0.

orderType
[1..1]
CodeSet
The type of order being submitted.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

custDspIntrFlag
[1..1]
CodeSet
Indicates if a customer/client has instructed that a limit order should not be displayed or that a block size order should be displayed.

firmDesignatedID
[1..1]
Text
Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.

accountHolderType
[1..1]
CodeSet
Represents the type of beneficial owner of the account for which the order was received or originated.

affiliateFlag
[1..1]
CodeSet
Indicates if the routing party is an affiliate of the Industry Member.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

aggregatedOrders
[0..*]
Group
When applicable, the order ID of each customer/client order being represented. Refer to Appendix C for representative order linkage requirements.

negotiatedTradeFlag
[1..1]
CodeSet
Indicates whether the trade is a result of a negotiation.

representativeInd
[1..1]
CodeSet
Indicates if the order is a representative order and if linkage is required.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter. Only required for ATSs.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price for this order. When provided, must be greater than or equal to zero. If atsDisplayInd is ‘Y’, ‘S’, or ‘A’, displayPrice must be the price at which the order was displayed. If atsDisplayInd is ‘N’, displayPrice must be “0”.

workingPrice
[0..1]
Price
The working price of the order at the time it was accepted. When provided, must be greater than or equal to zero. If no current workingPrice, value must be “0”.

displayQty
[0..1]
WholeQuantity
The displayed quantity for this order. If the atsDisplayInd is populated as ‘Y’, ‘S’, or ‘A’, displayQty must be the quantity at which the order was displayed. If the atsDisplayInd is ‘N’, displayQty must be ‘0’.

atsOrderType
[0..1]
StringList
Shows the ATS-specific order type as selected from a list of order types defined by this reporter via the CAT Reporter Portal.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced A upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

NewOrderSupplement

Category: SingleGeneralOrderHandling

Message Functionality

The New Order Supplement event is a supplement to the New Order event. One New Order event can have multiple New Order Supplement events. Multiple New Order Supplement events are considered as additions, not replacements or modifications. This event accommodates reporting in the following scenarios:

Aggregated Orders

This event accommodates reporting in scenarios when the number of Aggregated Orders included in the aggregatedOrders field causes the New Order event to exceed the maximum allowed message length, or when the orders being represented are not captured in the New Order Event. The aggregatedOrders field in the New Order Supplement event must contain the additional Aggregated Orders that were not captured in the original New Order event, or another Supplement event for the same order.

FDID

This event accommodates reporting in scenarios when an Industry Member receives an order for a new account and the new account number, on which the FDID is based, is not yet available for creation and reporting of the CAT new order event. If an FDID has not yet been created when an order has been received, the Industry Member must populate the firmDesignatedID field in its New Order event with a value of ‘PENDING’.

Once the FDID becomes available, the Industry Member must report the actual FDID in the firmDesignatedID field in a New Order Supplement event. Any New Order Supplement event with an FDID populated will not be considered late for CAT reporting purposes if it is received by T+3 @ 8:00 AM ET. Refer to the CAT CAIS Industry Member Reporting Scenarios for additional information on how the firmDesignatedID will be reflected in the CAIS.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MENOS
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
orderKeyDate | [1..1] | Timestamp | The orderKeyDate of the related New Order event which this event is supplementing.
orderID | [1..1] | Text | The orderID of the related New Order event which this event is supplementing.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time of the related New Order event which this event supplements (including scenarios in which the supplement is created at a later time).
aggregatedOrders | [0..*] | Group | When applicable, the order ID of each customer/client order being represented. Refer to Appendix C for representative order linkage requirements.
firmDesignatedID | [0..1] | Text | Required when reporting a supplement to an MENO event that was reported prior to the FDID being available. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.

NewQuote

Category: QuotationNegotiation

Message Functionality

The New Quote Event is used to report the following:

Quotes originated in OTC equity securities ultimately sent to an inter-dealer quotation system operated by an Industry Member

Quotes originated in OTC Equity securities ultimately sent to a quotation venue not operated by a CAT Reporter.

Any other electronic quotes which are provided by or received in a CAT Reporter’s order/quote handling or execution systems in CAT reportable securities and are provided by an Industry Member to other market participants off a national securities exchanges, as described in CAT FAQ B45.

For two-sided quote events, the bidPrice, bidQty, askPrice, and askQty fields must be populated. For one-sided quote events, the price and quantity of the applicable side must be populated. For quotes representing a name only quote for which a price and quantity is not applicable, the price and quantity of the applicable side must be blank or must be populated with zero, and the unpricedInd must be populated as ‘true’.

If the field onlyOneQuoteFlag is populated as ‘true’, any New Quote event offered by the same CATReporterIMID to the same destination in the same symbol will be considered cancelled and replaced by CAT. Modifications reflected using the onlyOneQuoteFlag method may maintain the same quote ID. However, if a quote is cancelled and a new quote is reported to CAT, the New Quote Event must not maintain the same quote ID as the quote that was cancelled. Modifications to a quote when the onlyOneQuoteFlag is populated as ‘true’ must not be captured using the Quote Modified event.

Quotes entered directly into an inter-dealer quotation system’s platform that are not sent to the inter-dealer quotation system electronically (e.g., via FIX) are considered to be originated manually, and the manualFlag must be populated as ‘true’.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MENQ
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
quoteKeyDate | [1..1] | Timestamp | The date and time the quoteID was assigned.
quoteID | [1..1] | Text | The internal quote ID assigned to the quote by the Industry Member. Must be unique within quoteKeyDate, CATReporterIMID, and symbol combination.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
retiredFieldPosition | [0..1] | Text | Field position is retired and must remain blank.
retiredFieldPosition1 | [0..1] | Text | Field position is retired and must remain blank.
eventTimestamp | [1..1] | Timestamp | The date/time the quote was originated by the Industry Member. If manualFlag is ‘true’, must be reported to seconds or a finer increment up to nanoseconds. If manualFlag is ‘false’, must be reported to milliseconds or a finer increment up to nanoseconds.
seqNum | [0..1] | Alphanumeric | The sequence number assigned to the quote by the reporter. Any alphanumeric not containing a delimiter. Required if two MENQs are submitted by an Industry Member using the onlyOneQuoteFlag method to modify a quote, and both MENQ events have the same timestamp.
retiredFieldPosition2 | [0..1] | Text | Field position is retired and must remain blank.
retiredFieldPosition3 | [0..1] | Text | Field position is retired and must remain blank.
retiredFieldPosition4 | [0..1] | Text | Field position is retired and must remain blank.
onlyOneQuoteFlag | [1..1] | CodeSet | Value is ‘true’ if the recipient only allows one quote per symbol for this Industry Member. Otherwise, false.
bidPrice | [0..1] | Price | Price being bid. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the askPrice field is blank.
bidQty | [0..1] | WholeQuantity | Quantity being bid. Must be populated with a value greater than ‘0’ if the bidPrice field is populated with a value greater than ‘0’.
askPrice | [0..1] | Price | Price being asked. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the bidPrice field is blank.
askQty | [0..1] | WholeQuantity | Quantity being asked. Must be populated with a value greater than ‘0’ if the askPrice field is populated with a value greater than ‘0’.
firmDesignatedID | [0..1] | Text | Refer to Appendix G: Data Dictionary for definition and guidance for populating this field. Required when representativeQuoteInd is null. Not required for an Industry Member generating quotes and displaying them on a Display-only Facility. (i.e., Not required when representativeQuoteInd is present.)
accountHolderType | [0..1] | CodeSet | Represents the type of account that originated this quote. Must be provided when firmDesignatedID is present. Not required for an Industry Member generating quotes and displaying them on a Display-only Facility. (i.e., Not required when representativeQuoteInd is present.)
unsolicitedInd | [1..1] | CodeSet | Indicates whether this is an unsolicited quote.
retiredFieldPosition5 | [0..1] | Text | Field position is retired and must remain blank.
retiredFieldPosition6 | [0..1] | Text | Field position is retired and must remain blank.
unpricedInd | [1..1] | CodeSet | If this is an unpriced quote, must be populated as ‘true’. When unpricedInd is ‘true’, bid and ask fields are not required.
manualFlag | [1..1] | CodeSet | Must be marked as ‘true’ if the quote is received or captured manually.
electronicTimestamp | [0..1] | Timestamp | The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.
representativeQuoteInd | [0..1] | CodeSet | Indicates if the quote represents Customer/Client orders. Applicable for an Industry Member generating quotes and displaying them on a Display-only Facility.

NewQuoteSupplement

Category: QuotationNegotiation

Message Functionality

The New Quote Supplement event is a supplement to the New Quote event. One New Quote event can have multiple New Quote Supplement events. Multiple New Quote Supplement events are considered as additions, not replacements or modifications.

This event accommodates reporting in scenarios when the number of Aggregated Orders included in the askAggregatedOrders or bidAggregatedOrders fields cause the New Quote event to exceed the maximum allowed message length, or when the orders being represented are not captured in the New Quote event. The askAggregatedOrders and bidAggregatedOrders fields in the New Quote Supplement event must contain the additional Aggregated Orders that were not captured in the original New Quote event, or another Supplement event for the same quote.

This event is applicable for an Industry Member generating quotes and displaying them on a Display-only Facility.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MENQS
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
quoteKeyDate | [1..1] | Timestamp | The date and time the quoteID was assigned.
quoteID | [1..1] | Text | The internal quote ID assigned to the quote by the Industry Member. Must be unique within quoteKeyDate, CATReporterIMID, and symbol combination.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
eventTimestamp | [1..1] | Timestamp | The date/time the quote was originated by the Industry Member.
representativeQuoteInd | [1..1] | CodeSet | Indicates if the quote represents Customer/Client orders. Applicable for an Industry Member generating quotes and displaying them on a Display-only Facility. ‘S’ or ‘N’ are not valid values for this event.

OrderAccepted

Category: SingleGeneralOrderHandling

Message Functionality

An Order Accepted event must be reported to CAT when an Industry Member receives an order from another CAT Reporter (i.e., Industry Member, ATS or exchange), or from another IMID belonging to the same Industry Member (i.e., the same CRD).

New customer orders, orders received from a non-broker-dealer affiliate, and orders received from a non-reporting foreign broker-dealer must be reported using a New Order event.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOA

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The date and time the orderID was assigned.

orderID
[1..1]
Text
Order ID assigned to the order by the Industry Member upon acceptance. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time of receipt of the order. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is received or captured manually.

electronicDupFlag
[1..1]
CodeSet
Indicates whether this is a duplicative electronic message of a manual event.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

receiverIMID
[1..1]
IndustryMemberID
The IMID of the Industry Member receiving the order. When senderType is ‘F’, this value must equal the destination field on the Order Route event reported by the routing Industry Member. When senderType is ‘O’, this value must equal the destination on the Order Route event if an Order Route event is reported by the destination. When senderType is ‘E’, this value must equal the routingParty on the Order Route event reported by the exchange.

senderIMID
[1..1]
String
When senderType is ‘F’, this value is the IMID of the sending Industry Member from which the order is routed, and must equal senderIMID in the Order Route event reported by the routing Industry Member. When senderType is ‘O’, this value is the IMID of the sending Industry Member from which the order is routed, and must equal the senderIMID in the Order Route event if an Order Route event is reported by the routing Industry Member. When senderType is ‘E’, this value is the Exchange ID of the sending entity from which the order is routed, and must equal the exchange field in the Order Route event reported by the exchange.

senderType
[1..1]
CodeSet
Indicates the type of origin from which the order is routed. senderType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID for the order as sent by the routing entity. Must be unique per combination of Event Date, symbol, senderIMID, and receiverIMID. Required when manualFlag is ‘false’.

manualOrderKeyDate
[0..1]
Timestamp
The orderKeyDate of the related manual order. Required when manualOrderID is populated.

manualOrderID
[0..1]
Text
When this is a duplicative electronic message of a previously (separately) reported manual Order Accepted event, this field is to capture the internal order ID of the manual order. Required when electronicDupFlag is ‘true’.

affiliateFlag
[1..1]
CodeSet
Indicates if the routing party is an affiliate of the Industry Member.

deptType
[1..1]
CodeSet
This is the category of internal department, unit or desk receiving the order.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

orderType
[1..1]
CodeSet
The type of order as routed to the destination reporting the accepted event.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

isoInd
[1..1]
CodeSet
Indicates the order was accepted as an Intermarket Sweep Order.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

custDspIntrFlag
[1..1]
CodeSet
Indicates if a customer/client has instructed that a limit order should not be displayed or that a block size order should be displayed.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price for the order. When provided, must be greater than or equal to zero. If atsDisplayInd is ‘Y’, ‘S’, or ‘A’, displayPrice must be the price at which the order was displayed. If atsDisplayInd is ‘N’, displayPrice must be ‘0’.

workingPrice
[0..1]
Price
The working price of the order at the time it wasaccepted. When provided, must be greater than or equal to zero. If no current workingPrice, value must be ‘0’.

displayQty
[0..1]
WholeQuantity
The displayed quantity of the order. If the atsDisplayInd is populated as ‘Y’, ‘S’, or ‘A’, displayQty must be the quantity at which the order was displayed. If the atsDisplayInd is ‘N’, displayQty must be ‘0’.

atsOrderType
[0..1]
StringList
Shows the ATS-specific order type as selected from a list of order types defined by this Industry Member via the CAT Reporter Portal.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

solicitationFlag
[1..1]
CodeSet
Indicates if the order was received in response to an RFQ or other solicitation process. This field is not used to indicate if a registered representative of the firm solicited a customer/client order.

pairedOrderID
[0..1]
Text
The pairedOrderID field may be populated if two or more offsetting orders are received with instructions to cross.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

OrderAdjusted

Category: SingleGeneralOrderHandling

Message Functionality

An Order Adjusted event must be used when the display price or quantity changes as the result of a Display ATS matching engine action and not from a customer/client instruction. The Order Adjusted event may be used by non-ATS firms instead of an Order Modified event to report changes to the price or quantity of an order.

The following rules apply:

If any of the price fields change, then all price fields (i.e., price, displayPrice, and workingPrice) must be reported to represent current state of the order relative to price. The quantity fields are not required.

If any of the quantity fields change, then all quantity fields (i.e., quantity, minQty, leavesQty, displayQty) must be reported to represent the current state of the order relative to quantity. The price fields are not required.

Any modification that cannot be fully represented in this Reportable Event must be reported via the Order Modified event. This includes modifications received from another Industry Member where a routedOrderID is required, and modifications to the orderType.

Industry Members may assign a new Order Key to Order Adjusted events. If a unique orderID is assigned, the priorOrderID must be populated with the orderID of the order that is being adjusted, and the priorOrderKeyDate must be populated. If the order has been adjusted more than once, the priorOrderID must refer to orderID of the immediately preceding adjustment which will not be the original Order ID.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOJ

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
When a new Order Key is assigned, the date and time the orderID was assigned. When a new Order Key is not assigned, the orderKeyDate of order event which is being modified.

orderID
[1..1]
Text
When a new Order Key is assigned, the internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When a new Order Key is not assigned, the orderID of order event which is being modified.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

priorOrderKeyDate
[0..1]
Timestamp
If a new Order ID has been assigned, this is the orderKeyDate of the event being adjusted.

priorOrderID
[0..1]
Text
If a new Order ID has been assigned, this is the orderID of the event being adjusted. When populated, the priorOrderID must not be equal to the orderID within the record.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time at which the order was modified (e.g., the time that the order was confirmed to be modified in the firm’s OMS/EMS). If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is adjusted manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

initiator
[1..1]
CodeSet
Indicates who initiated the order adjustment.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when price, displayPrice, or workingPrice changed.

quantity
[0..1]
RealQuantity
The order quantity. Required when quantity, minQty, leavesQty, or displayQty changed.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable and when quantity, minQty, leavesQty, or displayQty changed. Must be > 0.

leavesQty
[0..1]
RealQuantity
The number of shares of the order left open after the adjustment/modification has occurred. Required when quantity, minQty, leavesQty, or displayQty changed. Must be less than or equal to quantity.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price of the order. When provided, must be greater than or equal to zero. Required when applicable and when price, workingPrice, or displayPrice changed.

workingPrice
[0..1]
Price
The working price of the order. When provided, must be greater than or equal to zero. Required when applicable and when price, workingPrice, or displayPrice changed.

displayQty
[0..1]
WholeQuantity
The displayed quantity for this order. Required when applicable and when quantity, minQty, leavesQty, or displayQty changed.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

timeInForce
[1..1]
Component
The Time in Force for the order.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information. Required if changed.

OrderCancelRequest

Category: SingleGeneralOrderHandling

Message Functionality

The Order Cancel Request event is required when a request is received to cancel an order if the request is not captured in the requestTimestamp field of the Order Cancelled event. Industry Members are not required to report an Order Cancel Request event to CAT if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. However, this activity may be required in future phases of CAT.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEOCR
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
orderKeyDate | [1..1] | Timestamp | The orderKeyDate of the order event for which the cancellation was requested.
orderID | [1..1] | Text | The orderID of the order event for which the cancellation was requested.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time of receipt of the cancel request. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.
manualFlag | [1..1] | CodeSet | Must be marked as ‘true’ if the cancellation is requested manually.
electronicTimestamp | [0..1] | Timestamp | The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.
cancelQty | [1..1] | RealQuantity | The quantity requested to be cancelled. May populate a zero value to indicate that the cancel was for the full remaining quantity.
seqNum | [0..1] | Alphanumeric | The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.
infoBarrierID | [0..1] | Text | Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

OrderCancelled

Category: SingleGeneralOrderHandling

Message Functionality

The Order Cancelled event is reported when an order is fully or partially cancelled. Partial cancellations of an order may be reported to CAT using an Order Cancelled event or an Order Modified event. However, when routing between Industry Members, both parties must communicate and use the same method to report to CAT. If one party reports to CAT using the cancellation method and the other party reports to CAT using a modification method, this will result in unlinked records that must be resolved.

Implicit order cancellations, such as cancellations due to expiration of Time in Force, are not required to be reported to CAT.

Order Cancelled events are required to be reported by the entity that initiated the cancellation. When an Order is routed from Firm A to Firm B, the following rules apply:

If Firm A or its customer/client initiates the cancel, Firm A and Firm B must report the Order Cancelled event.

If Firm B initiates the cancel, Firm B must report the Order Cancelled event.

Industry Members are not required to report the cancel request to CAT if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. However, this activity may be required in future phases of CAT. If a cancellation request was received that was too late to cancel, and the order was not terminal (e.g., the order was “in-flight” and there was no confirmation time), the request must be reported as an Order Cancel Request event.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOC

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the order event which is being cancelled.

orderID
[1..1]
Text
The orderID of the order event which is being cancelled.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the order was cancelled (e.g., the time that the order was confirmed to be cancelled in the firm’s OMS/EMS). If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is cancelled manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

cancelQty
[1..1]
RealQuantity
The quantity being cancelled.

leavesQty
[1..1]
RealQuantity
The number of shares of the order left open after the cancel event. The full cancel will result in zero in this field.

initiator
[1..1]
CodeSet
Indicates who initiated the order cancellation.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

requestTimestamp
[0..1]
Timestamp
The date/time the cancellation was requested. Required if a request was received, and the request is not captured in a separate MEOCR event. Must not be populated if the request is captured in a separate MEOCR event. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds. Not required if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. May be required in future phases of CAT.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

OrderEffective

Category: SingleGeneralOrderHandling

Message Functionality

The Order Effective event is used to indicate that an order, or an underlying condition of an order, has become effective. This event is applicable to orders such as conditional (Refer to FAQ D26), Stop, Stop Limit, Trailing Stop, Trailing Stop Limit, Stop on Quote, and Stop Limit on Quote orders. This event is NOT applicable to Stop Stock transactions. The Order Effective event must be reported by the party that was holding the order at the time the order or condition became effective.

If the triggering event causing the order to become effective was a specific price, such as a stop price, the triggerPrice field must be populated in scenarios where the trigger price was not explicitly captured in the handlingInstructions field on the related new order (e.g., Stop Formula, Trailing Stop). In scenarios where the stop price was captured in prior CAT events associated with the order (e.g., as a name/value pair in handlingInstructions on MENO and/or MEOA events), then the information may be optionally restated in the triggerPrice field on the Order Effective event; however, it is not required to be reported again.

If a new order ID is generated when the order becomes effective, which replaces the prior order ID, the orderID field must capture the new order ID, and the priorOrderID field must reflect the order ID that is being replaced. If the orderID remains the same when the order becomes effective, the priorOrderID and priorOrderKeyDate must remain blank.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOE

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
When a new Order Key is assigned, the date and time the orderID was assigned. When a new Order Key is not assigned, the orderKeyDate of the CAT event which is being modified.

orderID
[1..1]
Text
When a new Order Key is assigned, the internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When a new Order Key is not assigned, the orderID of the Order Modified (Cancel/Replace) event which is being modified.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

priorOrderKeyDate
[0..1]
Timestamp
If a new Order Key has been assigned, this is the orderKeyDate of the event being modified.

priorOrderID
[0..1]
Text
If a new Order Key has been assigned, this is the orderID of the event being modified. When populated, the priorOrderID must not be equal to the orderID within the record.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the order or underlying condition became effective.

timeInForce
[1..1]
Component
The Time in Force for the order (e.g., DAY, IOC, GTC).

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

reservedForFutureUse
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

side
[0..1]
CodeSet
The side of the order. For this Reportable Event, only same-side adjustments are allowed (e.g., sell long to short sell). Required if the field changed when the order or underlying condition became effective.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required if the field changed when the order became effective.

quantity
[0..1]
RealQuantity
The order quantity. Required if the field changed when the order or underlying condition became effective.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required if the field changed when the order or underlying condition became effective. Must be > 0.

orderType
[1..1]
CodeSet
The type of order being submitted (e.g., market, limit). Required if the field changed when the order became effective.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price of the order. When provided, must be greater than or equal to zero. Required when applicable and the field changed when the order or underlying condition became effective.

workingPrice
[0..1]
Price
The working price of the order. When provided, must be greater than or equal to zero. Required when applicable and the field changed when the order or underlying condition became effective.

displayQty
[0..1]
WholeQuantity
The displayed quantity for this order. Required when applicable and the field changed when the order or underlying condition became effective.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was originated or received. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

triggerPrice
[0..1]
Price
The price at which the order became effective. Required in scenarios where the trigger price was not explicitly captured in the handlingInstructions field on the related new order (e.g., Stop Formula, Trailing Stop)

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

OrderFulfillment

Category: TradeCapture

Message Functionality

The Order Fulfillment event is used to report the execution of a customer/client order that is not required to be reported for public dissemination purposes. Order Fulfillment events are required in scenarios where:

A representative order was used to facilitate the execution of the customer/client order.

An order is routed to a foreign market and the resulting foreign execution is not captured by CAT.

The Order Fulfillment event is designed to capture the customer/client details and the firm side details. Firm side details provide linkage to the representative order used to facilitate the execution of the customer/client order.

The fulfillmentLinkType field is used to indicate if the firm side details are required. Appendix C contains detailed descriptions of representative order scenarios and illustrates when marking of the representative order, linkage between the represented order and the representative order, and Order Fulfillment linkage is required.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOF

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

fillKeyDate
[1..1]
Timestamp
The date and time the fulfillmentID was assigned.

fulfillmentID
[1..1]
Text
The unique identifier for the fulfillment. The combination of reporter, fillKeyDate, symbol and fulfillmentID must be unique.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time when the fulfillment was processed by the Industry Member. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if this is a manual process.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

fulfillmentLinkType
[1..1]
CodeSet
Refer to Appendix C for representative order linkage requirements.

cancelFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the fulfillment was cancelled.

cancelTimestamp
[0..1]
Timestamp
When cancelFlag is ‘true’, the time at which the fulfillment was cancelled. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

quantity
[1..1]
RealQuantity
Quantity being executed and assigned. It may or may not be the full quantity of the order.

price
[1..1]
Price
Price of the executed shares. Must be greater than or equal to zero.

capacity
[1..1]
CodeSet
The capacity in which the Industry Member acted.

clientDetails
[1..*]
Group
See Table 53: Fulfillment Side Details below.

firmDetails
[0..*]
Group
Used to capture the Industry Member side order details. Applicable if there is only one orderID associated with this side of the fulfillment. If more than one representative order was used to fill the customer/client order, this field must be blank and the firmDetails for each related representative order must be populated in separate MEOFS events. If firmDetails are captured in an MEOFS event, the fulfillmentLinkType field must be populated with a value of ‘YS’. See Table 53: Fulfillment Side Details below. Refer to Appendix C for more details.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

OrderFulfillmentAmendment

Category: TradeCapture

Message Functionality

This CAT event is used to report the amendment of a previously reported fulfillment that occurs on the same day or on a subsequent day. An Order Fulfillment Amendment event is required to be reported to CAT if the fill to the customer/client was changed after the final fulfillment had been provided to the customer/client. This Reportable Event must capture the entire state of the fulfillment after it has been amended, even though some of the data elements may remain unchanged. However, Side Details are only required to be restated if changed. When the fulfillmentLinkType value ‘YS’ is used, Side Details must be restated using an MEOFS event if changed.

Order Fulfillment Amendments are not required in scenarios where:

Executions against an order are tracked throughout the day but a single average price fill is provided to the customer/client after the order is completed or at the end of the day. Some systems may provide intraday transparency to the progress of executing an order as informal information that is not considered by the firm to be ‘final’ fulfillments, and these should not be reported to CAT as fulfillments and fulfillment amendments. Refer to CAT FAQ B64 for additional information.

An Industry Member makes a correction via a debit/credit to the customer's/client’s account instead of modifying the executed shares given back to the customer/client.

Changes do not impact CAT reportable attributes of the fulfillment.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm.

type
[1..1]
CodeSet
MEFA

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

fillKeyDate
[1..1]
Timestamp
When a new Fulfillment Key is assigned, the date and time the fulfillmentID was assigned. When a new Fulfillment Key is not assigned, the fillKeyDate of the fulfillment event being modified.

fulfillmentID
[1..1]
Text
When a new Fulfillment Key is assigned, the internal fulfillment ID assigned to the fulfillment event by the Industry Member. Must be unique within fillKeyDate, CATReporterIMID, and symbol combination. When a new Fulfillment Key is not assigned, the fulfillmentID of the fulfillment event being modified.

priorFillKeyDate
[0..1]
Timestamp
In cases when a new fulfillmentID is assigned, the priorFillKeyDate is the fillKeyDate of the fulfilment that is being modified. Required if priorFulfillmentID is populated.

priorFulfillmentID
[0..1]
Text
If a new fulfillment ID is assigned, this is the fulfillmentID of the event being modified.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time when the fulfillment was processed by the Industry Member. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if this is a manual process.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

quantity
[1..1]
RealQuantity
Quantity being executed and assigned. It may or may not be the full quantity of the order.

capacity
[1..1]
CodeSet
The capacity in which the Industry Member acted.

price
[1..1]
Price
Price of the executed shares. Must be greater than or equal to zero.

fulfillmentLinkType
[1..1]
CodeSet
Refer to Appendix C for representative order linkage requirements.

clientDetails
[0..*]
Group
Refer to Fulfillment Side Details in Table 53: Fulfillment Side Details. Required if changed.

firmDetails
[0..*]
Group
Refer to Fulfillment Side Details in Table 53: Fulfillment Side Details. Required if changed.

OrderFulfillmentSupplement

Category: TradeCapture

Message Functionality

The tables below describe the data elements used to report a customer/client order filled from multiple representative orders. Only one orderID may be represented in each Order Fulfillment Supplement event. If multiple representative orders were used to fill a customer/client order, the orderID for each representative order must be populated in its own Order Fulfillment Supplement event.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEOFS
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
fillKeyDate | [1..1] | Timestamp | The fillKeyDate of the Order Fulfillment event which this event is supplementing.
fulfillmentID | [1..1] | Text | The fulfillmentID of the Order Fulfillment event which this event is supplementing.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
eventTimestamp | [1..1] | Timestamp | The date/time at which the fulfillment was processed by the Industry Member. This must match the eventTimestamp value reported on the Order Fulfillment this event supplements (including scenarios in which the supplement is created at a later time).
firmDetails | [1..*] | Group | Used to capture the Industry Member side order details. See Table 55: Fulfillment Side Details below. Refer to Appendix C for more details.

OrderInternalRouteAccepted

Category: SingleGeneralOrderHandling

Message Functionality

An Order Internal Route Accepted event must be reported when an order is passed to a different department or desk within the CATReporterIMID. Routes between different IMIDs attributed to the same Industry Member must be reported as Order Route and Order Accepted events.

An Order Internal Route Accepted event is required to be reported from the perspective of the recipient desk, and indicates that an order was received by an internal destination. In Phase 2d, Industry Members may choose to assign a new Order Key to an Order Internal Route Accepted event. If a new orderID is assigned, the parentOrderID must be populated with the orderID of the event that was internally routed, and the parentOrderKeyDate must be populated.

An Industry Member may generate child orders using the Child Order event prior to routing internally to another desk. This approach is acceptable for CAT reporting and will not result in unlinked events.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEIR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The date and time the orderID was assigned.

orderID
[1..1]
Text
When a new Order Key is assigned, the internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When a new Order Key is not assigned, the orderID of the event that was internally routed.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

parentOrderKeyDate
[0..1]
Timestamp
If a new Order ID has been assigned, this is the orderKeyDate of the event from which the Order Internal Route Accepted event originated. Required when the parentOrderID is populated. Must be blank when parentOrderID is blank.

parentOrderID
[0..1]
Text
If a new Order ID has been assigned, this is the orderID of the event from which the Order Internal Route Accepted event originated. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When populated, the parentOrderID must not be equal to the orderID within the record. Required when the parentOrderKeyDate is populated. If a new Order ID has not been assigned, must be blank.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of receipt by the receiving desk. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is routed to another desk manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

deptType
[1..1]
CodeSet
The category of department, unit, or desk that received this Order Internal Route Accepted event.

receivingDeskType
[1..1]
CodeSet
Indicates the type of desk or department receiving the order. More granular than the field deptType.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for the desk to which the order was routed that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

orderType
[1..1]
CodeSet
The type of order received from the routing desk or department.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

multiLegInd
[1..1]
CodeSet
Indicates when the order that was routed internally is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

deskOrderID
[0..1]
Text
Internal identifier assigned to this event by the department or desk. Required when the order is routed partially and a new orderID is not assigned to this event. Not required when the order is routed in full or when a new orderID is assigned to this event.

OrderInternalRouteCancelRequest

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report an Order Internal Route Cancel Request event to CAT when a desk within the firm receives a request to cancel an internal route if the request is not captured in the requestTimestamp field of the Order Internal Route Cancelled event.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEICR
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
orderKeyDate | [1..1] | Timestamp | The orderKeyDate of the order event for which the cancellation was requested.
orderID | [1..1] | Text | The orderID of the order event for which the cancellation was requested.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time the internal route cancellation request was received. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.
manualFlag | [1..1] | CodeSet | Must be marked as ‘true’ if the cancel request was received manually.
electronicTimestamp | [0..1] | Timestamp | The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.
cancelQty | [1..1] | RealQuantity | The quantity requested to be cancelled. May populate a zero value to indicate that the cancel was for the full remaining quantity.
deskOrderID | [0..1] | Text | Internal identifier assigned to this event by the department or desk. Required when the order is routed partially and a new orderID is not assigned to this event. Not required when the order is routed in full or when a new orderID is assigned to this event.

OrderInternalRouteCancelled

Category: SingleGeneralOrderHandling

Message Functionality

If an internal route is cancelled, an Order Internal Route Cancelled event must be reported. Partial cancellations may be reported using an Order Internal Route Modified event or Order Internal Route Cancelled event with leavesQty.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEIC

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the internal route which is being cancelled.

orderID
[1..1]
Text
The orderID of the internal route which is being cancelled.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the internal route was cancelled (e.g., the time that the order was confirmed to be cancelled in the firm’s OMS/EMS). If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is cancelled manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

cancelQty
[1..1]
RealQuantity
The quantity being cancelled.

leavesQty
[1..1]
RealQuantity
The number of shares of the order left open at the receiving desk after the modification has occurred.

initiator
[1..1]
CodeSet
Indicates who initiated the internal route cancellation.

requestTimestamp
[0..1]
Timestamp
The date/time the internal route cancellation was requested. Required if the request was received from the sending desk, and the request is not captured in a separate MEICR event. Must not be populated if the request is captured in a separate MEICR event. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

deskOrderID
[0..1]
Text
Internal identifier assigned to this event by the department or desk. Required when the order is routed partially and a new orderID is not assigned to this event. Not required when the order is routed in full or when a new orderID is assigned to this event.

OrderInternalRouteModificationRequest

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report an Order Internal Route Modification Request event to CAT when a desk within the firm receives a request to modify the Material Terms of an internal route if the request is not captured in the requestTimestamp field of the Order Internal Route Modified event. All attributes and Material Terms of the modified internal route listed on this event must be restated with the requested modification(s) reflected.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEIMR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the order event for which the internal route modification was requested.

orderID
[1..1]
Text
The orderID of the order event for which the internal route modification was requested.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the internal route modification request was received. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the internal route modification was requested manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

deptType
[1..1]
CodeSet
The category of department, unit, or desk that received the internal route modification request.

receivingDeskType
[1..1]
CodeSet
Indicates the type of desk that received the internal route modification request. More granular than the field deptType.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for the desk to which the order was routed that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

orderType
[1..1]
CodeSet
The type of order received from the routing desk or department.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

deskOrderID
[0..1]
Text
Internal identifier assigned to this event by the department or desk. Required when the order is routed partially and a new orderID is not assigned to this event. Not required when the order is routed in full or when a new orderID is assigned to this event.

OrderInternalRouteModified

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report an Order Internal Route Modified event to CAT when the Material Terms of the internal route have been changed (e.g., price, quantity). All attributes and Material Terms of the modified internal route listed on this event must be restated with the modification(s) reflected.

Industry Members may assign a new Order Key to Order Internal Route Modified events. If a unique orderID is assigned, the priorOrderID must be populated with the orderID of the Order Internal Route Accepted event that is being modified, and the priorOrderKeyDate must be populated.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEIM

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
When a new Order Key is assigned, the date and time the orderID was assigned. When a new Order Key is not assigned, the orderKeyDate of the order that was internally routed.

orderID
[1..1]
Text
When a new Order Key is assigned, the internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When a new Order Key is not assigned, the orderID of the event that was internally routed.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

priorOrderKeyDate
[0..1]
Timestamp
If a new Order ID has been assigned, this is the orderKeyDate of the event being modified.

priorOrderID
[0..1]
Text
If a new Order ID has been assigned, this is the orderID of the event being modified. When populated, the priorOrderID must not be equal to the orderID within the record.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the internal route was modified (e.g., the time that the order was confirmed to be modified in the firm’s OMS/EMS). If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the internal route is modified manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

deptType
[1..1]
CodeSet
The category of department, unit, or desk that received the internal route.

receivingDeskType
[1..1]
CodeSet
Indicates the type of desk that received the internal route. More granular than the field deptType.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for the desk to which the order was routed that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

initiator
[1..1]
CodeSet
Indicates who initiated the internal route modification.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

leavesQty
[1..1]
RealQuantity
The number of shares of the order left open at the receiving desk after the modification has occurred. Must be less than or equal to quantity.

orderType
[1..1]
CodeSet
The type of order received from the routing desk or department.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

requestTimestamp
[0..1]
Timestamp
The date/time the internal route modification was requested. Required if the request was received from the sending desk, and the request is not captured in a separate MEIMR event. Must not be populated if the request is captured in a separate MEIMR event. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

deskOrderID
[0..1]
Text
Internal identifier assigned to this event by the department or desk. Required when the order is routed partially and a new orderID is not assigned to this event. Not required when the order is routed in full or when a new orderID is assigned to this event.

priorDeskOrderID
[0..1]
Text
If a new deskOrderID has been assigned, this is the deskOrderID of the event being modified. When populated, the priorDeskOrderID must not be equal to the deskOrderID.

OrderModificationRequest

Category: SingleGeneralOrderHandling

Message Functionality

The Order Modification Request event is required when a request is received to modify the Material Terms of an order if the request is not captured in the requestTimestamp field of the Order Modified event. Industry Members are not required to report an Order Modification Request event to CAT if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. However, this activity may be required in future phases of CAT.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOMR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the order event for which the modification was requested.

orderID
[1..1]
Text
The orderID of the order event for which the modification was requested.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of receipt of the modification request. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the modification is requested manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

receiverIMID
[0..1]
IndustryMemberID
Required when the modification request is received from an Industry Member or an exchange (senderType is ‘F’, ‘E’, or ‘O’). The IMID of the Industry Member receiving the modification request.

senderIMID
[0..1]
String
Required when the modification request is received from an Industry Member or an exchange. When senderType is ‘F’ or ‘O’, this value is the IMID of the sending Industry Member from which the order is routed. When senderType is ‘E’, this value is the Exchange ID of the sending entity from which the modification was requested.

senderType
[0..1]
CodeSet
Required when the modification request is received from an Industry Member or an exchange. Indicates the type of origin from which the modification was requested. senderType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

reservedForFutureUse
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

reservedForFutureUse1
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

side
[1..1]
CodeSet
The side of the order. For this Reportable Event, only same-side adjustments are allowed (e.g., sell long to short sell).

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

orderType
[1..1]
CodeSet
The type of order being submitted (e.g., market, limit).

timeInForce
[1..1]
Component
The Time in Force for the order (e.g., DAY, IOC, GTC).

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

isoInd
[1..1]
CodeSet
Indicates the order was an Intermarket Sweep Order.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

custDspIntrFlag
[1..1]
CodeSet
Indicates if a customer/client has instructed that a limit order should not be displayed or that a block size order should be displayed.

infoBarrierID
[0..1]
Text
Specifying the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

reservedForFutureUse2
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

reservedForFutureUse3
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price of this order. When provided, must be greater than or equal to zero. If atsDisplayInd is ‘Y’, ‘S’, or ‘A’, displayPrice must be the price at which the order was displayed. If atsDisplayInd is ‘N’, displayPrice must be “0”.

workingPrice
[0..1]
Price
The working price of the order at the time of the modification request. When provided, must be greater than or equal to zero. If no current workingPrice, value must be “0”.

displayQty
[0..1]
WholeQuantity
The displayed quantity for this order at the time of the modification request. If the atsDisplayInd is populated as ‘Y’, ‘S’, or ‘A’, displayQty must be the quantity at which the order was displayed. If the atsDisplayInd is ‘N’, displayQty must be “0”.

atsOrderType
[0..1]
StringList
Shows the ATS-specific order types as selected from a list of order types defined by this ATS.

nbbPrice
[0..1]
Price
The NBBO at the time of the modification request. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the time of the modification request. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the time of the modification request. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the time of the modification request. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

OrderModified

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report an Order Modified event to CAT when the Material Terms of an order have been changed (e.g., price, quantity) or when an order is cancel/replaced. All attributes and Material Terms of the modified order listed on this event must be restated with the modification(s) reflected. If the order is a representative order, the aggregatedOrders field must be restated every time the order is modified or cancel/replaced. Changes to the orders being represented in the aggregatedOrders field are considered a modification to the order. The side field is required to be reported, but side adjustments are only allowed for same-side changes, including changes between Short Sale and Sell Long.

If a modification results in the generation of new order with a new Order Key which replaces the prior order, the orderID field must capture the identifier for the new order, and the prior order fields must reflect the order that is being replaced. If the order has been modified more than once with a new orderID assigned with each modification, the priorOrderID must refer to orderID of the immediately preceding modification which will not be the original Order ID. If the orderID remains the same during the modification, the priorOrderID must remain blank.

Industry Members are not required to report the modification request to CAT if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. However, this activity may be required in future phases of CAT. If a modification request was received that was too late to modify, and the order was not terminal (e.g., the order was “in-flight” and there was no confirmation time), the request must be reported as an Order Modification Request event.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOM

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
When a new Order Key is assigned, the date and time the orderID was assigned. When a new Order Key is not assigned, the orderKeyDate of the CAT event which is being modified.

orderID
[1..1]
Text
When a new Order Key is assigned, the internal order ID assigned to the order by the Industry Member. Must be unique within orderKeyDate, CATReporterIMID, and symbol combination. When a new Order Key is not assigned, the orderID of the Order Modified (Cancel/Replace) event which is being modified.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

priorOrderKeyDate
[0..1]
Timestamp
If a new Order Key has been assigned, this is the orderKeyDate of the event being modified.

priorOrderID
[0..1]
Text
If a new Order Key has been assigned, this is the orderID of the event being modified. When populated, the priorOrderID must not be equal to the orderID within the record.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the order was modified (e.g., the time that the order was confirmed to be modified in the firm’s OMS/EMS). If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is modified or replaced manually.

manualOrderKeyDate
[0..1]
Timestamp
The orderKeyDate of the related manual order. Required when manualOrderID is populated.

manualOrderID
[0..1]
Text
When this is a duplicative electronic message of a previously (separately) reported manual Order Modified and Cancel/Replaced event, this field is to capture the internal order ID of the manual order. Required when electronicDupFlag is ‘true’.

electronicDupFlag
[1..1]
CodeSet
Indicates whether this is a duplicative electronic message of a manual event.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

receiverIMID
[0..1]
IndustryMemberID
Required when the modification is received from an Industry Member or an exchange. The IMID of the Industry Member receiving the routed order modification. When senderType is ‘F’, this value must equal the destination field on the Order Route event reported by the routing Industry Member. When senderType is ‘O’, this value must equal the destination on the Order Route event if an Order Route event is reported by the destination. When senderType is ‘E’, this value must equal the routingParty on the Participant Order Modification event reported by the exchange.

senderIMID
[0..1]
String
Required when the modification is received from an Industry Member or an exchange. When senderType is ‘F’, this value is the IMID of the sending Industry Member from which the order is routed, and must equal the senderIMID in the Order Route event reported by the routing Industry Member. When senderType is ‘O’, this value is the IMID of the sending Industry Member from which the order is routed, and must equal the senderIMID in the Order Route event if an Order Route event is reported by the routing Industry Member. When senderType is ‘E’, this value is the Exchange ID of the sending entity from which the order is routed, and must equal the exchange field in the Participant Order Modification event reported by the exchange.

senderType
[0..1]
CodeSet
Required when the modification is received from an Industry Member or an exchange. Indicates the type of origin from which the order is routed.

routedOrderID
[0..1]
Text
The ID for the order as sent by the routing entity. Must be unique per combination of Event Date, symbol, senderIMID, and receiverIMID. Required when senderType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

requestTimestamp
[0..1]
Timestamp
The date/time the modification was requested. Required if a request was received, and the request is not captured in a separate MEOMR event. Must not be populated if the request is captured in a separate MEOMR event. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds. Not required if the order is terminal (e.g., it has already been fully executed or cancelled) in Phase 2d. May be required in future phases of CAT.

reservedForFutureUse
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

reservedForFutureUse1
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

reservedForFutureUse2
[0..1]
Text
Field is Reserved for Future Use and must remain blank.

initiator
[1..1]
CodeSet
Indicates who initiated the order modification.

side
[1..1]
CodeSet
The side of the order. For this Reportable Event, only same-side adjustments are allowed (e.g., sell long to short sell).

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

leavesQty
[1..1]
RealQuantity
The number of shares of the order left open after the modification has occurred. Must be less than or equal to quantity.

orderType
[1..1]
CodeSet
The type of order being submitted (e.g., market, limit).

timeInForce
[1..1]
Component
The Time in Force for the order (e.g. DAY, IOC, GTC).

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

isoInd
[1..1]
CodeSet
Indicates the order was an Intermarket Sweep Order.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

custDspIntrFlag
[1..1]
CodeSet
Indicates if a customer/client has instructed that a limit order should not be displayed or that a block size order should be displayed.

infoBarrierID
[0..1]
Text
Specifying the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

aggregatedOrders
[0..*]
Group
When applicable, the order ID of each customer/client order being represented. Refer to Appendix C for representative order linkage requirements.

representativeInd
[1..1]
CodeSet
Indicates if the order is a representative order and if linkage is required.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

atsDisplayInd
[0..1]
CodeSet
Indicates if the order is displayed outside of the ATS to subscribers only, or via publicly disseminated quotation data.

displayPrice
[0..1]
Price
The displayed price of this order. When provided, must be greater than or equal to zero. If atsDisplayInd is ‘Y’, ‘S’, or ‘A’, displayPrice must be the price at which the order was displayed. If atsDisplayInd is ‘N’, displayPrice must be “0”.

workingPrice
[0..1]
Price
The working price of the order at the time of the modification. When provided, must be greater than or equal to zero. If no current workingPrice, value must be “0”.

displayQty
[0..1]
WholeQuantity
The displayed quantity for this order at the time the order was modified. If the atsDisplayInd is populated as ‘Y’, ‘S’, or ‘A’, displayQty must be the quantity at which the order was displayed. If the atsDisplayInd is ‘N’, displayQty must be “0”.

atsOrderType
[0..1]
StringList
Shows the ATS-specific order types as selected from a list of order types defined by this ATS.

nbbPrice
[0..1]
Price
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the order was modified. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with a value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO data used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

OrderModifiedSupplement

Category: SingleGeneralOrderHandling

Message Functionality

The Order Modified Supplement event serves as a supplement to the Order Modified event, just as the New Order Supplement event serves as a supplement to the New Order event.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEOMS
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
orderKeyDate | [1..1] | Timestamp | The orderKeyDate of the related Order Modified (Cancel/Replace) event which this event is supplementing.
orderID | [1..1] | Text | The orderID of the related Order Modified (Cancel/Replace) event which this event is supplementing.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time of the Order Modified this event supplements.
aggregatedOrders | [1..*] | Group | The order ID of each customer/client order being represented. Refer to Appendix C for representative order linkage requirements.

OrderRoute

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members are required to report an Order Route event to CAT in the following scenarios when an order is routed in full or in part:

Routing to another Industry Member

Routing to foreign broker-dealers

Routing to exchanges

Routing between two IMIDs (e.g., two different FINRA MPIDs) attributed to the same legal entity (i.e., the same CRD).

When routing between two IMIDs of the same legal entity, the affiliateFlag must be populated as ‘true’ in accordance with CAT FAQ E27. Internal routes to another desk or department within an Industry Member are reported using an Order Internal Route Accepted event. Refer to the Order Internal Route Accepted section for more details.

Handling Instructions on Order Route Events

Handling Instructions are required to be reported on the Order Route event. The handling instructions included in this event must represent the handling instructions sent by the routing firm to the receiving destination. If the handling instructions do not change when the order is routed externally from the handling instructions received by the Industry Member and reported on the Order Accepted or New Order event associated with the order, Industry Members may use the handling instruction code ‘RAR’ (Routed as Received) instead of repeating each individual handling instruction.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the event which is being routed.

orderID
[1..1]
Text
The orderID of the order event which is being routed.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of the Order Route. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the order is routed manually.

electronicDupFlag
[1..1]
CodeSet
Indicates whether this is a duplicative electronic message of a manual event.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

senderIMID
[0..1]
String
The IMID used to identify the Industry Member that is routing the order, known by the destination. When destinationType is ‘F’, this value must equal the senderIMID on the Order Accepted event reported by the destination. When destinationType is ‘O’, this value must equal the senderIMID on the Order Accepted event if an Order Accepted event is reported by the destination. When destinationType is ‘E’, this value must equal the routingParty reported by the exchange on the Participant Order Accepted event. Not required when destinationType is ‘N’.

destination
[0..1]
String
When destinationType is ‘F’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event reported by the destination Industry Member. When destinationType is ‘O’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event if an Order Accepted event is reported by the destination Industry Member. When destinationType is ‘E’, this value is the Exchange ID of the destination exchange, and it must equal the exchange field on the Order Accepted event reported by the destination exchange. Not required if destinationType is ‘N’. If optionally populated when destinationType is ‘N’, CRD Prefix is not required.

destinationType
[1..1]
CodeSet
Indicates whether the destination of the route is an Industry Member, an exchange or a foreign broker-dealer. destinationType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID assigned to the order by the Industry Member when routing the order to the destination. This value must match the value for routedOrderID reported by the destination in their Order Accepted report. Must be unique per combination of Event Date, symbol, destination, senderIMID, and session (applicable only on routes to exchanges). Required when destinationType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

session
[0..1]
Text
The session ID used when routing the order. Must only be populated when destinationType is ‘E’. This must match the session ID reported in the Participant Order Accepted event by the receiving exchange.

side
[1..1]
CodeSet
The side of the order.

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

orderType
[1..1]
CodeSet
The type of order being routed.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

affiliateFlag
[1..1]
CodeSet
Indicates if the order is being routed to an affiliate of the Industry Member.

isoInd
[1..1]
CodeSet
Indicates the order was routed as an Intermarket Sweep Order.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

routeRejectedFlag
[1..1]
CodeSet
Indicates the routed order was not accepted by the destination (rejected or no response) when marked ‘true’.

dupROIDCond
[1..1]
CodeSet
Indicates when a modification to an order previously routed to a national securities exchange requires the use of the original routedOrderID. This field can only be populated as ‘true’ on Order Route events when destinationType is ‘E’.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

multiLegInd
[1..1]
CodeSet
Indicates when the order being routed is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

pairedOrderID
[0..1]
Text
The pairedOrderID field may be populated if two or more offsetting orders are routed with instructions to cross.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

quoteKeyDate
[0..1]
Timestamp
The date and time the quoteID was assigned. Required when quoteID is populated. Must be blank when quoteID is blank.

quoteID
[0..1]
Text
Required for Order Route events reported by an IDQS directed to a specific quote displayed on the IDQS, this is the IDQS assigned quoteID of the related Quote Received event reported by the IDQS.

OrderRouteSupplement

Category: SingleGeneralOrderHandling

Message Functionality

The Order Route Supplement event is a supplement to the Order Route event. Order Route Supplement events are considered as additions to an Order Route event, not replacements or modifications. This event accommodates reporting in scenarios where a route is rejected by the venue to which an order was routed, and the Industry Member chooses to report the routeRejectedFlag in this separate Order Route Supplement event.

An Order Route Supplement event may not be used to supplement an Order Route event where the dupROIDCond field is ‘true’. These supplement events will be accepted by CAT, but credit will not be provided to any exchange linkage errors on the Order Route event where the dupROIDCond field is ‘true’.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEORS

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the related Order Route event which this event is supplementing.

orderID
[1..1]
Text
The orderID of the related Order Route event which this event is supplementing.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of the related Order Route event this event supplements (including scenarios in which the supplement is created at a later time).

manualFlag
[1..1]
CodeSet
The manualFlag of the related Order Route event this event supplements. Must be marked as ‘true’ if the order is routed manually.

senderIMID
[0..1]
String
The senderIMID of the Order Route event that this event supplements. When destinationType is ‘F’, this value must equal the senderIMID on the Order Accepted event reported by the destination. When destinationType is ‘O’, this value must equal the senderIMID on the Order Accepted event if an Order Accepted event is reported by the destination. When destinationType is ‘E’, this value must equal the routingParty reported by the exchange on the Participant Order Accepted event. Not required when destinationType is ‘N’.

destination
[0..1]
String
The destination of the Order Route event that this event supplements. When destinationType is ‘F’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event reported by the destination Industry Member. When destinationType is ‘O’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event if an Order Accepted event is reported by the destination Industry Member. When destinationType is ‘E’, this value is the Exchange ID of the destination exchange, and it must equal the exchange field on the Order Accepted event reported by the destination exchange. Not required if destinationType is ‘N’. If optionally populated when destinationType is ‘N’, CRD Prefix is not required.

destinationType
[1..1]
CodeSet
The destinationType of the Order Route event that this event supplements. Indicates whether the destination of the route is an Industry Member, an exchange, or a foreign broker-dealer. destinationType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID assigned to the order by the Industry Member when routing the order to the destination. Must match the routedOrderID of the Order Route event that this event supplements. Required when destinationType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

session
[0..1]
Text
The session of the Order Route event that this event supplements. Must only be populated when destinationType is ‘E’. This must match the session ID reported in the Participant Order Accepted event by the receiving exchange.

routeRejectedFlag
[1..1]
CodeSet
Indicates the routed order was not accepted by the destination (rejected or no response) when marked ‘true’.

PostTradeAllocation

Category: Allocation

Message Functionality

Industry Members that perform allocations are required to submit a Post-Trade Allocation event to CAT any time shares are allocated to a customer account regardless of whether the Industry Member was involved in executing the underlying order(s). Refer to Section 3.3 for additional information on the requirements for reporting allocation events to CAT.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEPA

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT.

allocationKeyDate
[1..1]
Timestamp
The date and time the allocationID was assigned.

allocationID
[1..1]
Text
The internal allocation ID assigned to the allocation event by the Industry Member. The combination of CATReporterIMID, allocationKeyDate, symbol and allocationID must be unique.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time the shares allocated are booked into the customer’s/client’s account. Timestamp must be reported to seconds or a finer increment up to nanoseconds.

cancelFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the allocation was cancelled.

cancelTimestamp
[0..1]
Timestamp
When cancelFlag is ‘true’, the time at which the allocation was cancelled.

quantity
[1..1]
RealQuantity
Quantity being allocated.

price
[1..1]
Price
Price of the allocated shares. Must be greater than or equal to zero.

side
[1..1]
CodeSet
The side of customer/client receiving the allocation.

firmDesignatedID
[1..1]
Text
The FDID of the account receiving the allocation, including subaccounts. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

institutionFlag
[1..1]
CodeSet
Indicates if the account meets the definition of institution under FINRA Rule 4512(c).

tradeDate
[1..1]
Date
The trade date of the securities being allocated. Used to validate the symbol field on this event.

settlementDate
[0..1]
Date
The settlement date of the securities being allocated. Not required for when-issued securities.

allocationType
[1..1]
CodeSet
Indicates the type of allocation being made (e.g., custody, DVP, step out, correspondent flip).

DVPCustodianID
[0..1]
Text
Required when allocationType is ‘DVP’ or ‘DVPF’. If the custodian is a US broker-dealer, this field must be populated with the clearing number of the custodian. If the custodian is a bank and is not a registered broker-dealer, this field must be populated with the DTC number of the bank. If there is no clearing number or DTC number, this field must be populated with a value of ‘FOREIGN’. Refer to CAT FAQ U19 for additional guidance.

correspondentCRD
[0..1]
Unsigned
The CRD number of the related Introducing Broker or Correspondent firm, if applicable.

newOrderFDID
[0..1]
Text
The FDID of the related New Order event, if available in the booking system. Requirements for populating this field may be expanded in future phases of CAT.

allocationInstructionTime
[0..1]
Timestamp
The date/time the time the allocation instruction was received.

retiredFieldPosition1
[0..1]
Text
Field position is retired and must remain blank.

accountHolderType
[1..1]
CodeSet
Represents the type of beneficial owner of the account to which the shares were allocated.

QuoteCancelled

Category: QuotationNegotiation

Message Functionality

Reported when a quote is cancelled. If a quote is cancelled that was sent to by an Industry Member to an Industry Member inter-dealer quotation system, then both the sender of the quote and the inter-dealer quotation system that accepted the quote must report Quote Cancelled events.

Orders cancelled directly in an inter-dealer quotation system’s platform that are not sent to the inter-dealer quotation system electronically (e.g., via FIX) are considered to be cancelled manually, and the manualFlag must be populated as ‘true’.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEQC
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
quoteKeyDate | [1..1] | Timestamp | The quoteKeyDate of the Quote event which is being cancelled.
quoteID | [1..1] | Text | The quoteID of the Quote event which is being cancelled.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time the quote was cancelled. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.
seqNum | [0..1] | Alphanumeric | The sequence number of the quote cancel message. Any alphanumeric not containing a delimiter. Required for inter-dealer quotation systems only.
reservedForFutureUse | [0..1] | Text | Field is Reserved for Future Use and must remain blank.
initiator | [1..1] | CodeSet | Indicates who initiated the order cancellation.
retiredFieldPosition | [0..1] | Text | Field position is retired and must remain blank.
manualFlag | [1..1] | CodeSet | Must be marked as ‘true’ if the quote is cancelled manually.
electronicTimestamp | [0..1] | Timestamp | The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

QuoteModified

Category: QuotationNegotiation

Message Functionality

Reported when a quote is modified, and the venue supports more than one quote per symbol for an Industry Member at one time. If the field onlyOneQuoteFlag field on the related New Quote or Quote Received event is populated as ‘true’, the Quote Modified event must not be used.

If a modification to a quote results in the generation of a new quoteID with a new Quote Key which replaces the prior quoteID, the quoteID field must capture the newly assigned quoteID, and the prior quote fields must reflect the quote that is being modified. If the quote has been modified more than once with a new quoteID assigned with each modification, the priorQuoteID must refer to quoteID of the immediately preceding modification which will not be the original Quote ID. If the quoteID remains the same during the modification, the priorQuoteID must remain blank.

Orders modified directly in an inter-dealer quotation system’s platform that are not sent to the inter-dealer quotation system electronically (e.g., via FIX) are considered to be modified manually, and the manualFlag must be populated as ‘true’.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEQM
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
quoteKeyDate | [1..1] | Timestamp | The date and time the quoteID was assigned.
quoteID | [1..1] | Text | The internal quote ID assigned to the quote by the Industry Member. Must be unique within quoteKeyDate, CATReporterIMID, and symbol combination.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
priorQuoteKeyDate | [0..1] | Timestamp | If a new Quote ID has been assigned, this is the quoteKeyDate of the event being modified.
priorQuoteID | [0..1] | Text | If a new Quote Key has been assigned, this is the orderID of the event being modified. When populated, the priorQuoteID must not be equal to the quoteID within the record.
eventTimestamp | [1..1] | Timestamp | The date/time the quote was modified. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.
seqNum | [0..1] | Alphanumeric | The sequence number assigned to the quote by the reporter. Any alphanumeric not containing a delimiter. Required for inter-dealer quotation systems only.
bidPrice | [0..1] | Price | Price being bid. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the askPrice field is blank.
bidQty | [0..1] | WholeQuantity | Quantity being bid. Must be populated with a value greater than ‘0’ if the bidPrice field is populated with a value greater than ‘0’.
askPrice | [0..1] | Price | Price being asked. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the bidPrice field is blank.
askQty | [0..1] | WholeQuantity | Quantity being asked. Must be populated with a value greater than ‘0’ if the askPrice field is populated with a value greater than ‘0’.
unsolicitedInd | [1..1] | CodeSet | Indicates whether this is an unsolicited quote.
unpricedInd | [1..1] | CodeSet | If this is an unpriced quote, must be populated as ‘true’. When unpricedInd is ‘true’, bid and ask fields are not required.
manualFlag | [1..1] | CodeSet | Must be marked as ‘true’ if the quote is modified manually.
electronicTimestamp | [0..1] | Timestamp | The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

QuoteReceived

Category: QuotationNegotiation

Message Functionality

The Quote Received event is used to report Quotes in OTC Equity securities received by an Industry Member inter-dealer quotation system.

For two-sided quote events, the bidPrice, bidQty, askPrice, and askQty fields must be populated. For one-sided quote events, the price and quantity of the applicable side must be populated. For quotes representing a name only quote for which a price and quantity is not applicable, the price and quantity of the applicable side must be blank or must be populated with zero, and the unpricedInd must be populated as ‘true’.

If the field onlyOneQuoteFlag is populated as ‘true’, any Quote Received event offered by the same CATReporterIMID from the same senderIMID in the same symbol will be considered cancelled and replaced by CAT. Modifications reflected using the onlyOneQuoteFlag method may maintain the same quote ID. However, if a quote is cancelled and a new quote is reported to CAT, the Quote Received Event must not maintain the same quote ID as the quote that was cancelled. Modifications to a quote when the onlyOneQuoteFlag is populated as ‘true’ may alternatively be captured using the Quote Modified event.

Quotes entered directly into an inter-dealer quotation system’s platform that are not sent to the inter-dealer quotation system electronically (e.g., via FIX) are considered to be received manually, and the manualFlag must be populated as ‘true’. The routedQuoteID field is not required for manual routes.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEQR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

quoteKeyDate
[1..1]
Timestamp
The date and time the quoteID was assigned.

quoteID
[1..1]
Text
The internal quote ID assigned to the quote by Industry Member. Must be unique within quoteKeyDate, CATReporterIMID, and symbol combination.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

receivedQuoteID
[0..1]
Text
The quote ID as received by the Industry Member inter-dealer quotation system, must match the routedQuoteID in the Routed Quote event created by the issuer of the quote. Required when manualFlag is ‘false’. Not required when manualFlag is ‘true’. When dupROIDCond is ‘false’, must be unique per combination of Event Date, symbol, destination, and senderIMID.

eventTimestamp
[1..1]
Timestamp
The date/time the quote was received by the Industry Member inter-dealer quotation system. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

seqNum
[1..1]
Alphanumeric
The sequence number assigned to the quote received message by the reporter. Any alphanumeric not containing a delimiter.

receiverIMID
[1..1]
IndustryMemberID
The IMID of the Industry Member receiving the quote (the Industry Member reporting this Reportable Event). It must match the destination field on the New Quote event reported by the routing entity.

senderIMID
[1..1]
String
The IMID of the Industry Member providing the quote. This value must match the senderIMID in the New Quote event reported by the routing Industry Member.

onlyOneQuoteFlag
[1..1]
CodeSet
‘true’ if the Industry Member only allows one quote per symbol for the issue of the quote; false otherwise.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

retiredFieldPosition1
[0..1]
Text
Field position is retired and must remain blank.

bidPrice
[0..1]
Price
Price being bid. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the askPrice field is blank.

bidQty
[0..1]
WholeQuantity
Quantity being bid. Must be populated with a value greater than ‘0’ if the bidPrice field is populated with a value greater than ‘0’.

askPrice
[0..1]
Price
Price being asked. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the bidPrice field is blank.

askQty
[0..1]
WholeQuantity
Quantity being asked. Must be populated with a value greater than ‘0’ if the askPrice field is populated with a value greater than ‘0’.

retiredFieldPosition2
[0..1]
Text
Field position is retired and must remain blank.

unsolicitedInd
[1..1]
CodeSet
Indicates whether this is an unsolicited quote.

quoteWantedInd
[0..1]
CodeSet
Indicates if the quote message received by an IDQS is a request for a bid or an ask. This field is only applicable to IDQSs. When quoteWantedInd is populated, bid and ask fields are not required.

unpricedInd
[1..1]
CodeSet
If this is an unpriced quote, must be populated as ‘true’. When unpricedInd is ‘true’, bid and ask fields are not required.

dupROIDCond
[1..1]
CodeSet
Indicates when a Quote Received event maintains the original routedQuoteID.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the quote is received or captured manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

QuoteStatus

Category: QuotationNegotiation

Message Functionality

Reported when the status of a quote is changed to be opened or closed. If a quote that was sent by an Industry Member to an Industry Member inter-dealer quotation system is opened or closed by the Industry Member that sent the quote, then both the sender of the quote and the inter-dealer quotation system that accepted the quote must report Quote Status events.

If the status of a quote that was sent by an Industry Member to an Industry Member inter-dealer quotation system is changed as a result of an automatic process, then a Quote Status event is only required to be reported by the inter-dealer quotation system. Refer to CAT FAQ J5 for additional information.

Orders updated directly in an inter-dealer quotation system’s platform that are not sent to the inter-dealer quotation system electronically (e.g., via FIX) are considered to be updated manually, and the manualFlag must be populated as ‘true’.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEQS
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
quoteKeyDate | [1..1] | Timestamp | The quoteKeyDate of the Quote event which is being updated.
quoteID | [1..1] | Text | The quoteID of the Quote event which is being updated.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
eventTimestamp | [1..1] | Timestamp | The date/time the quote status was updated. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.
seqNum | [0..1] | Alphanumeric | The sequence number of the quote cancel message. Any alphanumeric not containing a delimiter. Required for inter-dealer quotation systems only.
mpStatusCode | [1..1] | CodeSet | Market Participant Status Code, indicates if the market maker's quote is open or closed.
manualFlag | [1..1] | CodeSet | Must be marked as ‘true’ if the quote is modified manually.
electronicTimestamp | [0..1] | Timestamp | The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

RouteCancelled

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report a Route Cancelled event to CAT when a route has been fully or partially cancelled. Partial cancellations of a route may be reported to CAT using a Route Cancelled event or a Route Modified event. However, when routing between Industry Members, both parties must communicate and use the same method to report to CAT. If one party reports to CAT using the cancellation method and the other party reports to CAT using a modification method, this will result in unlinked records that must be resolved.

The routedOrderID of the Order Route event being cancelled must be reflected in the Route Cancelled event. If a route cancellation request is rejected by the destination venue, the Route Cancelled event must be reported with a routeRejectedFlag of ‘true’.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MECR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the route which is being cancelled.

orderID
[1..1]
Text
The orderID of the route which is being cancelled or the orderID of the immediately preceding Order Modified event.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of the route cancellation. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the route being cancelled was a manual route.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

cancelQty
[1..1]
RealQuantity
The quantity being cancelled.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

senderIMID
[0..1]
String
The IMID used to identify the Industry Member that is routing the cancellation, known by the destination. Must equal the senderIMID in the Order Route event being cancelled. When destinationType is ‘F’, this value must equal the senderIMID on the Order Accepted event reported by the destination. When destinationType is ‘O’, this value must equal the senderIMID on the Order Accepted event if an Order Accepted event is reported by the destination. When destinationType is ‘E’, this value must equal the routingParty reported by the exchange on the Participant Order Accepted event. Not required when destinationType is ‘N’.

destination
[0..1]
String
When destinationType is ‘F’, this value is the IMID used to identify the Industry Member that is routed order. Must equal the destination in the Order Route event being cancelled, and must equal the receiverIMID field on the Order Accepted event reported by the destination Industry Member. When destinationType is ‘O’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event if an Order Accepted event is reported by the destination Industry Member. When destinationType is ‘E’, this value is the Exchange ID of the destination exchange, and it must equal the exchange field on the Order Accepted event reported by the destination exchange. Not required if destinationType is ‘N’.

destinationType
[1..1]
CodeSet
Indicates whether the destination of the original Order Route event was an Industry Member, an exchange or a foreign broker-dealer. destinationType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID assigned to the Order Route event being cancelled. This value must match the value for routedOrderID reported by the destination in their Order Accepted report. Required when destinationType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

session
[0..1]
Text
The session ID used when routing the order. Must equal the session in the Order Route event being cancelled. Must only be populated when destinationType is ‘E’. This must match the session ID reported in the Participant Order Accepted event by the receiving exchange.

routeRejectedFlag
[1..1]
CodeSet
Indicates the route cancellation was not accepted by the destination (rejected or no response) when marked ‘true’.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

multiLegInd
[1..1]
CodeSet
Indicates the route modification is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

RouteCancelledSupplement

Category: SingleGeneralOrderHandling

Message Functionality

The Route Cancelled Supplement event is a supplement to the Route Cancelled event. Route Cancelled Supplement events are considered as additions to a Route Cancelled event, not replacements or modifications. This event accommodates reporting in scenarios where a route cancellation is rejected by the venue to which the route cancellation was sent, and the Industry Member chooses to report the routeRejectedFlag in this separate Route Cancellation Supplement event.

A Route Cancellation Supplement event may not be used to supplement a Route Cancelled event where the dupROIDCond field is ‘true’. These supplement events will be accepted by CAT, but while Route Cancelled events are not subject to exchange linkage, Route Cancelled events where the dupROIDCond field is ‘true’ will not be considered supplemented.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MECRS

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the related Route Cancelled event this event is supplementing.

orderID
[1..1]
Text
The orderID of the related Route Cancelled event which this event is supplementing.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of the related Route Cancelled event this event supplements (including scenarios in which the supplement is created at a later time).

manualFlag
[1..1]
CodeSet
The manualFlag of the related Route Cancelled event this event supplements. Must be marked as ‘true’ if the route cancellation was sent manually.

senderIMID
[0..1]
String
The senderIMID of the Route Cancelled event that this event supplements. When destinationType is ‘F’, this value must equal the senderIMID on the Order Accepted event reported by the destination. When destinationType is ‘O’, this value must equal the senderIMID on the Order Accepted event if an Order Accepted event is reported by the destination. When destinationType is ‘E’, this value must equal the routingParty reported by the exchange on the Participant Order Accepted event. Not required when destinationType is ‘N’.

destination
[0..1]
String
The destination of the Route Cancelled event that this event supplements. When destinationType is ‘F’, this value is the IMID used to identify the Industry Member that is routed order. Must equal the destination in the Order Route event being cancelled, and must equal the receiverIMID field on the Order Accepted event reported by the destination Industry Member. When destinationType is ‘O’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event if an Order Accepted event is reported by the destination Industry Member. When destinationType is ‘E’, this value is the Exchange ID of the destination exchange, and it must equal the exchange field on the Order Accepted event reported by the destination exchange. Not required if destinationType is ‘N’.

destinationType
[1..1]
CodeSet
The destinationType of the Route Cancelled event that this event supplements. Indicates whether the destination of the route is an Industry Member, an exchange, or a foreign broker-dealer. destinationType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID assigned to the order by the Industry Member when sending the route cancellation to the destination. Must match the routedOrderID of the Route Cancelled event that this event supplements. Required when destinationType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

session
[0..1]
Text
The session of the Route Cancelled event that this event supplements. Must only be populated when destinationType is ‘E’. This must match the session ID reported in the Participant Order Accepted event by the receiving exchange.

routeRejectedFlag
[1..1]
CodeSet
Indicates the routed order was not accepted by the destination (rejected or no response) when marked ‘true’.

multiLegInd
[1..1]
CodeSet
Indicates the route modification is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

RouteModified

Category: SingleGeneralOrderHandling

Message Functionality

Industry Members must report a Route Modified event to CAT when the Material Terms of a route have been changed (e.g., price, quantity), or when a route is cancel/replaced.

All attributes and Material Terms of the route listed on this event must be restated with the modification(s) reflected. The side field is required to be reported, but side adjustments are only allowed for same-side changes, including changes between Short Sale and Sell Long. Route Modified events must not be used to reflect a change in senderIMID, destination, or destinationType. These changes must be reflected as a Route Cancelled event followed by a new Order Route event.

The routedOrderID of the Order Route event being modified must be reflected in the Route Modified event. If the routedOrderID changed when the route was modified, the routedOrderID of the Order Route event being modified must be populated in the priorRoutedOrderID field. If the routedOrderID did not change when the route was modified, the routedOrderID of the Order Route event must be populated in the routedOrderID field, and the dupROIDCond must be populated as ‘true’.

If a route modification request is rejected by the destination venue, the Route Modified event must be reported with a routeRejectedFlag of true.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEMR

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the event which is being modified.

orderID
[1..1]
Text
The orderID of the route which is being modified or the orderID of the immediately preceding Order Modified event.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of the route modification. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the route is modified manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

senderIMID
[0..1]
String
The IMID used to identify the Industry Member that is routing the modification, known by the destination. Must equal the senderIMID on the Order Route event being modified. When destinationType is ‘F’, this value must equal the senderIMID on the Order Accepted event reported by the destination. When destinationType is ‘O’, this value must equal the senderIMID on the Order Accepted event if an Order Accepted event is reported by the destination. When destinationType is ‘E’, this value must equal the routingParty reported by the exchange on the Participant Order Accepted event. Not required when destinationType is ‘N’.

destination
[0..1]
String
The destination of the route modification. Must equal the destination on the Order Route event being modified. When destinationType is ‘F’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event reported by the destination Industry Member. When destinationType is ‘O’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event if an Order Accepted event is reported by the destination Industry Member. When destinationType is ‘E’, this value is the Exchange ID of the destination exchange, and it must equal the exchange field on the Order Accepted event reported by the destination exchange. Not required if destinationType is ‘N’.

destinationType
[1..1]
CodeSet
Indicates whether the destination of the route modification is an Industry Member, an exchange or a foreign broker-dealer. Must equal the destinationType on the Order Route event being modified. destinationType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID assigned to the order by the Industry Member when routing the modification to the destination. When dupROIDCond is ‘false’, must be unique per combination of Event Date, symbol, destination, senderIMID, and session (applicable only on routes to exchanges). Required when destinationType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

priorRoutedOrderID
[0..1]
Text
The routedOrderID of the Order Route event being modified if the routedOrderID changed when the modification was routed to the destination. Must be populated when routedOrderID is populated and dupROIDCond is ‘false’. Must be blank when dupROIDCond is ‘true’.

session
[0..1]
Text
The session ID used when routing the modification. Must be equal to the session on the Order Route event being modified. Must only be populated when destinationType is ‘E’. This must match the session ID reported in the Participant Order Accepted event by the receiving exchange.

side
[1..1]
CodeSet
The side of the order. For this Reportable Event, only same-side adjustments are allowed (e.g., sell long to short sell).

price
[0..1]
Price
The limit price of the order. When provided, must be greater than or equal to zero. Required when orderType is ‘LMT’. Must be blank when orderType is ‘MKT’.

quantity
[1..1]
RealQuantity
The order quantity.

minQty
[0..1]
WholeQuantity
The minimum quantity of an order to be executed. Required when applicable. Must be > 0.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

orderType
[1..1]
CodeSet
The type of order being routed.

timeInForce
[1..1]
Component
The Time in Force for the order.

tradingSession
[1..1]
CodeSet
The trading session(s) during which an order is eligible to trade.

affiliateFlag
[1..1]
CodeSet
Indicates if the order is being routed to an affiliate of the Industry Member.

isoInd
[1..1]
CodeSet
Indicates the order was routed as an Intermarket Sweep Order.

handlingInstructions
[0..1]
Component
The order handling instructions for the order.

routeRejectedFlag
[1..1]
CodeSet
Indicates the route modification was not accepted by the destination (rejected or no response) when marked ‘true’.

dupROIDCond
[1..1]
CodeSet
Indicates when a modification to a route maintains the original routedOrderID.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the CAT event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

netPrice
[0..1]
Price
The net price of the order when tied to stock, tied to fixed income, tied to futures, tied to a non-CAT reportable product, or part of another trading strategy in which the order is traded at a net price. When netPrice is populated, the price field must be blank or populated with a value of zero. Refer to CAT FAQ B71 for additional information.

multiLegInd
[1..1]
CodeSet
Indicates the route modification is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

RouteModifiedSupplement

Category: SingleGeneralOrderHandling

Message Functionality

The Route Modified Supplement event is a supplement to the Route Modified event. Route Modified Supplement events are considered as additions to a Route Modified event, not replacements or modifications. This event accommodates reporting in scenarios where a route modification is rejected by the venue to which the route modification was sent, and the Industry Member chooses to report the routeRejectedFlag in this separate Route Modified Supplement event.

A Route Modified Supplement event may not be used to supplement a Route Modified event where the dupROIDCond field is ‘true’. These supplement events will be accepted by CAT, but credit will not be provided to any exchange linkage errors on the Route Modified event where the dupROIDCond field is ‘true’.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEMRS

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

orderKeyDate
[1..1]
Timestamp
The orderKeyDate of the related Route Modified event this event is supplementing.

orderID
[1..1]
Text
The orderID of the related Route Modified event which this event is supplementing.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

eventTimestamp
[1..1]
Timestamp
The date/time of the related Route Modified event this event supplements (including scenarios in which the supplement is created at a later time).

manualFlag
[1..1]
CodeSet
The manualFlag of the related Route Modified event this event supplements. Must be marked as ‘true’ if the route modification was sent manually.

senderIMID
[0..1]
String
The senderIMID of the Route Modified event that this event supplements. When destinationType is ‘F’, this value must equal the senderIMID on the Order Accepted event reported by the destination. When destinationType is ‘O’, this value must equal the senderIMID on the Order Accepted event if an Order Accepted event is reported by the destination. When destinationType is ‘E’, this value must equal the routingParty reported by the exchange on the Participant Order Accepted event. Not required when destinationType is ‘N’.

destination
[0..1]
String
The destination of the Route Modified event that this event supplements. When destinationType is ‘F’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event reported by the destination Industry Member. When destinationType is ‘O’, this value is the IMID used to identify the Industry Member that is receiving this routed order, and it must equal the receiverIMID field on the Order Accepted event if an Order Accepted event is reported by the destination Industry Member. When destinationType is ‘E’, this value is the Exchange ID of the destination exchange, and it must equal the exchange field on the Order Accepted event reported by the destination exchange. Not required if destinationType is ‘N’.

destinationType
[1..1]
CodeSet
The destinationType of the Route Modified event that this event supplements. Indicates whether the destination of the route is an Industry Member, an exchange, or a foreign broker-dealer. destinationType ‘O’ must only be populated if the symbol is an OTC symbol in a foreign equity security.

routedOrderID
[0..1]
Text
The ID assigned to the order by the Industry Member when sending the route modification to the destination. Must match the routedOrderID of the Route Modified event that this event supplements. Required when destinationType is ‘F’, ‘E’, or ‘O’, and manualFlag is ‘false’.

session
[0..1]
Text
The session of the Route Modified event that this event supplements. Must only be populated when destinationType is ‘E’. This must match the session ID reported in the Participant Order Accepted event by the receiving exchange.

routeRejectedFlag
[1..1]
CodeSet
Indicates the route order was not accepted by the destination (rejected or no response) when marked ‘true’.

multiLegInd
[1..1]
CodeSet
Indicates the route modification is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

RoutedQuote

Category: QuotationNegotiation

Message Functionality

The Routed Quote Event is used to report the following:

Quotes in OTC equity securities sent to an inter-dealer quotation system operated by an Industry Member

Quotes in OTC Equity securities sent to a quotation venue not operated by a CAT Reporter.

Any other route of electronic quotes which are provided by or received in a CAT Reporter’s order/quote handling or execution systems in CAT reportable securities and are provided by an Industry Member to other market participants off a national securities exchanges, as described in [CAT FAQ B45](https://catnmsplan.com/faq%23B45.

For two-sided quote events, the bidPrice, bidQty, askPrice, and askQty fields must be populated. For one-sided quote events, the price and quantity of the applicable side must be populated. For quotes representing a name only quote for which a price and quantity is not applicable, the price and quantity of the applicable side must be blank or must be populated with zero, and the unpricedInd must be populated as ‘true’.

Quotes entered directly into an inter-dealer quotation system’s platform that are not sent to the inter-dealer quotation system electronically (e.g., via FIX) are considered to be routed manually, and the manualFlag must be populated as ‘true’. The routedQuoteID field is not required for manual routes.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MERQ

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

quoteKeyDate
[1..1]
Timestamp
The date and time the quoteID was assigned.

quoteID
[1..1]
Text
The internal quote ID assigned to the quote by the Industry Member. Must be unique within quoteKeyDate, CATReporterIMID, and symbol combination.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time the quote was sent by the Industry Member. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the quote by the reporter. Any alphanumeric not containing a delimiter. Required if two MERQs are submitted by an Industry Member using the onlyOneQuoteFlag method to route a modified quote, and both MERQ events have the same timestamp.

senderIMID
[1..1]
String
The IMID of the Industry Member that is sending the quote, as known by the destination. This value must match the senderIMID on the Quote Received event reported by the destination.

destination
[1..1]
String
When destinationType is ‘F’, this field contains the SRO-assigned identifier of the destination Industry Member. This value must match the receiverIMID field on the Quote Received event reported by the destination. When destinationType is ‘D’, this field contains the identifier of the Display-only Facility.

routedQuoteID
[0..1]
Text
The quote ID sent to the recipient of the quote. Required when manualFlag is ‘false’. Not required when manualFlag is ‘true’. When dupROIDCond is ‘false’, must be unique per combination of Event Date, symbol, destination, and senderIMID.

bidPrice
[0..1]
Price
Price being bid. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the askPrice field is blank.

bidQty
[0..1]
WholeQuantity
Quantity being bid. Must be populated with a value greater than ‘0’ if the bidPrice field is populated with a value greater than ‘0’.

askPrice
[0..1]
Price
Price being asked. When provided, must be greater than or equal to zero. When unpricedInd is ‘true’, must be blank, or populated with a value of ‘0’. When unpricedInd is ‘false’, must be populated with a value greater than 0 if the bidPrice field is blank.

askQty
[0..1]
WholeQuantity
Quantity being asked. Must be populated with a value greater than ‘0’ if the askPrice field is populated with a value greater than ‘0’.

quoteRejectedFlag
[1..1]
CodeSet
If the result of the quote is rejected or no response was received, value should be ‘true’.

unpricedInd
[1..1]
CodeSet
If this is an unpriced quote, must be populated as ‘true’. When unpricedInd is ‘true’, bid and ask fields are not required.

dupROIDCond
[1..1]
CodeSet
Indicates when a Routed Quote event maintains the original routedQuoteID.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the quote is sent manually.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized. Required when manualFlag is ‘true’ and the event is systematized.

destinationType
[0..1]
CodeSet
Indicates whether the destination of the route is an Industry Member or a Display-only Facility. Applicable for an Industry Member generating quotes and displaying them on a Display-only Facility.

session
[0..1]
Text
The session ID used when routing the quote. Must equal the session in the quote received event reported by the Display-only Facility. Applicable for an Industry Member generating quotes and displaying them on a Display-only Facility. Required when destinationType is ‘D’.

RoutedQuoteSupplement

Category: QuotationNegotiation

Message Functionality

The Routed Quote Supplement Event is a supplement to the Routed Quote event. Routed Quote Supplement events are considered as additions to a Routed Quote event, not replacements or modifications. This event accommodates reporting in scenarios where a quote route is rejected by the venue to which it was routed, and the Industry Member chooses to report the quoteRejectedFlag in this separate Routed Quote Supplement event.

This event is applicable for an Industry Member generating quotes and displaying them on a Display-only Facility.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MERQS

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

quoteKeyDate
[1..1]
Timestamp
The quoteKeyDate of the related Routed Quote event this event is supplementing.

quoteID
[1..1]
Text
The quoteID of the related Routed Quote event which this event is supplementing.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time of the related Route Quote event this event supplements (including scenarios in which the supplement is created at a later time).

senderIMID
[1..1]
String
The IMID of the Industry Member that is sending the quote, as known by the destination. This value must match the senderIMID on the Quote Received event reported by the destination.

destination
[1..1]
String
When destinationType is ‘F’, this field contains the SRO-assigned identifier of the destination Industry Member. This value must be a valid IMID and must match the receiverIMID field on the Quote Received event reported by the destination. When destinationType is ‘D’, this field contains the identifier of the Display-only Facility. This value must be a valid Display-only Facility value and must equal the receiverIMID field on the quote received event reported by the Display-only Facility.

routedQuoteID
[0..1]
Text
The quote ID sent to the recipient of the quote. Must match the routedQuoteID of the Routed Quote event that this event supplements.

quoteRejectedFlag
[1..1]
CodeSet
If the result of the quote is rejected or no response was received, value should be ‘true’.

destinationType
[1..1]
CodeSet
Indicates whether the destination of the route is an Industry Member or a Display-only Facility.

session
[0..1]
Text
The session ID used when routing the quote. Must equal the session in the quote received event reported by the Display-only Facility. Required when destinationType is ‘D’.

Trade

Category: TradeCapture

Message Functionality

A Trade Event is used when the Industry Member acts as the executing broker and is required to report the trade for public dissemination purposes. When an Industry Member is not required to report the execution of a customer/client order for public dissemination purposes, with the exceptions noted below, an Order Fulfillment event must be used. See Section Order Fulfillment for more details.

Reporting Exception Codes

In general, Trade events are required to match to a TRF/ORF/ADF report. However, there are four circumstances when an MEOT would not be able to be linked to a TRF report and a Reporting Exception Code (REC) is required on a Trade event to allow the Processor to identify that there will be no link to a TRF/ORF/ADF report:

An Industry Member executes a trade between two desks or departments of the same firm, but because there is no change in beneficial ownership, no trade is reported for public dissemination. In this instance a REC of “P” should be used on the Trade event.

An Industry Member executes a trade and must report the trade via Form T. In this instance, a REC of “F” should be used on the Trade event.

A trade was executed by a non-FINRA member firm and was reported to the TRF by the FINRA member counterparty. In this instance, the non-FINRA member must populate a REC of “N” on the Trade event.

Industry Member was the contra side of the trade report which was reported to a TRF/ORF/ADF via a QSR or AGU, and was therefore unable to populate a tapeTradeID. In this instance, a REC of ‘C’ should be used on the Trade event to reflect a linkage to the related TRF/ORF/ADF report could not be made. The following rules apply when REC ‘C’ is used:

The marketCenterID field must be populated.

The clearingFirm and counterparty fields must be populated.

The cancelFlag and cancelTimestamp must be populated accordingly for all trades that are reported to a TRF via a QSR or AGU and later cancelled, as the CAT would not be able to link to a related TRF cancellation.

FINRA CAT will closely monitor all uses of REC ‘C’ to ensure compliance with the above noted guidelines.

Trade Side Details

Trade events are two-sided, containing information on both sides of the trade. Exceptions requiring only one side of the Trade event to be populated are noted below. The details of each side are reported using Trade Side Details. The data type Trade Side Details is described as a list of fields in Table 49 below. Trade Side Details must contain only one orderID per side. The buyDetails must contain the orderID of the buy side of the trade and the sellDetails must contain the orderID of the sell side of the trade. If there is more than one orderID associated with one side of the trade, the Trade Side Details related to each orderID must be populated in a separate Trade Supplement event.

Internalized Trade

When an Industry Member internalizes an order by filling it from a proprietary account, the Industry Member must report the orderID on the customer/client side and the FDID and the accountHolderType of the proprietary account on the firm side. In this scenario, no orderID is required on the firm side of the Trade event.

However, if the Industry Member generates a proprietary order to facilitate the execution of the customer/client order, the Industry Member must report the orderID of both the customer/client side and the firm side of the Trade event. Refer to CAT FAQ B41 for additional information.

One-Sided Trade events

There are several exceptions which only require one side of a Trade event to be populated. These exceptions include:

Trade is executed as the result of a negotiation between two Industry Members.

Order is routed by a FINRA Member to a non-FINRA member, and the FINRA Member has the obligation to submit a media trade report to a TRF/ADF/ORF.

Order is routed by an Industry Member to a foreign broker-dealer, and the foreign broker-dealer executes the order at a net price, creating a media trade reporting obligation in the United States.

In these scenarios, each party that is required to report a Trade event to CAT must populate the sideDetailsInd indicating which side of the trade the Industry Member was associated with, and which Trade Side Details will be populated in the Trade event.

Cancelled Trades

In accordance with CAT FAQ E25, the cancelFlag must be set to true only in instances when a trade is cancelled because the trade report is rejected by the TRF/ORF or ADF. For all instances where a trade is reported to, and accepted by, the TRF/ORF or ADF, including those that are cancelled or busted in the trade reporting data, the cancelFlag must be set to false. Refer to CAT FAQ E29 and CAT FAQ E30 for additional information.

Structure

Name
Mult.
Type
Description

actionType
[1..1]
CodeSet
Indicates whether the event is a new event, firm initiated correction or a repair of a CAT error.

errorROEID
[0..1]
Unsigned
Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.

firmROEID
[1..1]
Text
An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.

type
[1..1]
CodeSet
MEOT

CATReporterIMID
[0..1]
CATReporterIMID
The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.

tradeKeyDate
[1..1]
Timestamp
The date and time the tradeID was assigned.

tradeID
[1..1]
Text
Unique ID assigned to this execution by the Industry Member. This ID will be used in subsequent events when a specific trade needs to be identified. The combination of date, CATReporterIMID, symbol, and tradeID must be unique.

symbol
[1..1]
Symbol
The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.

eventTimestamp
[1..1]
Timestamp
The date/time at which the trade was executed. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

manualFlag
[1..1]
CodeSet
Must be marked as ‘true’ if this is a manual execution.

electronicTimestamp
[0..1]
Timestamp
The time at which the event is systematized.

cancelFlag
[1..1]
CodeSet
Must be marked as ‘true’ if the execution is cancelled and was not reported to the TRF/ADF/ORF.

cancelTimestamp
[0..1]
Timestamp
When cancelFlag is ‘true’, the time at which the execution was cancelled. If manualFlag is ‘true’, timestamp must be reported to seconds. If manualFlag is ‘false’, timestamp must be reported to milliseconds or a finer increment up to nanoseconds.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

retiredFieldPosition1
[0..1]
Text
Field position is retired and must remain blank.

quantity
[1..1]
RealQuantity
Quantity of the trade.

price
[1..1]
Price
The execution price of the trade. Must be greater than or equal to zero.

capacity
[1..1]
CodeSet
The capacity in which the Industry Member acted.

tapeTradeID
[0..1]
Text
The unique identifier reported by the Industry Member to the TRF/ADF/ORF based on the reporting specifications of the specific facility, required when the ID was supplied to a transaction reporting system: Compliance ID in ORF and ADF Branch Sequence Number in FINRA/NQ TRF FINRA Compliance Number in FINRA/NYSE TRF Must be unique per combination of Event Date, CATReporterIMID, marketCenterID and symbol. The tapeTradeID may link to either the reporting side or the contra-side of the media tape report. When the reportingExceptionCode field is blank, the tapeTradeID field must be populated. When the reportingExceptionCode field is populated, the tapeTradeID field must be blank.

marketCenterID
[0..1]
CodeSet
The national securities exchange or transaction reporting system operated by FINRA where the trade was reported. When the marketCenterID field is blank, the reportingExceptionCode must be populated with a value other than ‘C’. When the marketCenterID field is populated, the reportingExceptionCode field must be blank, or must be populated with a value of ‘C’.

sideDetailsInd
[1..1]
CodeSet
Identifies if a Trade event is one sided, and which side of the trade the Industry Member is populating in the Trade Side Details. When sideDetailsInd is ‘BUY’, only the buyDetails are populated. When sideDetailsInd is ‘SELL’, only the sellDetails are populated.

buyDetails
[0..*]
Group
See Table 49: Trade Side Details below. Applicable if there is only one orderID associated with this side of the trade. If there is more than one orderID, must be populated in separate MEOTS events.

sellDetails
[0..*]
Group
See Table 49: Trade Side Details below. Applicable if there is only one orderID associated with this side of the trade. If there is more than one orderID, must be populated in separate MEOTS events.

reportingExceptionCode
[0..1]
CodeSet
Indicates the reason that a unique identifier (e.g., Branch Sequence Number, Compliance ID) was not supplied to a transaction reporting system. Must be provided if the execution is not reported to a FINRA transaction reporting system. When the tapeTradeID field is blank, the reportingExceptionCode field must be populated. When the tapeTradeID field is populated, the reportingExceptionCode field must be blank. When the marketCenterID field is blank, the reportingExceptionCode field must be populated. When the marketCenterID field is populated, the reportingExceptionCode must be blank.

seqNum
[0..1]
Alphanumeric
The sequence number assigned to the Reportable Event by the ATS’s matching engine. Any alphanumeric not containing a delimiter.

nbbPrice
[0..1]
Price
The NBBO at the moment the trade occurred. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with value of ‘0’.

nbbQty
[0..1]
WholeQuantity
The NBBO at the moment the trade occurred. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with value of ‘0’.

nboPrice
[0..1]
Price
The NBBO at the moment the trade occurred. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with value of ‘0’.

nboQty
[0..1]
WholeQuantity
The NBBO at the moment the trade occurred. Prices are required, quantities are optional. When provided, must be greater than or equal to zero. If no price or quantity, fields must be populated with value of ‘0’.

nbboSource
[0..1]
CodeSet
Source of the NBBO Data Used. If nbboSource is ‘NA’, NBBO price and quantity fields must be populated with a value of ‘0’ and the nbboTimestamp must be blank.

nbboTimestamp
[0..1]
Timestamp
The date/time at which the NBBO was referenced upon the receipt of the order. Must be blank if nbboSource is ‘NA’.

retiredFieldPosition2
[0..1]
Text
Field position is retired and must remain blank.

clearingFirm
[0..1]
Unsigned
The clearing number of the Industry Member’s clearing firm. Required when the reportingExceptionCode is ‘C’.

counterparty
[0..1]
IndustryMemberID
The counterparty to the trade. Required when the reportingExceptionCode is ‘C’.

multiLegInd
[1..1]
CodeSet
Indicates when the execution is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

infoBarrierID
[0..1]
Text
Specifies the identifier of the information barrier in place for a trading unit that will meet the criteria of the “no-knowledge” exception in FINRA Rule 5320.02. Any alphanumeric not containing a delimiter.

TradeSupplement

Category: TradeCapture

Message Functionality

The tables below describe the data elements used to report when there is more than one order associated with one side of the trade.

Structure

Name | Mult. | Type | Description
actionType | [1..1] | CodeSet | Indicates whether the event is a new event, a firm initiated correction or a repair of a CAT error.
errorROEID | [0..1] | Unsigned | Required when actionType is ‘RPR’. Must be blank when actionType is ‘NEW’.
firmROEID | [1..1] | Text | An identifier assigned to the record by the reporting firm. Formatted as <Event Date>_<firm ROE Identifier> Must be unique for the Event Date and CAT Reporter IMID.
type | [1..1] | CodeSet | MEOTS
CATReporterIMID | [0..1] | CATReporterIMID | The SRO-assigned identifier that an Industry Member uses to report to CAT. If populated, must equal the CATReporterIMID in the filename.
tradeKeyDate | [1..1] | Timestamp | The tradeKeyDate of the Trade event which this event is supplementing.
tradeID | [1..1] | Text | The tradeID of the Trade event which this event is supplementing.
symbol | [1..1] | Symbol | The symbol of the stock in the symbology of the primary listing exchange or FINRA for OTC Equity Securities.
eventTimestamp | [1..1] | Timestamp | The date/time at which the trade was executed. This must match the eventTimestamp value reported on the Trade this event supplements (including scenarios in which the supplement is created at a later time).
buyDetails | [0..*] | Group | Required if the subject order was a buy order. See Table 51: Trade Side Details below.
sellDetails | [0..*] | Group | Required if the subject order was a sell order. See Table 51: Trade Side Details below.
multiLegInd | [1..1] | CodeSet | Indicates when the execution is related to a multi-leg order event. Refer to Section 5.2 for additional guidance.

Message Elements

Data Types

Data type
Base type
Description

Alphanumeric
String
A string, composed only of letters and digits [a-zA-Z0-9]. When an Alphanumeric type is described, it will include a number, indicating the maximum length of the field. For example, Alphanumeric (7) means that the field can contain up to 7 characters. Alphanumeric values are case sensitive. seqNum: 10987

Boolean

A value with two choices: true or false. In CSV representation, the value must equal <code>true</code> or <code>false</code> (no quotation marks). In JSON representation, if the field is not present, the value is considered <code>false</code>. Boolean values are NOT case sensitive. manualFlag: false

CATReporterIMID
String
Alphanumeric (7) - a CAT Reporter IMID. CATReporterIMID: BRK1

Date

An 8-digit integer representing the date in YYYYMMDD. tradeDate: 20180427

IndustryMemberID
String
Text (16) – CRD and SRO-assigned Market Participant Identifier assigned by an SRO to one of its members.<br><br>Formatted as &lt;CRD of the Market Participant&gt;:&lt;SRO-assigned Market Participant Identifier&gt;.<br><br>Example: CRD 123, IMID ABCD is populated as 123:ABCD. senderIMID: 123:FRMA

MessageType
String
Alphanumeric (5) indicating the type of message being reported. type: MENO

NumInGroup
Integer
Unsigned field representing the number of entries in a repeating group. Value must be positive.

Price
numeric
Numeric (10,8), which supports prices in the inclusive range from -9999999999.99999999 to 9999999999.99999999. price: 10.00

RealQuantity
numeric
Numeric (12,6) with up to 12 digits before the decimal point and up to 6 digits after the decimal point. However, the type Real Quantity cannot have trailing zeros in the decimal quantities. Trailing zeros in the decimal quantity will result in a rejection. <br> <br> For example, a value of 100.00 would not be accepted for the type Real Quantity, only 100 would be accepted. Similarly, a value of 100.10 would not be accepted, only 100.1 is acceptable for the type Real Quantity. Real Quantity must not be a negative value. quantity: 1000

String

Alpha-numeric free format strings, can include any character or punctuation except the delimiter. All String fields are case sensitive (i.e. morstatt != Morstatt).

StringList

Symbol
String
Text (22). Refer to Section 2.4.3 and Section 2.4.4 for more details on Equity and Options symbols. The string is case sensitive. symbol: XYZ

Text
String
A string, composed of any printable ASCII character from 32 to 126. The string may not include the following characters which serve as delimiters:<br>comma (ASCII decimal 44, hex 2C),<br>pipe (ASCII decimal 124, hex 7C),<br>double quote (ASCII decimal 34, hex 22),<br>and @ (ASCII decimal 64, hex 40).<br><br>When a Text data type is described, it will include a number, indicating the maximum length of the field. For example, Text (7) means that the field can contain up to 7 characters. Text values are case sensitive.<br><br>When represented in JSON, the following rule applies:<br><br>Backslash ‘\’ is a reserved printable character in JSON and must be escaped in order to be used in strings by inserting a backslash prior to it within the string. For example: routedOrderID = 1234\ABCD must be reported to CAT as “routedOrderID”:”1234\\ABCD”.<br><br> If the backslash is not escaped, it will be omitted from the string. For example, if the following is reported to CAT, “routedOrderID”:”1234\ABCD”, it will be stored as routedOrderID = 1234ABCD.<br> <br> Escape characters do not participate in the field value length.

Timestamp

A timestamp represents a moment in time. Two timestamp formats are supported including STRING and NUMBER. <br> <br> Timestamps formatted as a STRING have a maximum length of 25 and are formatted as ‘YYYYMMDD HHMMSS.CCCNNNNNN’ with the Date and Time portions, separated by a space (ASCII decimal 32, hex 20) or the letter T (ASCII decimal 84, hex 54). All timestamps submitted in STRING format must be in Eastern Time (ET). <br> • The Date portion must include four digit year, two digit month, and two digit day. Valid values: YYYY = 0000 - 9999, MM = 00 - 12, DD = 00 – 31. <br> • The Time portion must include a two digit hour, two digit minute, two digit seconds. Valid values: HH = 00 - 23, MM = 01 - 59, SS = 01 - 59, CCC = 000 – 999, NNNNNN = 000000 - 999999. <br> <br> Examples which comply with Timestamp in STRING format: <br>• 20190617T000120.000000000<br>• 20190617T000120<br>• 20190617T000120.000<br>• 20170107T213000.123456789<br>• 20170107 213000.123456789<br>• 20190617 000120.123000000<br><br>Examples which do not comply with Timestamp in STRING format:<br>• 20190617T0120<br>• 20190617T000120.<br><br>As an alternative format, timestamp can be submitted as a value of type Unsigned, representing the number of nanoseconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970, not counting leap seconds. This is also commonly known as POSIX time or UNIX time. The same point in time from the above example would be represented as the number 1483842600123456789. Timestamps submitted in UTC must not be adjusted for Eastern Time.<br><br>Note that the data type is different between the two formats. In JSON, the first representation requires it to be surrounded by double quotes, while the second does not.<br><br>Examples which comply with Timestamp in NUMBER format:<br>• 1483842600123456789<br><br>Examples which do not comply with Timestamp in NUMBER format:<br>• 20190617T000120<br>• 20190617 000120. eventTimestamp: 20180417T151018.123456

Unsigned
Integer
An unsigned value, greater than or equal to zero, with no decimal fraction component, in the inclusive range from 0 to 18,446,744,073,709,551,615 (the same range as a 64-bit unsigned integer). errorROEID: 123456789

WholeQuantity
numeric
Numeric (12,0). An integer value with no decimal fraction component. Whole Quantity must not be a negative value. minQty: 100

Data Dictionary

accountHolderType

Type: String

Allowed values in accountHolderTypeCodeSet:

Code | Name | Description
A | InstitutionalCustomer | An institutional account as defined in FINRA Rule 4512(c)
E | EmployeeAccount | An employee or associated person of the Industry Member or an employee or associated person of affiliated group companies
F | Foreign | A non-broker-dealer foreign affiliate or non-reporting foreign broker-dealer
I | IndividualCustomer | An account that does not meet the definition of “institution” as defined in FINRA Rule 4512(c) and is also not a proprietary account.
O | MarketMaking | See CAT FAQ C5 and CAT FAQ B68
V | FirmAgency | Firm agency average price account
P | OtherProprietary | Other proprietary
X | ErrorAccount | Error account of the firm

Used in groups: buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: AmendedAllocation, NewOrder, NewQuote, PostTradeAllocation

actionType

Type: String

Allowed values in actionTypeCodeSet:

Code | Name | Description
NEW | NewRecord | New record.
COR | Correction | Correction of events initiated by firms.
RPR | Repair | Repair of events for which a CAT error was provided in feedback.
DEL | Delete | Record level delete instruction. When deleting a record, Industry Members must not restate the event that is being deleted. Refer to Section 7 for instructions on record level deletions.

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

ADD

Add on Order. The customer adds additional shares to the order after it was fully executed.

Type: Boolean

Used in components: handlingInstructions

affiliateFlag

Type: Boolean

Allowed values in affiliateFlagCodeSet:

Code | Name | Description
false | NonAffiliate | Order is routed to or received from a non-affiliate.
true | Affiliate | Order is routed to or received from an affiliate.

Used in messages: NewOrder, OrderAccepted, OrderRoute, RouteModified

aggregatedOrders

Repeating group of aggregatedOrders components. Used to specify the individual customer/client order(s) being represented by a New Order event.

Name | Mult. | Type | Description
NoOrderIDs | [1..1] | NumInGroup | Repeating group below should contain unique combinations of orderID and orderKeyDate
orderID | [1..1] | Text |
orderKeyDate | [1..1] | Timestamp |
quantity | [0..1] | RealQuantity |
originatingIMID | [0..1] | CATReporterIMID |

Used in messages: NewOrder, NewOrderSupplement, OrderModified, OrderModifiedSupplement

AIP

Automated Investment Plan. Customer order was originated in accordance with an Automated Investment Plan.

Type: Boolean

Used in components: handlingInstructions

ALG

Order was received or originated with instructions to work using a Trading Algorithm as defined in the Glossary.

Type: Boolean

Used in components: handlingInstructions

ALGMod

Order originally received with instructions to work using a Trading Algorithm is later modified by the customer/client to use a different Trading Algorithm or change the settings of the trading algorithm.

Type: Boolean

Used in components: handlingInstructions

ALGS

Indicates that the event is part of an algorithmic strategy where the specific quantity may not be explicitly provided.

Type: Boolean

Used in components: handlingInstructions

allocationID

Text(64)

Type: Text

Used in messages: AmendedAllocation, PostTradeAllocation

allocationInstructionTime

Type: Timestamp

Used in messages: AmendedAllocation, PostTradeAllocation

allocationKeyDate

Type: Timestamp

Used in messages: AmendedAllocation, PostTradeAllocation

allocationType

Type: String

Allowed values in allocationTypeCodeSet:

Code | Name | Description
CUS | CustodyAccount | Allocation to a custody account
DVP | DVPAccount | Allocation to a DVP/RVP account
CUSF | CustodyAccountFOP | Allocation to a custody account free of payment (if available in the booking system)
DVPF | DVPAccountFOP | Allocation to a DVP/RVP account free of payment (if available in the booking system)
CMTA | OptionsCMTA | Options CMTA
FLP | CorrespondentFlip | Correspondent Flip
FRM | FirmAccount | An allocation to a firm owned or controlled account
STO | StepOutStepIn | Step out/Step In
OTH | Other | Other non-reportable transactions (e.g., option exercises, conversions, allocations to the account of a CAT Reporting Industry Member)

Used in messages: AmendedAllocation, PostTradeAllocation

ALO

Add Liquidity Only

Type: Boolean

Used in components: handlingInstructions

AOB

At or Between. Instructs the trader to execute at a trade price equal to the NBBO or between the NBBO and the midpoint.

Type: Boolean

Used in components: handlingInstructions

AOK

Auction or Kill. Applicable to exchange auctions.

Type: Boolean

Used in components: handlingInstructions

AON

All or None

Type: Boolean

Used in components: handlingInstructions

askPrice

Type: Price

Used in messages: NewQuote, QuoteModified, QuoteReceived, RoutedQuote

askQty

Type: WholeQuantity

Used in messages: NewQuote, QuoteModified, QuoteReceived, RoutedQuote

atsDisplayInd

Type: String

Allowed values in atsDisplayIndCodeSet:

Code | Name | Description
S | SubscriberOnly | Order is displayed outside of the ATS to subscribers only
A | SubscriberOnlyAggregatedByPrice | Order is displayed outside of the ATS to subscribers only, aggregated by price level on a timer basis
Y | PublicQuotation | Order is displayed outside of the ATS via public quotation
N | NotDisplayed | Order is not displayed outside of the ATS

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified

atsOrderType

Type: StringList

Used in messages: NewOrder, OrderAccepted, OrderModificationRequest, OrderModified

ATT

Attributable. Order is routed to an exchange or ATS with instructions that the order is attributable.

Type: Boolean

Used in components: handlingInstructions

AucResp

Auction Response. Requires the Auction ID value for option orders originated in response to an exchange auction. If there is no Auction ID, must be populated with a value of ‘NOAUCID’

Type: Alphanumeric

Used in components: handlingInstructions

bidPrice

Type: Price

Used in messages: NewQuote, QuoteModified, QuoteReceived, RoutedQuote

bidQty

Type: WholeQuantity

Used in messages: NewQuote, QuoteModified, QuoteReceived, RoutedQuote

BIN

Buy-In – An order executed pursuant to SEC or SRO rules (e.g., to comply with the close out requirements of Regulation SHO or FINRA Rule 4320, or the buy-in requirement of SEA Rule15c3-3). Refer to CAT FAQ B37.

Type: Boolean

Used in components: handlingInstructions

buyDetails

Captures the Order Key and additional information for the Order associated with the buy or sell side of a Trade Event.

Name | Mult. | Type | Description
NoOrderIDs | [1..1] | NumInGroup | Repeating group below should contain unique combinations of orderKeyDate and either orderID or firmDesignatedID.
orderKeyDate | [0..1] | Timestamp | Required if orderID is populated. The orderKeyDate of the order on this side.
orderID | [0..1] | Text | The order ID of the order on this side. When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.
side | [1..1] | CodeSet | The side of the trade.
reservedForFutureUse | [0..1] | Text | Field is Reserved for Future Use and must remain blank.
retiredFieldPosition | [0..1] | Text | Field position is retired and must remain blank.
quantity | [0..1] | RealQuantity | The execution quantity associated with this orderID.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
firmDesignatedID | [0..1] | Text | Applicable to internalized trades as described in Section 4.11 Trade. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.<br><br>When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.
accountHolderType | [0..1] | CodeSet | Required if firmDesignatedID is populated. Represents the type of account against which a customer/client order is being filled.

Used in messages: Trade, TradeSupplement

CAC

Customer Accommodation Correction. ‘COR’ event was submitted to CAT as the result of a customer accommodation. Not to be used if the ‘COR’ event was submitted to correct an error by the Industry Member.

Type: Boolean

Used in components: handlingInstructions

cancelFlag

Type: Boolean

Allowed values in cancelFlagCodeSet:

Code | Name | Description
true | Cancelled | Trade event was cancelled upon rejection by the TRF/ADF/ORF; or fulfillment was cancelled.
false | NotCancelled | trade event was not cancelled or cancellation was reported to the TRF/ADF/ORF; or fulfillment event was not cancelled.

Used in messages: AmendedAllocation, OrderFulfillment, PostTradeAllocation, Trade

cancelQty

Type: RealQuantity

Used in messages: ChildOrderCancelled, OrderCancelRequest, OrderCancelled, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, RouteCancelled

cancelTimestamp

Type: Timestamp

Used in messages: AmendedAllocation, OrderFulfillment, PostTradeAllocation, Trade

capacity

Type: String

Allowed values in capacityCodeSet:

Code | Name | Description
A | Agency | Agency
P | Principal | Principal
R | RisklessPrincipal | Riskless principal

Used in messages: OrderFulfillment, OrderFulfillmentAmendment, Trade

CASH

Cash Order. Instructs the Trader to buy or sell as much of a security as possible for a specified amount.

Type: Price

Used in components: handlingInstructions

CATReporterIMID

Type: CATReporterIMID

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

clearingFirm

Type: Unsigned

Used in messages: Trade

clientDetails

Specifies the Order Key and additional information for a Customer/Client Order or Firm Originated Order for which a fulfillment event is associated.

Name
Mult.
Type
Description

NoOrderIDs
[1..1]
NumInGroup
Repeating group below should contain unique combinations of orderKeyDate and either orderID or firmDesignatedID.

orderKeyDate
[0..1]
Timestamp
Required if orderID is populated. The orderKeyDate of the order on this side.

orderID
[0..1]
Text
The order ID assigned by the Industry Member to the order on this side. When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.

side
[1..1]
CodeSet
The side of the trade.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

firmDesignatedID
[0..1]
Text
Applicable to firmDetails when fulfillmentLinkType ’YE’ or ‘YP’ is populated, as described in Appendix C. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.<br><br>When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.

accountHolderType
[0..1]
CodeSet
Required if firmDesignatedID is populated. C Represents the type of account against which a customer/client order is being filled.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

Used in messages: OrderFulfillment, OrderFulfillmentAmendment

CMC

Contingent on Market Conditions

Type: Boolean

Used in components: handlingInstructions

CMPX

Electronic message representing an individual simple option or equity leg of a complex option order that was optionally reported to CAT.

Type: Boolean

Used in components: handlingInstructions

CND

Conditional Order. An order where the terms and conditions of the order are derived from a related transaction.

Type: Boolean

Used in components: handlingInstructions

correspondentCRD

Type: Unsigned

Used in messages: AmendedAllocation, PostTradeAllocation

counterparty

Type: IndustryMemberID

Used in messages: Trade

CPR

Counterparty Restriction. Instructions that the order cannot be placed against certain counterparties.

Type: Boolean

Used in components: handlingInstructions

CSC

Contingent on Spread Condition - order with a condition that may cause the order to become active or inactive multiple times throughout the day.

Type: Boolean

Used in components: handlingInstructions

CSH

Delivery Instruction: Cash trade settles on the same date.

Type: Boolean

Used in components: handlingInstructions

CTR

OTC Link ATS Counter Message. Indicates that a New Order event, Order Route event or Order Accepted event represents the origination, route or receipt of a counter message through OTC Link ATS.

Type: Boolean

Used in components: handlingInstructions

custDspIntrFlag

Type: Boolean

Allowed values in custDspIntrFlagCodeSet:

Code | Name | Description
true | Instructed | Customer/client has instructed that a limit order should not be displayed or that a block size order be displayed.
false | NotInstructed | No instruction has been received from the customer/client that a limit order should not be displayed or that a block size order should be displayed.

Used in messages: NewOrder, OrderAccepted, OrderModificationRequest, OrderModified

d

Discretionary Peg

Type: Boolean

Used in components: handlingInstructions

DAC

Delta-Adjusted at Close. A DAC order is an options order that executes during the trading day and, for which, the execution price is adjusted based on a delta value applied to the change in the price of the underlying reference price from the time of order execution to the market close.

Type: Boolean

Used in components: handlingInstructions

DAY

timeInForce

Type: Date

Used in components: timeInForce

deptType

Type: String

Allowed values in deptTypeCodeSet:

Code | Name | Description
A | Agency | A desk or department where orders may be routed to other trading centers, either by a trading system or with the assistance of traders. This would include smart routers and algorithmic trading.
ATS | AlternativeTradingSystem | A trading system that meets the definition of “Alternative Trading System” under Regulation ATS.
DMA | DirectMarketAccess | For CAT reporting purposes, represents when an Industry Member permits a customer to use a market participant identifier assigned to the Industry Member to route orders directly to market centers.
SA | SponsoredAccess | For CAT reporting purposes, represents when an Industry Member permits another broker-dealer to use a market participant identifier assigned to the Industry Member to route orders directly to market centers.
T | Trading | A desk or department where orders are executed. This may be interpreted as either a trading system or a desk or department where orders are executed with the assistance of traders.
O | Other | A department that does not execute orders or route orders to other trading centers. The value of ‘O’ must only be used on events that are followed by Internal Route Accepted events.

Used in messages: NewOrder, OrderAccepted, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified

deskOrderID

Text(64)

Type: Text

Used in messages: OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified

destination

IndustryMemberID/ExchangeID

Type: String

Used in messages: OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement

destinationType

Type: String

Allowed values in destinationTypeCodeSet:

Code | Name | Description
D | DisplayOnly | Facility operated by a national securities association.
F | IndustryMembers | Routing destination is an Industry Member.
E | Exchange | Routing destination is an exchange.
N | ForeignBrokerDealer | Routing destination is foreign broker-dealer. Not applicable to options events.
O | ForeignOTCEquity | OTC Equity symbol in a foreign security was sent to another Industry Member, who may route the order to a foreign market for execution.

Used in messages: OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement

DIR

Directed Orders – Orders that meet the definition of “Directed Order” under Regulation NMS (formerly defined under SEC Rule 11Ac1–6), or any other order that is received or originated with instructions to route to a particular venue for execution.

Type: Boolean

Used in components: handlingInstructions

DISP

Display Price. The display price at the time the order is received, originated, or routed. Requires a numeric value representing the display price (e.g., DISP=10.00)

Type: Price

Used in components: handlingInstructions

displayPrice

Type: Price

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified

displayQty

Type: WholeQuantity

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified

DISQ

Display Quantity. The display quantity at the time the order is received, originated, or routed. Requires a numeric value representing the display quantity (e.g., DISQ=1000) Data Type: Real Quantity

Type: RealQuantity

Used in components: handlingInstructions

DIV

Dividend Reinvestment Order. Order is part of a dividend reinvestment program.

Type: Boolean

Used in components: handlingInstructions

DLVF

OTC Link ATS Message delivered from instruction. On an Order Accepted event reflecting the receipt of an OTC Link Message from OTC Link ATS or an Order Route event reflecting the route of an OTC Link Message by OTC Link ATS, reflects the IMID of the Industry Member that the OTC Link Message was delivered from (e.g., DLVF:IMID)

Type: Text

Used in components: handlingInstructions

DLVT

OTC Link ATS Message deliver to instruction. On an Order Route event reflecting the route of an OTC Link Message to OTC Link ATS or an Order Accepted event reflecting the receipt of an OTC Link Message by OTC Link ATS, reflects the IMID of the Industry Member that the OTC Link Message was delivered to (e.g., DLVT:IMID)

Type: StringList

Used in components: handlingInstructions

DNI

Do Not Increase

Type: Boolean

Used in components: handlingInstructions

DNR

Do Not Reduce

Type: Boolean

Used in components: handlingInstructions

DNRT

Do Not Route

Type: Boolean

Used in components: handlingInstructions

dupROIDCond

Type: Boolean

Allowed values in dupROIDCondCodeSet:

Code | Name | Description
true | DuplicateRoutedID | Event contains a duplicated routedOrderID or routedQuoteID.
false | UniqueRoutedID | Event does not contain a duplicated routedOrderID or routedQuoteID.

Used in messages: OrderRoute, QuoteReceived, RouteModified, RoutedQuote

DVPCustodianID

Text(40)

Type: Text

Used in messages: AmendedAllocation, PostTradeAllocation

electronicDupFlag

Type: Boolean

Allowed values in electronicDupFlagCodeSet:

Code | Name | Description
true | Duplicate | Event is a duplicative electronic message.
false | NonDuplicate | Event is not a duplicative electronic message.

Used in messages: NewOrder, OrderAccepted, OrderModified, OrderRoute

electronicTimestamp

Type: Timestamp

Used in messages: NewOrder, NewQuote, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderFulfillment, OrderFulfillmentAmendment, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteModified, RoutedQuote, Trade

ERP

Exchange Retail Provider – An order routed to an exchange to interact with retail orders as part of a retail pricing program. Pricing, display and counterparty eligibility for exchange retail provider orders are subject to the rules of the receiving exchange.

Type: Boolean

Used in components: handlingInstructions

errorROEID

Type: Unsigned

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

eventTimestamp

Type: Timestamp

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

EW

Exchange for Physical Transaction – Equity trade component of an “exchange for physical” transaction. An exchange for physical transaction involves two parties simultaneously executing a futures contract and an equity transaction (for the securities covered by the futures contract), typically involving baskets that replicate common indices.

Type: Boolean

Used in components: handlingInstructions

FB

Cboe Floor Broker. Indicates that the order is directed to a Cboe floor broker.

Type: Boolean

Used in components: handlingInstructions

FBA

NYSE Floor Broker Algorithm indicates that the order is routed to the Exchange via a NYSE Floor Broker Algorithm.

Type: Boolean

Used in components: handlingInstructions

fillKeyDate

Type: Timestamp

Used in messages: OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement

firmDesignatedID

Text(40)

Type: Text

Used in groups: buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: AmendedAllocation, NewOrder, NewOrderSupplement, NewQuote, PostTradeAllocation

firmDetails

The Fulfillment Side Details associated with fields: clientDetails and firmDetails. Limited to 1 set of details for each side.

Name
Mult.
Type
Description

NoOrderIDs
[1..1]
NumInGroup
Limited to 1 set of details for each side.

orderKeyDate
[0..1]
Timestamp
Required if orderID is populated. The orderKeyDate of the order on this side.

orderID
[0..1]
Text
The order ID assigned by the Industry Member to the order on this side. When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.

side
[1..1]
CodeSet
The side of the fulfillment.

retiredFieldPosition
[0..1]
Text
Field position is retired and must remain blank.

firmDesignatedID
[0..1]
Text
Applicable to firmDetails when fulfillmentLinkType ’YE’ or ‘YP’ is populated, as described in Appendix C. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field. When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.

accountHolderType
[0..1]
CodeSet
Required if firmDesignatedID is populated. Represents the type of account against which a customer/client order is being filled.

quantity
[0..1]
RealQuantity
The execution quantity associated with this orderID.

originatingIMID
[0..1]
CATReporterIMID
An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.

Used in messages: OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement

firmROEID

Text(64)

Type: Text

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

FOK

Fill or Kill - Indicates the order is intended for immediate execution in its entirety, and if not executed in its entirety, the order is cancelled

Type: Boolean

Used in components: handlingInstructions

FS

Suspend

Type: Boolean

Used in components: handlingInstructions

fulfillmentID

Text(64)

Type: Text

Used in messages: OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement

fulfillmentLinkType

Type: String

Allowed values in fulfillmentLinkTypeCodeSet:

Code
Name
Description

FOR
ForeignOrderRouteFulfillment
Fulfillment on an order routed to a foreign destination, no linkage required

Y
RepresentativeOrder
Representative Order, linkage required

YE
RepresentativeEligible
Order eligible for customer/client fills via an unlinked system (unlinked OMS-EMS or position fill). <br> All Industry Members will be required to provide representative order linkages to unlinked OMS/EMS and position fill scenarios no later than July 31, 2024 due to the expiry of the exemptive relief granted by the SEC on July 8, 2022.

YP
FillFromExistingPrincipalOrderOrQuote
Fill from pre-existing Principal order or pre-existing quote, linkage required

YS
RepresentativeOrderWithSupplementEvent
Representative Order, linkage required, details provided in a supplement event

O
OptionsOrderFulfillment
Options Order Fulfillment

OS
OptionsCombinedOrderWithSupplementEvent
Combined Options Order, linkage required, details provided in a supplement event

OML
MultiLegOptionsOrderFulfillment
Multi-Leg Options Order Fulfillment

Used in messages: OrderFulfillment, OrderFulfillmentAmendment

FUT

Futures Related Trade. Price or size of a cash order is contingent upon a related futures trade.

Type: Boolean

Used in components: handlingInstructions

G

G Order – An order for an account covered by Exchange Act §11(a) that relies on §11(a)(1)(G) as an exemption to §11(a)(1).

Type: Boolean

Used in components: handlingInstructions

GFD

timeInForce

Type: Unsigned

Used in components: timeInForce

GP

Guaranteed Price. Order was received or originated with instructions to execute at a guaranteed price.

Type: Boolean

Used in components: handlingInstructions

GTC

timeInForce

Type: Boolean

Used in components: timeInForce

GTD

timeInForce

Type: Date

Used in components: timeInForce

GTM

timeInForce

Type: Boolean

Used in components: timeInForce

GTT

timeInForce

Type: Timestamp

Used in components: timeInForce

GTX

timeInForce

Type: Date

Used in components: timeInForce

handlingInstructions

Order handling instructions qualify the pricing, quantity, execution timing, or execution method of an order. All instructions that apply to the order must be included.

Name
Mult.
Type
Description

ADD
[0..1]
Boolean
Add on Order. The customer adds additional shares to the order after it was fully executed.

AIP
[0..1]
Boolean
Automated Investment Plan. Customer order was originated in accordance with an Automated Investment Plan.

ALG
[0..1]
Boolean
Order was received or originated with instructions to work using a Trading Algorithm as defined in the Glossary.

ALGMod
[0..1]
Boolean
Order originally received with instructions to work using a Trading Algorithm is later modified by the customer/client to use a different Trading Algorithm or change the settings of the trading algorithm.

ALGS
[0..1]
Boolean
Indicates that the event is part of an algorithmic strategy where the specific quantity may not be explicitly provided.

ALO
[0..1]
Boolean
Add Liquidity Only

AOB
[0..1]
Boolean
At or Between. Instructs the trader to execute at a trade price equal to the NBBO or between the NBBO and the midpoint.

AOK
[0..1]
Boolean
Auction or Kill. Applicable to exchange auctions.

AON
[0..1]
Boolean
All or None

ATT
[0..1]
Boolean
Attributable. Order is routed to an exchange or ATS with instructions that the order is attributable.

BIN
[0..1]
Boolean
Buy-In – An order executed pursuant to SEC or SRO rules (e.g., to comply with the close out requirements of Regulation SHO or FINRA Rule 4320, or the buy-in requirement of SEA Rule15c3-3). Refer to CAT FAQ B37.

CAC
[0..1]
Boolean
Customer Accommodation Correction. ‘COR’ event was submitted to CAT as the result of a customer accommodation. Not to be used if the ‘COR’ event was submitted to correct an error by the Industry Member.

CMC
[0..1]
Boolean
Contingent on Market Conditions

CMPX
[0..1]
Boolean
Electronic message representing an individual simple option or equity leg of a complex option order that was optionally reported to CAT.

CND
[0..1]
Boolean
Conditional Order. An order where the terms and conditions of the order are derived from a related transaction.

CPR
[0..1]
Boolean
Counterparty Restriction. Instructions that the order cannot be placed against certain counterparties.

CTR
[0..1]
Boolean
OTC Link ATS Counter Message. Indicates that a New Order event, Order Route event or Order Accepted event represents the origination, route or receipt of a counter message through OTC Link ATS.

CSC
[0..1]
Boolean
Contingent on Spread Condition - order with a condition that may cause the order to become active or inactive multiple times throughout the day.

CSH
[0..1]
Boolean
Delivery Instruction: Cash trade settles on the same date.

d
[0..1]
Boolean
Discretionary Peg

DAC
[0..1]
Boolean
Delta-Adjusted at Close. A DAC order is an options order that executes during the trading day and, for which, the execution price is adjusted based on a delta value applied to the change in the price of the underlying reference price from the time of order execution to the market close.

DIR
[0..1]
Boolean
Directed Orders – Orders that meet the definition of “Directed Order” under Regulation NMS (formerly defined under SEC Rule 11Ac1–6), or any other order that is received or originated with instructions to route to a particular venue for execution.

DIV
[0..1]
Boolean
Dividend Reinvestment Order. Order is part of a dividend reinvestment program.

DNI
[0..1]
Boolean
Do Not Increase

DNR
[0..1]
Boolean
Do Not Reduce

DNRT
[0..1]
Boolean
Do Not Route

ERP
[0..1]
Boolean
Exchange Retail Provider – An order routed to an exchange to interact with retail orders as part of a retail pricing program. Pricing, display and counterparty eligibility for exchange retail provider orders are subject to the rules of the receiving exchange.

EW
[0..1]
Boolean
Exchange for Physical Transaction – Equity trade component of an “exchange for physical” transaction. An exchange for physical transaction involves two parties simultaneously executing a futures contract and an equity transaction (for the securities covered by the futures contract), typically involving baskets that replicate common indices.

FB
[0..1]
Boolean
Cboe Floor Broker. Indicates that the order is directed to a Cboe floor broker.

FBA
[0..1]
Boolean
NYSE Floor Broker Algorithm indicates that the order is routed to the Exchange via a NYSE Floor Broker Algorithm.

FOK
[0..1]
Boolean
Fill or Kill - Indicates the order is intended for immediate execution in its entirety, and if not executed in its entirety, the order is cancelled

FS
[0..1]
Boolean
Suspend

FUT
[0..1]
Boolean
Futures Related Trade. Price or size of a cash order is contingent upon a related futures trade.

G
[0..1]
Boolean
G Order – An order for an account covered by Exchange Act §11(a) that relies on §11(a)(1)(G) as an exemption to §11(a)(1).

GP
[0..1]
Boolean
Guaranteed Price. Order was received or originated with instructions to execute at a guaranteed price.

IDX
[0..1]
Boolean
Intra-Day Cross

IO
[0..1]
Boolean
Imbalance Only

LOC
[0..1]
Boolean
Limit on Close - Instructs the trader to execute the order at the closing price provided that the closing price is at or within the limit specified.

LOO
[0..1]
Boolean
Limit on Open - Instructs trader to execute the order at the opening price provided that the opening price is at or within the limit specified.

M
[0..1]
Boolean
Midpoint Peg

MAC
[0..1]
Boolean
Market at Close. Instructs the trader to execute the order at the closing inside quote price of regular market hours.

MAO
[0..1]
Boolean
Market at Open. Instructs the trader to execute the order at the opening inside quote price of regular market hours.

MAX
[0..1]
Boolean
OTC Link ATS Message MAX instruction. Reflects the maximum number of shares to be executed between selected market makers.

MOB
[0..1]
Boolean
Midpoint or Better. Instructs the trader to execute at a trade price equal to the midpoint or better.

MOC
[0..1]
Boolean
Market on Close. Instructs the trader to execute the order at the closing last sale price of regular market hours.

MOO
[0..1]
Boolean
Market on Open. Instructs the trader to execute the order at the opening print price of regular market hours.

MRP
[0..1]
Boolean
Merger Related Transfer Position

MTL
[0..1]
Boolean
Market to Limit. An order that is sent in as a market order to execute at the current best price. If the entire order does not immediately execute at the market price, the remainder of the order is resubmitted as a limit order with the limit price set to the price at which the original order executed.

NAV
[0..1]
Boolean
Net Asset Value. Order was received or originated with instructions to execute at a Net Asset Value.

NCTR
[0..1]
Boolean
OTC Link ATS No Counter. Indicates if an OTC Link ATS message cannot be countered with an inferior price.

ND
[0..1]
Boolean
Delivery Instructions: Next Day – equity trade settles on next trade date. Not applicable to options.

NH
[0..1]
Boolean
Not Held

OCP
[0..1]
Boolean
OTC Link ATS instruction to cancel after partial execution.

OFF
[0..1]
Boolean
Price includes offset

OPO
[0..1]
Boolean
Opt Out of Locked Market

OPT
[0..1]
Boolean
Options Related Trade. Price or size of a cash order is contingent upon a related option trade Refer to CAT FAQ K5 for additional information.

OVD
[0..1]
Boolean
Over the Day. Requires that a trader break up an order into several partial executions. The customer may specify the number of executions.

P
[0..1]
Boolean
Market Peg

PBG
[0..1]
Boolean
Price Based on Greeks - Indicates that the limit price is to be determined by Greeks or other formula based on market conditions.

PCS
[0..1]
Boolean
Position Compression Service – Indicates that the order is to be executed through an exchange position compression service.

PEG
[0..1]
Boolean
Indicates that the limit price is to be determined by a specific market price and/or volume factor or that the limit price should be determined pursuant to a specific formula.

QCC
[0..1]
Boolean
Route was related to an order that was sent as a Qualified Contingent Cross.

R
[0..1]
Boolean
Primary Peg

RAR
[0..1]
Boolean
Routed as Received. For orders routed without any changes to the handling instructions, reporters may use this code to indicate that the handling instructions are equal to the received order.

RLO
[0..1]
Boolean
Retail Liquidity Order. Order is routed to an exchange marked as a retail order.

RSV
[0..1]
Boolean
Reserve Size Order. Required for an order for which a customer has authorized the public display of part of the full size of the order with the remainder held in reserve on an undisplayed basis to be displayed in whole or in part as the displayed part is executed.

SCL
[0..1]
Boolean
Scale. Requires partial executions that are not more than a specified price increment apart.

SLD
[0..1]
Boolean
Slide. Order is routed to an exchange or ATS with an instruction to adjust the limit price to prevent a locked or crossed market.

SLL
[0..1]
Boolean
Strategy Legs Later. Indicates that the multi-leg strategy order contains multiple option legs, where at least one leg is known and the receiving party determines one or more of the leg(s).

SLQ
[0..1]
Boolean
Stop Limit on Quote. An order that is triggered by a quotation at which point the stopped order becomes a limit order.

SLR
[0..1]
Boolean
Delivery Instructions: Seller’s Option - trade settles on the date determined by a seller.

SOQ
[0..1]
Boolean
Stop on Quote. An order that is triggered by a quotation at which point the stopped order becomes a market order.

STOPF
[0..1]
Boolean
Stop Formula – exact stop price is unknown because it is either based on an underlying condition or will be determined by the destination venue.

STP
[0..1]
Boolean
Self Trade Prevention TS Trailing Stop

TS
[0..1]
Boolean
Trailing stop

TTF
[0..1]
Boolean
Tied to Fixed Income

TTO
[0..1]
Boolean
Tied to a product that is not CAT reportable and is not identified through any other handlingInstructions value.

TTS
[0..1]
Boolean
Tied to Stock

TTSO
[0..1]
Boolean
Tied to Simple Option

TTU
[0..1]
Boolean
Tied to Unlisted Option

UNP
[0..1]
Boolean
Unpriced Quote on an Order Driven Market – Applicable to orders received by Global OTC.

UNS
[0..1]
Boolean
Unsolicited Quote on an Order Driven Market – Applicable to orders received by Global OTC.

WDP
[0..1]
Boolean
With Discretion Price - Discretion on Limit Price Within a Specified Range.

WRK
[0..1]
Boolean
Work. Leaves the time of execution to the trader’s discretion either full execution or partial executions are accepted.

AucResp
[0..1]
Alphanumeric
Auction Response. Requires the Auction ID value for option orders originated in response to an exchange auction. If there is no Auction ID, must be populated with a value of ‘NOAUCID’

CASH
[0..1]
Price
Cash Order. Instructs the Trader to buy or sell as much of a security as possible for a specified amount.

DISP
[0..1]
Price
Display Price. The display price at the time the order is received, originated, or routed. Requires a numeric value representing the display price (e.g., DISP=10.00)

DISQ
[0..1]
RealQuantity
Display Quantity. The display quantity at the time the order is received, originated, or routed. Requires a numeric value representing the display quantity (e.g., DISQ=1000) Data Type: Real Quantity

DLVF
[0..1]
Text
OTC Link ATS Message delivered from instruction. On an Order Accepted event reflecting the receipt of an OTC Link Message from OTC Link ATS or an Order Route event reflecting the route of an OTC Link Message by OTC Link ATS, reflects the IMID of the Industry Member that the OTC Link Message was delivered from (e.g., DLVF:IMID)

DLVT
[0..1]
StringList
OTC Link ATS Message deliver to instruction. On an Order Route event reflecting the route of an OTC Link Message to OTC Link ATS or an Order Accepted event reflecting the receipt of an OTC Link Message by OTC Link ATS, reflects the IMID of the Industry Member that the OTC Link Message was delivered to (e.g., DLVT:IMID)

STOP
[0..1]
Price
Stop Price - requires a Numeric value representing the stop price (e.g., STOP=17.95)

SW
[0..1]
Price
Stop Stock Transaction – Any transaction resulting from an order for which a member and another party agree that the order will be executed at a Stop Stock Price or better. Requires a numeric value representing the agreed stop price.

SWQ
[0..1]
WholeQuantity
Stop Stock Quantity - requires a Numeric value representing the quantity of shares of a stop stock order being stopped if the entire shares quantity of the order is not being stopped (e.g., SWQ=500). When SWQ is populated, SW must also be populated.

TMO
[0..1]
Timestamp
The trigger time of the Time Managed Order (e.g. the specific date and time that an order becomes a market or limit price order) - requires a Timestamp value.

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

IDX

Intra-Day Cross

Type: Boolean

Used in components: handlingInstructions

infoBarrierID

Text(20)

Type: Text

Used in messages: ChildOrder, NewOrder, OrderAccepted, OrderCancelRequest, OrderCancelled, OrderFulfillment, OrderInternalRouteAccepted, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, Trade

initiator

Type: String

Allowed values in initiatorCodeSet:

Code | Name | Description
C | InitiatedByCustomer | Initiated by the Customer/Client
F | InitiatedByFirm | Initiated by the firm

Used in messages: OrderAdjusted, OrderCancelled, OrderInternalRouteCancelled, OrderInternalRouteModified, OrderModified, QuoteCancelled

institutionFlag

Type: Boolean

Allowed values in institutionFlagCodeSet:

Code | Name | Description
true | InstitutionAcct | Account meets the definition of institution under FINRA Rule 4512(c).
false | NonInstitutionAcct | Account does not meet the definition of institution under FINRA Rule 4512(c).

Used in messages: AmendedAllocation, PostTradeAllocation

IO

Imbalance Only

Type: Boolean

Used in components: handlingInstructions

IOC

timeInForce

Type: Boolean

Used in components: timeInForce

IOR

timeInForce

Type: Boolean

Used in components: timeInForce

isoInd

Type: String

Allowed values in isoIndCodeSet:

Code | Name | Description
ISOD | IntermarketSweepOrderDay | Intermarket Sweep Order - Day
ISOI | IntermarketSweepOrderIOC | Intermarket Sweep Order – IOC
NA | NotApplicable | Not applicable

Used in messages: OrderAccepted, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

leavesQty

Type: RealQuantity

Used in messages: ChildOrderCancelled, ChildOrderModified, OrderAdjusted, OrderCancelled, OrderInternalRouteCancelled, OrderInternalRouteModified, OrderModified

LOC

Limit on Close - Instructs the trader to execute the order at the closing price provided that the closing price is at or within the limit specified.

Type: Boolean

Used in components: handlingInstructions

LOO

Limit on Open - Instructs trader to execute the order at the opening price provided that the opening price is at or within the limit specified.

Type: Boolean

Used in components: handlingInstructions

M

Midpoint Peg

Type: Boolean

Used in components: handlingInstructions

MAC

Market at Close. Instructs the trader to execute the order at the closing inside quote price of regular market hours.

Type: Boolean

Used in components: handlingInstructions

manualFlag

Type: Boolean

Allowed values in manualFlagCodeSet:

Code | Name | Description
true | ManualOrder | Event was received/handled manually.
false | NonManualOrder | Event was not received/handled manually.

Used in messages: NewOrder, NewQuote, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderFulfillment, OrderFulfillmentAmendment, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, OrderRouteSupplement, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, Trade

manualOrderID

Text(64)

Type: Text

Used in messages: NewOrder, OrderAccepted, OrderModified

manualOrderKeyDate

Type: Timestamp

Used in messages: NewOrder, OrderAccepted, OrderModified

MAO

Market at Open. Instructs the trader to execute the order at the opening inside quote price of regular market hours.

Type: Boolean

Used in components: handlingInstructions

marketCenterID

Type: String

Allowed values in marketCenterIDCodeSet:

Code | Name | Description
D | AlternativeDisplayFacility | FINRA Alternative Display Facility
DC | ChicagoTradeReportingFacility | FINRA/Nasdaq Chicago Trade Reporting Facility
DN | NYSETradeReportingFacility | FINRA/NYSE Trade Reporting Facility
L | NasdaqTradeReportingFacility | FINRA/Nasdaq Trade Reporting Facility
O | OTCReportingFacility | OTC Reporting Facility
A | NYSEMKT | NYSE MKT
B | NasdaqBX | Nasdaq BX
BF | BostonSecurityTokenExchange | Boston Security Token Exchange
C | NYSENational | NYSE National
F | NonUSExchange | Non-US Exchange
H | MIAXPEARLEquities | MIAX PEARL Equities
I | InternationalSecuritiesExchange | International Securities Exchange
J | CboeEDGAExchange | Cboe EDGA Exchange
K | CboeEDGXExchange | Cboe EDGX Exchange
LT | LongTermStockExchange | Long Term Stock Exchange
M | NYSEChicagoStockExchange | NYSE Chicago Stock Exchange
N | NewYorkStockExchange | New York Stock Exchange
P | NYSEArca | NYSE Arca
Q | NasdaqStockMarket | The Nasdaq Stock Market
U | MembersExchange | Members Exchange
V | InvestorsExchange | Investors Exchange
W | CboeStockExchange | Cboe Stock Exchange
X | NasdaqPSX | Nasdaq PSX
Y | CboeBYXExchange | Cboe BYX Exchange
Z | CboeBZXExchange | Cboe BZX Exchange
ARCAOP | NYSEArcaOptions | NYSE ARCA Options
AMEROP | NYSEAmericanOptions | NYSE American Options
BOX | BOXOptionsExchange | BOX Options Exchange
BZXOP | CboeBZXOptions | Cboe BZX Options Exchange
C2 | CboeC2Options | Cboe C2 Options
CBOE | CboeExchange | Cboe Exchange
CHX | NYSECHX | NYSE CHX
EDGXOP | CboeEDGXOptions | Cboe EDGX Options
EMLD | MIAXEmerald | MIAX Emerald
GEMX | NasdaqGEMX | Nasdaq GEMX
ISE | NasdaqISE | Nasdaq ISE
MIAMI | MiamiInternationalSecuritiesExchange | Miami International Securities Exchange
MRX | NasdaqMRX | Nasdaq MRX
NOBO | NasdaqBXOptions | NASDAQ BX Options
NOM | NasdaqOptions | NASDAQ Options Market
PEARL | MIAXPEARL | MIAX PEARL
PHLX | NasdaqPHLXOptions | NASDAQ PHLX Options

Used in messages: Trade

MAX

OTC Link ATS Message MAX instruction. Reflects the maximum number of shares to be executed between selected market makers.

Type: Boolean

Used in components: handlingInstructions

minQty

Type: WholeQuantity

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

MOB

Midpoint or Better. Instructs the trader to execute at a trade price equal to the midpoint or better.

Type: Boolean

Used in components: handlingInstructions

MOC

Market on Close. Instructs the trader to execute the order at the closing last sale price of regular market hours.

Type: Boolean

Used in components: handlingInstructions

MOO

Market on Open. Instructs the trader to execute the order at the opening print price of regular market hours.

Type: Boolean

Used in components: handlingInstructions

mpStatusCode

Type: String

Allowed values in mpStatusCodeCodeSet:

Code | Name | Description
O | Open | Open
C | Close | Close

Used in messages: QuoteStatus

MRP

Merger Related Transfer Position

Type: Boolean

Used in components: handlingInstructions

MTL

Market to Limit. An order that is sent in as a market order to execute at the current best price. If the entire order does not immediately execute at the market price, the remainder of the order is resubmitted as a limit order with the limit price set to the price at which the original order executed.

Type: Boolean

Used in components: handlingInstructions

multiLegInd

Type: Boolean

Allowed values in multiLegIndCodeSet:

Code | Name | Description
true | MultiLegOrder | The immediately preceding event in the order life cycle is a Multi-Leg order event.
false | NonMultiLegOrder | The immediately preceding event in the order life cycle is not a Multi-Leg order event.

Used in messages: ChildOrder, OrderInternalRouteAccepted, OrderRoute, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, Trade, TradeSupplement

NAV

Net Asset Value. Order was received or originated with instructions to execute at a Net Asset Value.

Type: Boolean

Used in components: handlingInstructions

nbboSource

Type: String

Allowed values in nbboSourceCodeSet:

Code | Name | Description
D | Direct | Direct
S | SIP | SIP
H | Hybrid | NBBO Source of Hybrid is used in instances where the firm uses a combination of Direct and SIP feeds as its NBBO Source.
NA | NotApplicable | Not applicable

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified, Trade

nbboTimestamp

Type: Timestamp

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified, Trade

nbbPrice

Type: Price

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified, Trade

nbbQty

Type: WholeQuantity

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified, Trade

nboPrice

Type: Price

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified, Trade

nboQty

Type: WholeQuantity

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified, Trade

NCTR

OTC Link ATS No Counter. Indicates if an OTC Link ATS message cannot be countered with an inferior price.

Type: Boolean

Used in components: handlingInstructions

ND

Delivery Instructions: Next Day – equity trade settles on next trade date. Not applicable to options.

Type: Boolean

Used in components: handlingInstructions

negotiatedTradeFlag

Type: Boolean

Allowed values in negotiatedTradeFlagCodeSet:

Code | Name | Description
true | NegotiatedTrade | Indicates the trade is a result of a negotiation.
false | NonNegotiatedTrade | Indicates the trade is not the result of a negotiation.

Used in messages: NewOrder

netPrice

Type: Price

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

newOrderFDID

Text(40)

Type: Text

Used in messages: AmendedAllocation, PostTradeAllocation

NH

Not Held

Type: Boolean

Used in components: handlingInstructions

NoOrderIDs

Type: NumInGroup

Used in groups: aggregatedOrders, buyDetails, clientDetails, firmDetails, sellDetails

OCP

OTC Link ATS instruction to cancel after partial execution.

Type: Boolean

Used in components: handlingInstructions

OFF

Price includes offset

Type: Boolean

Used in components: handlingInstructions

onlyOneQuoteFlag

Type: Boolean

Allowed values in onlyOneQuoteFlagCodeSet:

Code | Name | Description
true | OnlyOneQuoteAllowed | System allows only one quote.
false | MultipleQuotesAllowed | System allows multiple quotes.

Used in messages: NewQuote, QuoteReceived

OPO

Opt Out of Locked Market

Type: Boolean

Used in components: handlingInstructions

OPT

Options Related Trade. Price or size of a cash order is contingent upon a related option trade Refer to CAT FAQ K5 for additional information.

Type: Boolean

Used in components: handlingInstructions

orderID

Text(64)

Type: Text

Used in groups: aggregatedOrders, buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement

orderKeyDate

Type: Timestamp

Used in groups: aggregatedOrders, buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement

orderType

Type: String

Allowed values in orderTypeCodeSet:

Code | Name | Description
CAB | Cabinet | Cabinet order
LMT | Limit | Limit order
MKT | Market | Market order

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

originatingIMID

Type: CATReporterIMID

Used in groups: aggregatedOrders, buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrderSupplement, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillmentAmendment, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, QuoteCancelled, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement

OVD

Over the Day. Requires that a trader break up an order into several partial executions. The customer may specify the number of executions.

Type: Boolean

Used in components: handlingInstructions

P

Market Peg

Type: Boolean

Used in components: handlingInstructions

pairedOrderID

Text(64)

Type: Text

Used in messages: OrderAccepted, OrderRoute

parentOrderID

Text(64)

Type: Text

Used in messages: ChildOrder, OrderInternalRouteAccepted

parentOrderKeyDate

Type: Timestamp

Used in messages: ChildOrder, OrderInternalRouteAccepted

PBG

Price Based on Greeks - Indicates that the limit price is to be determined by Greeks or other formula based on market conditions.

Type: Boolean

Used in components: handlingInstructions

PCS

Position Compression Service – Indicates that the order is to be executed through an exchange position compression service.

Type: Boolean

Used in components: handlingInstructions

PEG

Indicates that the limit price is to be determined by a specific market price and/or volume factor or that the limit price should be determined pursuant to a specific formula.

Type: Boolean

Used in components: handlingInstructions

price

Type: Price

Used in messages: AmendedAllocation, ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, PostTradeAllocation, RouteModified, Trade

priorAllocationID

Text(64)

Type: Text

Used in messages: AmendedAllocation

priorAllocationKeyDate

Type: Timestamp

Used in messages: AmendedAllocation

priorDeskOrderID

Text(64)

Type: Text

Used in messages: OrderInternalRouteModified

priorFillKeyDate

Type: Timestamp

Used in messages: OrderFulfillmentAmendment

priorFulfillmentID

Text(64)

Type: Text

Used in messages: OrderFulfillmentAmendment

priorOrderID

Text(64)

Type: Text

Used in messages: ChildOrderModified, OrderAdjusted, OrderEffective, OrderInternalRouteModified, OrderModified

priorOrderKeyDate

Type: Timestamp

Used in messages: ChildOrderModified, OrderAdjusted, OrderEffective, OrderInternalRouteModified, OrderModified

priorQuoteID

Text(64)

Type: Text

Used in messages: QuoteModified

priorQuoteKeyDate

Type: Timestamp

Used in messages: QuoteModified

priorRoutedOrderID

Text(64)

Type: Text

Used in messages: RouteModified

QCC

Route was related to an order that was sent as a Qualified Contingent Cross.

Type: Boolean

Used in components: handlingInstructions

quantity

Type: RealQuantity

Used in groups: aggregatedOrders, buyDetails, firmDetails, sellDetails

Used in messages: AmendedAllocation, ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, PostTradeAllocation, RouteModified, Trade

quoteID

Text(64)

Type: Text

Used in messages: NewQuote, NewQuoteSupplement, OrderRoute, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RoutedQuote, RoutedQuoteSupplement

quoteKeyDate

Type: Timestamp

Used in messages: NewQuote, NewQuoteSupplement, OrderRoute, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RoutedQuote, RoutedQuoteSupplement

quoteRejectedFlag

Type: Boolean

Allowed values in quoteRejectedFlagCodeSet:

Code | Name | Description
true | QuoteRejectedOrAbandoned | Quote was rejected or no response was received from the destination.
false | QuoteNotRejected | Quote was not rejected by the destination.

Used in messages: RoutedQuote, RoutedQuoteSupplement

quoteWantedInd

Type: String

Allowed values in quoteWantedIndCodeSet:

Code | Name | Description
A | AskWanted | Ask wanted
B | BidWanted | Bid wanted

Used in messages: QuoteReceived

R

Primary Peg

Type: Boolean

Used in components: handlingInstructions

RAR

Routed as Received. For orders routed without any changes to the handling instructions, reporters may use this code to indicate that the handling instructions are equal to the received order.

Type: Boolean

Used in components: handlingInstructions

receivedQuoteID

Text(64)

Type: Text

Used in messages: QuoteReceived

receiverIMID

Type: IndustryMemberID

Used in messages: OrderAccepted, OrderModificationRequest, OrderModified, QuoteReceived

receivingDeskType

Type: String

Allowed values in receivingDeskTypeCodeSet:

Code | Name | Description
A | Agency | Agency
AR | Arbitrage | Arbitrage
B | BlockTrading | Block trading
C | ConvertibleDesk | Convertible desk
CR | CentralRiskBooks | Central risk book
D | Derivatives | Derivatives
EC | EquityCapitalMarkets | Equity capital markets
FB | FloorBroker | Floor broker
IN | International | International
IS | Institutional | Institutional
O | Other | Other
PF | PreferredTrading | Preferred trading
PR | Proprietary | Proprietary
PT | ProgramTrading | Program trading
S | Sales | Sales
SW | Swaps | Swaps
T | TradingDesk | Trading desk
TR | Treasury | Treasury

Used in messages: OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified

reportingExceptionCode

Type: String

Allowed values in reportingExceptionCodeCodeSet:

Code | Name | Description
C | IndustryMemberOnContraSide | Industry Member was the contra side of the trade report for a trade which was reported to a TRF/ORF/ADF via a QSR or AGU.
F | ReportedOnFormT | Reported on Form T pursuant to FINRA Trade Reporting Rules.
N | ReportedByCounterparty | Trade was executed by a non-FINRA member and reported to the TRF by the FINRA member counterparty.
P | IntraFirmOrder | Intra–firm order where there is no change in beneficial ownership.

Used in messages: Trade

representativeInd

Type: String

Allowed values in representativeIndCodeSet:

Code
Name
Description

Y
RepresentativeOrder
Representative order, linkage required

YE
RepresentativeEligible
Representative eligible - Order eligible for customer/client fills via an unlinked system (unlinked OMS-EMS or position fill workflow). <br> All Industry Members will be required to provide representative order linkages to unlinked OMS/EMS and position fill scenarios no later than July 31, 2024 due to the expiry of the exemptive relief granted by the SEC on July 8, 2022.

YP
RepresentativeOrderPricingGuarantee
Representative order, pricing guarantee, no linkage required. <br> All Industry Members will be required to provide representative order linkages to unlinked OMS/EMS and position fill scenarios no later than July 31, 2024 due to the expiry of the exemptive relief granted by the SEC on July 8, 2022.

YS
RepresentativeOrderWithSupplementEvent
Representative order, linkage required; details in supplement event

N
NonRepresentativeOrder
Not a representative order, linkage is not applicable

Used in messages: NewOrder, OrderModified

representativeQuoteInd

Type: String

Allowed values in representativeQuoteIndCodeSet:

Code | Name | Description
A | Ask | Ask
B | Bid | Bid
C | CombinedQuote | Combined Quote containing Ask and Bid
N | Neither | Neither
S | RepresentativeQuoteWithSupplementEvent | Details in supplement event

Used in messages: NewQuote, NewQuoteSupplement

requestTimestamp

Type: Timestamp

Used in messages: OrderCancelled, OrderInternalRouteCancelled, OrderInternalRouteModified, OrderModified

reservedForFutureUse

Text(0)

Type: Text

Used in groups: buyDetails, sellDetails

Used in messages: ChildOrderCancelled, OrderEffective, OrderModificationRequest, OrderModified, QuoteCancelled

reservedForFutureUse1

Text(0)

Type: Text

Used in messages: OrderModificationRequest, OrderModified

reservedForFutureUse2

Text(0)

Type: Text

Used in messages: OrderModificationRequest, OrderModified

reservedForFutureUse3

Text(0)

Type: Text

Used in messages: OrderModificationRequest

retiredFieldPosition

Text(0)

Type: Text

Used in groups: buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: AmendedAllocation, NewQuote, OrderInternalRouteModificationRequest, PostTradeAllocation, QuoteCancelled, QuoteReceived, RouteCancelled, RouteModified, Trade

retiredFieldPosition1

Text(0)

Type: Text

Used in messages: AmendedAllocation, NewQuote, PostTradeAllocation, QuoteReceived, Trade

retiredFieldPosition2

Text(0)

Type: Text

Used in messages: NewQuote, QuoteReceived, Trade

retiredFieldPosition3

Text(0)

Type: Text

Used in messages: NewQuote

retiredFieldPosition4

Text(0)

Type: Text

Used in messages: NewQuote

retiredFieldPosition5

Text(0)

Type: Text

Used in messages: NewQuote

retiredFieldPosition6

Text(0)

Type: Text

Used in messages: NewQuote

RFQID

Text(64)

Type: Text

Used in messages: NewOrder

RLO

Retail Liquidity Order. Order is routed to an exchange marked as a retail order.

Type: Boolean

Used in components: handlingInstructions

routedOrderID

Text(64)

Type: Text

Used in messages: OrderAccepted, OrderModified, OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement

routedQuoteID

Text(64)

Type: Text

Used in messages: RoutedQuote, RoutedQuoteSupplement

routeRejectedFlag

Type: Boolean

Allowed values in routeRejectedFlagCodeSet:

Code | Name | Description
true | RouteRejectedOrAbandoned | Routed order was rejected or no response was received from the destination.
false | RouteNotRejected | Routed order not rejected by the destination.

Used in messages: OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement

RSV

Reserve Size Order. Required for an order for which a customer has authorized the public display of part of the full size of the order with the remainder held in reserve on an undisplayed basis to be displayed in whole or in part as the displayed part is executed.

Type: Boolean

Used in components: handlingInstructions

SCL

Scale. Requires partial executions that are not more than a specified price increment apart.

Type: Boolean

Used in components: handlingInstructions

sellDetails

Captures the Order Key and additional information for the Order associated with the buy or sell side of a Trade Event.

Name | Mult. | Type | Description
NoOrderIDs | [1..1] | NumInGroup | Repeating group below should contain unique combinations of orderKeyDate and either orderID or firmDesignatedID.
orderKeyDate | [0..1] | Timestamp | Required if orderID is populated. The orderKeyDate of the order on this side.
orderID | [0..1] | Text | The order ID of the order on this side. When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.
side | [1..1] | CodeSet | The side of the trade.
reservedForFutureUse | [0..1] | Text | Field is Reserved for Future Use and must remain blank.
retiredFieldPosition | [0..1] | Text | Field position is retired and must remain blank.
quantity | [0..1] | RealQuantity | The execution quantity associated with this orderID.
originatingIMID | [0..1] | CATReporterIMID | An identifier used in instances of a merger or acquisition where the originating firm had open limit orders on its books that will be executed or otherwise resolved under the surviving firm. Must be provided to support linkage to an event that was reported with a different CATReporterIMID.
firmDesignatedID | [0..1] | Text | Applicable to internalized trades as described in Section 4.11 Trade. Refer to Appendix G: Data Dictionary for definition and guidance for populating this field.<br><br>When firmDesignatedID is populated, orderID must be blank. When orderID is populated, firmDesignatedID must be blank.
accountHolderType | [0..1] | CodeSet | Required if firmDesignatedID is populated. Represents the type of account against which a customer/client order is being filled.

Used in messages: Trade, TradeSupplement

senderIMID

IndustryMemberID/ExchangeID

Type: String

Used in messages: OrderAccepted, OrderModificationRequest, OrderModified, OrderRoute, OrderRouteSupplement, QuoteReceived, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement

senderType

Type: String

Allowed values in senderTypeCodeSet:

Code | Name | Description
E | Exchange | Exchange
F | IndustryMember | Industry Member
O | ForeignOTCEquity | OTC Equity symbol in a foreign security was sent by another Industry Member, who may not have a CAT reporting obligation

Used in messages: OrderAccepted, OrderModificationRequest, OrderModified

seqNum

Alphanumeric(40)

Type: Alphanumeric

Used in messages: ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewQuote, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderModificationRequest, OrderModified, OrderRoute, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteModified, RoutedQuote, Trade

session

Text(40)

Type: Text

Used in messages: OrderRoute, OrderRouteSupplement, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement

settlementDate

Type: Date

Used in messages: AmendedAllocation, PostTradeAllocation

side

Type: String

Allowed values in sideCodeSet:

Code | Name | Description
B | Buy | Buy
SL | SellLong | Sell long
SS | ShortSale | Short sale
SX | ShortSaleExempt | Short sale exempt

Used in groups: buyDetails, clientDetails, firmDetails, sellDetails

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, OrderAccepted, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, PostTradeAllocation, RouteModified

sideDetailsInd

Type: String

Allowed values in sideDetailsIndCodeSet:

Code | Name | Description
BUY | Buy | The Trade event is one sided, and the reporter is on the Buy side of the trade. Only the buyDetails are populated.
SELL | Sell | The Trade event is one sided, and the reporter is on the Sell side of the trade. Only the sellDetails are populated.
NA | NotApplicable | Not Applicable – the Trade event is not one sided.

Used in messages: Trade

SLD

Slide. Order is routed to an exchange or ATS with an instruction to adjust the limit price to prevent a locked or crossed market.

Type: Boolean

Used in components: handlingInstructions

SLL

Strategy Legs Later. Indicates that the multi-leg strategy order contains multiple option legs, where at least one leg is known and the receiving party determines one or more of the leg(s).

Type: Boolean

Used in components: handlingInstructions

SLQ

Stop Limit on Quote. An order that is triggered by a quotation at which point the stopped order becomes a limit order.

Type: Boolean

Used in components: handlingInstructions

SLR

Delivery Instructions: Seller’s Option - trade settles on the date determined by a seller.

Type: Boolean

Used in components: handlingInstructions

solicitationFlag

Type: Boolean

Allowed values in solicitationFlagCodeSet:

Code | Name | Description
true | OrderWasSolicited | Event was received or originated as the result of a response to an RFQ or other solicitation process.
false | OrderWasNotSolicited | Event was not received or originated as the result of a response to an RFQ or other solicitation process.

Used in messages: NewOrder, OrderAccepted

SOQ

Stop on Quote. An order that is triggered by a quotation at which point the stopped order becomes a market order.

Type: Boolean

Used in components: handlingInstructions

STOP

Stop Price - requires a Numeric value representing the stop price (e.g., STOP=17.95)

Type: Price

Used in components: handlingInstructions

STOPF

Stop Formula – exact stop price is unknown because it is either based on an underlying condition or will be determined by the destination venue.

Type: Boolean

Used in components: handlingInstructions

STP

Self Trade Prevention TS Trailing Stop

Type: Boolean

Used in components: handlingInstructions

SW

Stop Stock Transaction – Any transaction resulting from an order for which a member and another party agree that the order will be executed at a Stop Stock Price or better. Requires a numeric value representing the agreed stop price.

Type: Price

Used in components: handlingInstructions

SWQ

Stop Stock Quantity - requires a Numeric value representing the quantity of shares of a stop stock order being stopped if the entire shares quantity of the order is not being stopped (e.g., SWQ=500). When SWQ is populated, SW must also be populated.

Type: WholeQuantity

Used in components: handlingInstructions

symbol

Type: Symbol

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

tapeTradeID

Text(40)

Type: Text

Used in messages: Trade

timeInForce

Specifies the Time in Force for an order.

Name | Mult. | Type | Description
DAY | [0..1] | Date | Day Order – Requires the expiration date which must be equal to Event Date or Event Date plus one Trading Day.
GFD | [0..1] | Unsigned | OTC Link ATS message Good for Duration – Requires the duration in the number of whole seconds. Only Applicable to order events representing OTC Link ATS messages.
GTC | [0..1] | Boolean | Good till Cancelled
GTD | [0..1] | Date | Good till Date – Requires the expiration date.
GTM | [0..1] | Boolean | Good this Month – Valid until last business day of the month in which the order originated.
GTT | [0..1] | Timestamp | Good till Time – Requires the expiration timestamp.
GTX | [0..1] | Date | Good till Crossing – Requires the expiration date which must be equal to Event Date or Event Date plus one Trading Day.
IOC | [0..1] | Boolean | Immediate or Cancel
IOR | [0..1] | Boolean | Immediate or Return – Only applicable to options floor brokers.

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

TMO

The trigger time of the Time Managed Order (e.g. the specific date and time that an order becomes a market or limit price order) - requires a Timestamp value.

Type: Timestamp

Used in components: handlingInstructions

tradeDate

Type: Date

Used in messages: AmendedAllocation, PostTradeAllocation

tradeID

Text(64)

Type: Text

Used in messages: Trade, TradeSupplement

tradeKeyDate

Type: Timestamp

Used in messages: Trade, TradeSupplement

tradingSession

Type: String

Allowed values in tradingSessionCodeSet:

Code | Name | Description
FOR | ForeignMarketOnly | To be executed only on a Foreign Market
PRE | PreMarketOnly | Pre-Market Only
PREREG | PreMarketAndRegular | Pre-Market and Regular
REG | RegularOnly | Regular Only
REGPOST | RegularAndPostMarket | Regular and Post-Market
POST | PostMarketOnly | Post-Market Only
PREPOST | PreAndPostMarket | Pre-Market and Post-Market
ALL | AllSessions | Order can trade in any available session at the venue where it is sent. Refer to FAQ D32 for additional information.

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderEffective, OrderInternalRouteAccepted, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderRoute, RouteModified

triggerPrice

Type: Price

Used in messages: OrderEffective

TS

Trailing stop

Type: Boolean

Used in components: handlingInstructions

TTF

Tied to Fixed Income

Type: Boolean

Used in components: handlingInstructions

TTO

Tied to a product that is not CAT reportable and is not identified through any other handlingInstructions value.

Type: Boolean

Used in components: handlingInstructions

TTS

Tied to Stock

Type: Boolean

Used in components: handlingInstructions

TTSO

Tied to Simple Option

Type: Boolean

Used in components: handlingInstructions

TTU

Tied to Unlisted Option

Type: Boolean

Used in components: handlingInstructions

type

Type: MessageType

Allowed values in typeCodeSet:

Code | Name | Description
MENO | NewOrder | Reported when an Industry Member originates an order, receives a customer order, originates a bunched, representative or proprietary order, or receives an order from a non-reporting foreign entity.
MENOS | NewOrderSupplement | Supplement to the New Order event, used when the New Order event exceeds the maximum length allowed, or when the orders being represented are not captured in the New Order Event. Also used to provide an FDID once known if not available at time of reporting a MENO.
MEOR | OrderRoute | Reported when an Industry Member routes an order to another broker-dealer, exchange or ATS.
MEMR | RouteModified | Reported when an Industry Member modifies a route that was sent to another broker-dealer, exchange or ATS.
MECR | RouteCancelled | Reported when an Industry Member cancels a route that was sent to another broker-dealer, exchange or ATS.
MEORS | OrderRouteSupplement | Supplement to the Order Route event, optionally used to populate the routeRejectedFlag.
MEMRS | RouteModifiedSupplement | Supplement to the Route Modified event, optionally used to populate the routeRejectedFlag.
MECRS | RouteCancelledSupplement | Supplement to the Route Cancelled event, optionally used to populate the routeRejectedFlag.
MEOA | OrderAccepted | Reported when an Industry Member, including an ATS, accepts a routed order that originated at another broker-dealer.
MEIR | OrderInternalRouteAccepted | Reported when an order moves within an Industry Member to another desk or other department.
MEIM | OrderInternalRouteModified | Reported when an Order Internal Route Accepted was modified.
MEIC | OrderInternalRouteCancelled | Reported when an Order Internal Route Accepted was cancelled.
MEIMR | OrderInternalRouteModificationRequest | Reported when a modification to an internal route was requested.
MEICR | OrderInternalRouteCancelRequest | Reported when the cancellation of an internal route was requested.
MECO | ChildOrder | Reported when an order is sliced within the desk or department it is being worked, and is assigned a new order identifier.
MECOM | ChildOrderModified | Reported when a Child Order is modified.
MECOC | ChildOrderCancelled | Reported when a Child Order is cancelled.
MEOM | OrderModified | Reported when changes to the Material Terms of an order are made, or an order is cancel/replaced.
MEOMS | OrderModifiedSupplement | Supplement to the Order Modified event, used when the Order Modified event exceeds the maximum length allowed, or when the orders being represented are not captured in the Order Modified event.
MEOMR | OrderModificationRequest | Reported when a request to modify an order is received.
MEOJ | OrderAdjusted | Used to report simple order modifications including changes to the price or quantity of the order.
MEOC | OrderCancelled | Reported when an Industry Member fully or partially cancels an order.
MEOCR | OrderCancelRequest | Reported when a request to cancel an order is received.
MENQ | NewQuote | Reported when quotations in equity Eligible Securities are originated that are ultimately sent to a quote display facility or quote driven ATS.
MENQS | NewQuoteSupplement | Supplement to the New Quote event, used when the number of Aggregated Orders included in the askAggregatedOrders or bidAggregatedOrders fields cause the New Quote event to exceed the maximum allowed message length, or when the orders being represented are not captured in the New Quote event.
MERQ | RoutedQuote | Reported when quotations in equity Eligible Securities are sent to a quote display facility or quote driven ATS.
MERQS | RoutedQuoteSupplement | Supplement to the Routed Quote event, used when reporting in scenarios where a quote route is rejected by the venue to which it was routed, and the Industry Member chooses to report the quoteRejectedFlag in this separate Routed Quote Supplement event.
MEQR | QuoteReceived | Reported when a quote is received by an Industry Member.
MEQC | QuoteCancelled | Reported when a quote is cancelled.
MEQM | QuoteModified | Reported when a quote is modified and the venue supports more than one quote per symbol for an Industry Member at one time.
MEQS | QuoteStatus | Reported when the status of a quote is changed.
MEOT | Trade | Reported by the executing venue where the trade occurred, with details associated with each side of the trade.
MEOTS | TradeSupplement | Reported when there is more than one order associated with one side of a trade.
MEOF | OrderFulfillment | Reported when the execution of a customer/client order is not required to be reported for public dissemination. The event includes details associated with the customer/client side and firm side.
MEOFS | OrderFulfillmentSupplement | Reported when there is more than one representative proprietary order associated with the fill of a customer/client order.
MEFA | OrderFulfillmentAmendment | Reports the amendment of a previously reported fulfillment, including the full restatement of the event with applicable changes represented.
MEPA | PostTradeAllocation | Reported when executed shares are allocated to end customer accounts during post-trade processing.
MEAA | AmendedAllocation | Reported when an amendment occurs to a previously reported post- trade allocation.
MEOE | OrderEffective | Reported when an order or an underlying condition of an order becomes effective.
T1 | GenericMessage | The generic message is for testing purposes only.

Used in messages: AmendedAllocation, ChildOrder, ChildOrderCancelled, ChildOrderModified, NewOrder, NewOrderSupplement, NewQuote, NewQuoteSupplement, OrderAccepted, OrderAdjusted, OrderCancelRequest, OrderCancelled, OrderEffective, OrderFulfillment, OrderFulfillmentAmendment, OrderFulfillmentSupplement, OrderInternalRouteAccepted, OrderInternalRouteCancelRequest, OrderInternalRouteCancelled, OrderInternalRouteModificationRequest, OrderInternalRouteModified, OrderModificationRequest, OrderModified, OrderModifiedSupplement, OrderRoute, OrderRouteSupplement, PostTradeAllocation, QuoteCancelled, QuoteModified, QuoteReceived, QuoteStatus, RouteCancelled, RouteCancelledSupplement, RouteModified, RouteModifiedSupplement, RoutedQuote, RoutedQuoteSupplement, Trade, TradeSupplement

UNP

Unpriced Quote on an Order Driven Market – Applicable to orders received by Global OTC.

Type: Boolean

Used in components: handlingInstructions

unpricedInd

Type: Boolean

Allowed values in unpricedIndCodeSet:

Code | Name | Description
true | QuoteUnpriced | Quote is unpriced.
false | QuoteNotUnpriced | Quote is not unpriced.

Used in messages: NewQuote, QuoteModified, QuoteReceived, RoutedQuote

UNS

Unsolicited Quote on an Order Driven Market – Applicable to orders received by Global OTC.

Type: Boolean

Used in components: handlingInstructions

unsolicitedInd

Type: String

Allowed values in unsolicitedIndCodeSet:

Code | Name | Description
U | UnsolicitedBidAndAsk | Unsolicited Bid and Ask
A | UnsolicitedAsk | Unsolicited Ask
B | UnsolicitedBid | Unsolicited Bid
N | NotUnsolicited | Not Unsolicited

Used in messages: NewQuote, QuoteModified, QuoteReceived

WDP

With Discretion Price - Discretion on Limit Price Within a Specified Range.

Type: Boolean

Used in components: handlingInstructions

workingPrice

Type: Price

Used in messages: ChildOrder, ChildOrderModified, NewOrder, OrderAccepted, OrderAdjusted, OrderEffective, OrderModificationRequest, OrderModified

WRK

Work. Leaves the time of execution to the trader’s discretion either full execution or partial executions are accepted.

Type: Boolean

Used in components: handlingInstructions