FIX Repository Extension Pack ReadMe file

This html page contains details of the changes applied by the service pack

New Tags added in this extension pack

TagFieldNameAbbrNameTypeDescPattern
1367LegAllocSettlCurrencyAllocSettlCcyCurrencyIdentifies settlement currency for the leg level allocation.
1359EncodedSymbolLenEncodedSymbolLenLengthByte length of encoded (non-ASCII characters) EncodedSymbol(1360) field.
1360EncodedSymbolEncodedSymboldataEncoded (non-ASCII characters) representation of the Symbol(55) field in the encoded format specified via the MessageEncoding(347) field. If used, the ASCII (English) representation can also be specified in the Symbol field.
1361TotNoFillsTotNoFillsintTotal number of fill entries across all messages. Should be the sum of all NoFills(1362) in each message that has repeating list of fill entries related to the same ExecID(17). Used to support fragmentation.
1362NoFillsNoFillsNumInGroup
1363FillExecIDFillExecIDStringRefer to ExecID(17). Used when multiple partial fills are reported in single Execution Report. ExecID and FillExecID should not overlap,
1364FillPxFillPxPricePrice of Fill. Refer to LastPx(31).
1365FillQtyFillQtyQtyQuantity of Fill. Refer to LastQty(32).
1366LegAllocIDLegAllocIDStringThe AllocID(70) of an individual leg of a multileg order.
1368TradSesEventTradSesEventintIdentifies an event related to a TradSesStatus(340). An event occurs and is gone, it is not a state that applies for a period of time.Reserved100Plus
1369MassActionReportIDMassActionReportIDStringUnique identifier of Order Mass Cancel Report or Order Mass Action Report message as assigned by sell-side (broker, exchange, ECN)
1370NoNotAffectedOrdersNoNotAffectedOrdersNumInGroupNumber of not affected orders in the repeating group of order ids.
1371NotAffectedOrderIDNotAffectedOrderIDStringOrderID(37) of an order not affected by a mass cancel request.
1372NotAffOrigClOrdIDNotAffOrigClOrdIDStringClOrdID(11) of the previous order (NOT the initial order of the day) as assigned by the institution, used to identify the previous order in cancel and cancel/replace requests.
1373MassActionTypeMassActionTypeintSpecifies the type of action requested
1374MassActionScopeMassActionScopeintSpecifies scope of Order Mass Action Request.
1375MassActionResponseMassActionResponseintSpecifies the action taken by counterparty order handling system as a result of the action type indicated in MassActionType of the Order Mass Action Request.
1376MassActionRejectReasonMassActionRejectReasonintReason Order Mass Action Request was rejectedReserved100Plus

Tags modified in this extension pack

Please note modification in the xsl that does not conform to the FPL pattern of <xsl:when test = 'Tag = xxx'> where xxx is a tag number may not appear here. If it does appear here it actions may be inaccurately reported, check the underlying XSL for existance.

TagFieldNameAbbrNameTypeDescPattern
Replace this, test is Tag = 19
19ExecRefIDExecRefIDString Reference identifier used with Trade Cancel and Trade Correct execution types. (Prior to FIX 4.1 this field was of type int)
With this
19ExecRefIDExecRefIDStringReference identifier used with Trade, Trade Cancel and Trade Correct execution types. (Prior to FIX 4.1 this field was of type int)
Replace this, test is Tag = 336
336TradingSessionIDSesIDString Identifier for Trading Session Can be used to represent a specific market trading session (e.g. "PRE-OPEN", "CROSS_2", "AFTER-HOURS", "TOSTNET", "TOSTNET2", etc). To specify good for session where session spans more than one calendar day, use TimeInForce = Day in conjunction with TradingSessionID. Values should be bi-laterally agreed to between counterparties. Firms may register Trading Session values on the FIX website (presently a document maintained within "ECN and Exchanges" working group section).
With this
336TradingSessionIDSesIDString Identifier for Trading Session A trading session spans an extended period of time that can also be expressed informally in terms of the trading day. Usage is determined by market or counterparties. To specify good for session where session spans more than one calendar day, use TimeInForce = Day in conjunction with TradingSessionID. Bilaterally agreed values of data type "String" that start with a character can be used for backward compatibility. Reserved100Plus
Replace this, test is Tag = 326
326SecurityTradingStatusTrdgStatintIdentifies the trading status applicable to the transaction.Reserved100Plus
With this
326SecurityTradingStatusTrdgStatintIdentifies the trading status applicable to the transaction. Reserved100Plus
Replace this, test is Tag = 340
340TradSesStatusStatintState of the trading session.
With this
340TradSesStatusStatintState of the trading session. Reserved100Plus
Replace this, test is Tag = 828
828TrdTypeTrdTypintType of Trade:
With this
828TrdTypeTrdTypintType of Trade: Reserved1000Plus
Replace this, test is Tag = 829
829TrdSubTypeTrdSubTypint Further qualification to the trade type
With this
829TrdSubTypeTrdSubTypintFurther qualification to the trade type Reserved1000Plus
Replace this, test is Tag = 532
532MassCancelRejectReasonMassCxlRejRsnintReason Order Mass Cancel Request was rejectedReserved100Plus
With this
532MassCancelRejectReasonMassCxlRejRsnintReason Order Mass Cancel Request was rejectedReserved100Plus
Replace this, test is Tag = 625
625TradingSessionSubIDSesSubString Optional market assigned sub identifier for a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations.
With this
625TradingSessionSubIDSesSubStringOptional market assigned sub identifier for a trading phase within a trading session. Usage is determined by market or counterparties. Used by US based futures markets to identify exchange specific execution time bracket codes as required by US market regulations. Bilaterally agreed values of data type "String" that start with a character can be used for backward compatibilityReserved100Plus

New Enums added in this extension pack

TagNew EnumsGroup
18l - Suspend on system failure (mutually exclusive with H and Q)
18m - Suspend on Trading Halt (mutually exclusive with J and K)
18n - Reinstate on connection loss (mutually exclusive with o and p)
18o - Cancel on connection loss (mutually exclusive with n and p)
18p - Suspend on connection loss (mutually exclusive with n and o)
18q - Release from suspension (mutually exclusive with S)
22M - Marketplace-assigned Identifier
35BZ - OrderMassActionReport
35CA - OrderMassActionRequest
3361 - Day
3362 - HalfDay
3363 - Morning
3364 - Afternoon
3365 - Evening
3366 - After-hours
5308 - Cancel orders for a market
5309 - Cancel orders for a market segment
530A - Cancel orders for a security group
5318 - Cancel orders for a market
5319 - Cancel orders for a market segment
531A - Cancel orders for a security group
5327 - Invalid or unknown Market
5328 - Invalid or unkown Market Segment
5329 - Invalid or unknown Security Group
6251 - Pre-Trading
6252 - Opening or opening auction
6253 - (Continuous) Trading
6254 - Closing or closing auction
6255 - Post-Trading
6256 - Intraday Auction
6257 - Quiescent
13680 - Trading resumes (after Halt)
13681 - Change of Trading Session
13682 - Change of Trading Subsession
13683 - Change of Trading Status
13731 - Suspend orders
13732 - Release orders from suspension
13733 - Cancel orders
13741 - All orders for a security
13742 - All orders for an underlying security
13743 - All orders for a Product
13744 - All orders for a CFICode
13745 - All orders for a SecurityType
13746 - All orders for a trading session
13747 - All orders
13748 - All orders for a Market
13749 - All orders for a Market Segment
137410 - All orders for a Security Group
13750 - Rejected - See MassActionRejectReason(1376)
13751 - Accepted
13760 - Mass Action Not Supported
13761 - Invalid or unknown security
13762 - Invalid or unknown underlying security
13763 - Invalid or unknown Product
13764 - Invalid or unknown CFICode
13765 - Invalid or unknown SecurityType
13766 - Invalid or unknown trading session
13767 - Invalid or unknown Market
13768 - Invalid or unknown Market Segment
13769 - Invalid or unknown Security Group
137699 - Other

Enums modified in this extension pack

Please note modification in the xsl that does not conform to the FPL pattern of <xsl:when test = 'Tag = xxx and Enum = yyy'> where xxx is a tag number and yyy is an enum string may not appear here. If it does appear here it actions may be inaccurately reported, check the underlying XSL for existance.

TagNew EnumsGroup
Replace this, test is Tag = 18 and Enum = 'H'
18H - Reinstate on system failue (mutually exclusive with Q)
With this
18H - Reinstate on system failure (mutually exclusive with Q and l)
Replace this, test is Tag = 18 and Enum = 'J'
18J - Reinstate on Trading Halt (mutually exclusive with K)
With this
18J - Reinstate on Trading Halt (mutually exclusive with K and m)
Replace this, test is Tag = 18 and Enum = 'K'
18K - Cancel on Trading Halt (mutually exclusive with J)
With this
18K - Cancel on Trading Halt (mutually exclusive with J and m)
Replace this, test is Tag = 18 and Enum = 'Q'
18Q - Cancel on system failure (mutually exclusive with H)
With this
18Q - Cancel on system failure (mutually exclusive with H and l)

New message contents in messages and components

NameIndTagReqdDescription
ExecutionReport0880No
ExecutionReport070No
ExecutionReport0PreAllocGrpNoPre-trade allocation instructions.
ExecutionReport01361NoUsed to support fragmentation. Sum of NoFills across all messages with the same ExecID.
ExecutionReport0893NoIndicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented.
ExecutionReport0FillsGrpNoSpecifies the number of partial fills included in this Execution Report
TradingSessionStatus01368NoIdentifies an event related to the trading status of a trading session
OrderMassCancelRequest01301NoRequired for MassCancelRequestType = 8 (Cancel orders for a market)
OrderMassCancelRequest01300NoRequired for MassCancelRequestType = 9 (Cancel orders for a market segment)
OrderMassCancelReport01369YesUnique Identifier for the Order Mass Cancel Report assigned by the recipient of the Order Mass Cancel Request
OrderMassCancelReport0NotAffectedOrdersGrpNoList of orders not affected by Order Mass Cancel Request
OrderMassCancelReport01301No
OrderMassCancelReport01300No
OrderMassCancelReport01151No
0StandardHeaderYesMsgType = BZ
011NoClOrdID provided on the Order Mass Action Request.
0526No
01369YesUnique Identifier for the Order Mass Action Report
01373YesOrder Mass Action Request Type accepted by the system
01374YesSpecifies the scope of the action
01375YesIndicates the action taken by the counterparty order handling system as a result of the Action Request 0 - Indicates Order Mass Action Request was rejected.
01376NoIndicates why Order Mass Action Request was rejected Required if MassActionResponse = 0
0533NoOptional field used to indicate the total number of orders affected by the Order Mass Action Request
0AffectedOrdGrpNoOrders affected by the Order Mass Action Request.
0NotAffectedOrdersGrpNoList of orders not affected by the Order Mass Action Request.
01301NoMarketID for which orders are to be affected
01300NoMarketSegmentID for which orders are to be affected
0336NoTradingSessionID for which orders are to be affected
0625NoTradingSessionSubID for which orders are to be affected
0PartiesNoInsert here the set of "Parties" (firm identification) fields defined in "common components of application messages"
0InstrumentNoInsert here the set of "Instrument" (symbology) fields defined in "Common Components of Application Messages"
0UnderlyingInstrumentNoInsert here the set of "UnderlyingInstrument" (underlying symbology) fields defined in "Common Components of Application Messages"
054NoSide of the market specified on the Order Mass Action Request
060NoTime this report was initiated/released by the sells-side (broker, exchange, ECN) or sell-side executing system.
058No
0354NoMust be set if EncodedText field is specified and must immediately precede it.
0355NoEncoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
0StandardTrailerYes
0StandardHeaderYesMsgType = CA
011YesUnique ID of Order Mass Action Request as assigned by the institution.
0526No
01373YesSpecifies the type of action requested
01374YesSpecifies the scope of the action
01301NoMarketID for which orders are to be affected
01300NoMarketSegmentID for which orders are to be affected
0336NoTrading Session in which orders are to be affected
0625No
0PartiesNoInsert here the set of "Parties" (firm identification) fields defined in "common components of application messages"
0InstrumentNoInsert here the set of "Instrument" (symbology) fields defined in "Common Components of Application Messages"
0UnderlyingInstrumentNoInsert here the set of "UnderlyingInstrument" (underlying symbology) fields defined in "Common Components of Application Messages"
054No
060Yes
058No
0354NoMust be set if EncodedText field is specified and must immediately precede it.
0355NoEncoded (non-ASCII characters) representation of the Text field in the encoded format specified via the MessageEncoding field.
0StandardTrailerYes
InstrmtLegExecGrp11366No
InstrmtLegExecGrp1LegPreAllocGrpNo
LegOrdGrp11366No
OrdListStatGrp137No
SideCrossOrdModGrp141NoRequired when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID(11)
01370NoOptional field used to indicate the number of order identifiers for orders not affected by the request. Must be followed with OrigClOrdID(41) as the next field.
11372NoRequired if NoNotAffectedOrders(1370) > 0 and must be the first repeating field in the group. Indicates the client order id of an order not affected by the request. If order(s) were manually delivered (or otherwise not delivered over FIX and not assigned a ClOrdID) this field should contain string "MANUAL".
11371NoContains the OrderID assigned by the counterparty of an unaffected order. Not required as part of the repeating group if NotAffOrigClOrdID(1372) has a value other than "MANUAL".
01362NoSpecifies the number of partial fills included in this Execution Report
11363NoUnique identifier of execution as assigned by sell-side (broker, exchange, ECN). Must not overlap ExecID(17). Required if NoFills > 0
11364NoPrice of this partial fill. Conditionally required if NoFills > 0. Refer to LastPx(31).
11365NoQuantity (e.g. shares) bought/sold on this partial fill. Required if NoFills > 0.
1NestedParties2NoParties to the fill. Used to represent ContraBrokers.

Modified existing elements in messages and components

Please note modification in the xsl that does not conform to the FPL pattern of <xsl:when test = 'MsgID = xxx and Position = yyy'> where xxx is a MsgID number and yyy is an Position number may not appear here. If it does appear here it actions may be inaccurately reported, check the underlying XSL for existance.

NameIndTagReqdDescription
Replace this, test is MsgID = 2026 and Position = 7
LegPreAllocGrp1675No
With this
LegPreAllocGrp11367No
Replace this, test is MsgID = 2036 and Position = 2
OrdAllocGrp111NoOrder ID assigned by client if order(s) were electronically delivered and executed. If order(s) were manually delivered this field should contain string "MANUAL".Note where an order has undergone one or more cancel/replaces, this should be the ClOrdID of the most recent version of the order Required when NoOrders > 0 and must be the first repeating field in the group.
With this
OrdAllocGrp111NoOrder identifier assigned by client if order(s) were electronically delivered over FIX (or otherwise assigned a ClOrdID) and executed. If order(s) were manually delivered (or otherwise not delivered over FIX) this field should contain string "MANUAL". Note where an order has undergone one or more cancel/replaces, this should be the ClOrdID of the most recent version of the order. Required when NoOrders(73) > 0 and must be the first repeating field in the group.
Replace this, test is MsgID = 28 and Position = 9
SettlementInstructions011No Required for SettlInstMode=4.
With this
SettlementInstructions011NoRequired for SettlInstMode(160) = 4 and when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID.
Replace this, test is MsgID = 62 and Position = 3
MultilegOrderCancelReplace041Yes ClOrdID of the previous order (NOT the initial order of the day) when canceling or replacing an order.
With this
MultilegOrderCancelReplace041NoClOrdID of the previous order (NOT the initial order of the day) when canceling or replacing an order. Required when referring to orders that were electronically submitted over FIX or otherwise assigned a ClOrdID.
Replace this, test is MsgID = 2037 and Position = 2
OrdListStatGrp111Yes
With this
OrdListStatGrp111NoRequired when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID.
Replace this, test is MsgID = 69 and Position = 5
QuoteResponse011NoUnique ID as assigned by the Initiator. Required only when QuoteRespType is 1 (Hit/Lift) or 2 (Counter quote).
With this
QuoteResponse011NoUnique ID as assigned by the Initiator. Required only in two-party models when QuoteRespType(694) = 1 (Hit/Lift) or 2 (Counter quote).
Replace this, test is MsgID = 26 and Position = 4
QuoteRequest011No Required when QuoteType is Tradeable and the OrdType is Limit.
With this
QuoteRequest011NoRequired only in two party models when QuoteType(537) = '1' (Tradeable) and the OrdType(40) = '2' (Limit).
Replace this, test is MsgID = 2058 and Position = 3
SideCrossOrdCxlGrp141Yes
With this
SideCrossOrdCxlGrp141NoRequired when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID(11).
Replace this, test is MsgID = 51 and Position = 2
OrderMassCancelReport011No ClOrdID provided on the Order Mass Cancel Request.
With this
OrderMassCancelReport011No ClOrdID provided on the Order Mass Cancel Request. Unavailable in case of an unsolicited report, such as after a trading halt or a corporate action requiring the deletion of outstanding orders.
Replace this, test is MsgID = 51 and Position = 4
OrderMassCancelReport037Yes Unique Identifier for the Order Mass Cancel Request assigned by the recipient of the Order Mass Cancel Request
With this
OrderMassCancelReport037YesUnique Identifier for the Order Mass Cancel Request assigned by the recipient of the Order Mass Cancel Request.
Replace this, test is MsgID = 51 and Position = 5
OrderMassCancelReport0198No Secondary Order ID assigned by the recipient of the Order Mass Cancel Request
With this
OrderMassCancelReport0198NoSecondary Order ID assigned by the recipient of the Order Mass Cancel Request.
Replace this, test is MsgID = 51 and Position = 10
OrderMassCancelReport0AffectedOrdGrpNo Optional field used to indicate the number of order identifiers for orders affected by the Order Mass Cancel Request. Must be followed with OrigClOrdID as the next field
With this
OrderMassCancelReport0AffectedOrdGrpNoList of orders affected by the Order Mass Cancel Request
Replace this, test is MsgID = 18 and Position = 3
OrderStatusRequest011Yes The ClOrdID of the order whose status is being requested.
With this
OrderStatusRequest011NoThe ClOrdID of the order whose status is being requested. Conditionally required if the OrderID(37) is not provided. Either OrderID or ClOrdID must be provided.
Replace this, test is MsgID = 18 and Position = 2
OrderStatusRequest037No
With this
OrderStatusRequest037NoConditionally required if ClOrdID(11) is not provided. Either OrderID or ClOrdID must be provided.
Replace this, test is MsgID = 10 and Position = 7
OrderCancelReject041Yes ClOrdID which could not be canceled/replaced. ClOrdID of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order.
With this
OrderCancelReject041NoClOrdID(11) which could not be canceled/replaced. ClOrdID of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order. Required when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID.
Replace this, test is MsgID = 16 and Position = 2
OrderCancelRequest041Yes ClOrdID of the previous non-rejected order (NOT the initial order of the day) when canceling or replacing an order.
With this
OrderCancelRequest041NoClOrdID(11) of the previous non-rejected order (NOT the initial order of the day) when canceling or replacing an order. Required when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID
Replace this, test is MsgID = 17 and Position = 6
OrderCancelReplaceRequest041Yes ClOrdID of the previous non rejected order (NOT the initial order of the day) when canceling or replacing an order.
With this
OrderCancelReplaceRequest041NoClOrdID(11) of the previous non rejected order (NOT the initial order of the day) when canceling or replacing an order. Required when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID
Replace this, test is MsgID = 9 and Position = 6
ExecutionReport011No Required for executions against electronically submitted orders which were assigned an ID by the institution or intermediary. In the case of quotes can be mapped to: - QuoteMsgID(1166) of a single Quote - QuoteID(117) of a Mass Quote
With this
ExecutionReport011NoRequired when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID(11). In the case of quotes can be mapped to: - QuoteMsgID(1166) of a single Quote - QuoteID(117) of a Mass Quote.
Replace this, test is MsgID = 9 and Position = 7
ExecutionReport041No Conditionally required for response to an electronic Cancel or Cancel/Replace request (ExecType=PendingCancel, Replace, or Canceled). ClOrdID of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order.
With this
ExecutionReport041NoConditionally required for response to a Cancel or Cancel/Replace request (ExecType=PendingCancel, Replace, or Canceled) when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID(11). ClOrdID of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order.
Replace this, test is MsgID = 2001 and Position = 2
AffectedOrdGrp141NoRequired if NoAffectedOrders > 0 Indicates the client order id of an order affected by the Order Mass Cancel Request.
With this
AffectedOrdGrp141NoRequired if NoAffectedOrders > 0 and must be the first repeating field in the group. Indicates the client order id of an order affected by this request. If order(s) were manually delivered (or otherwise not delivered over FIX and not assigned a ClOrdID) this field should contain string "MANUAL".
Replace this, test is MsgID = 2001 and Position = 3
AffectedOrdGrp1535NoContains the OrderID assigned by the counterparty of an affected order. Not required as part of the repeating group.
With this
AffectedOrdGrp1535NoContains the OrderID assigned by the counterparty of an affected order. Not required as part of the repeating group if OrigClOrdID(41) has a value other than "MANUAL".

New messages added this EP

MsgTypeNameCategorySectionAbbreviation
BZOrderMassActionReportOrderMassHandlingTradeOrdMassActRpt
CAOrderMassActionRequestOrderMassHandlingTradeOrdMassActReq

Modified messages added this EP

Please note modification in the xsl that does not conform to the FPL pattern of <xsl:when test = 'MsgID = xxx'> where xxx is a MsgID number may not appear here. If it does appear here it actions may be inaccurately reported, check the underlying XSL for existance.

MsgTypeNameCategorySectionAbbreviation
Replace this, test is MsgID = 50
qOrderMassCancelRequestSingleGeneralOrderHandlingTradeOrdMassCxlReq
With this
qOrderMassCancelRequestOrderMassHandlingTradeOrdMassCxlReq
Replace this, test is MsgID = 51
rOrderMassCancelReportSingleGeneralOrderHandlingTradeOrdMassCxlRpt
With this
rOrderMassCancelReportOrderMassHandlingTradeOrdMassCxlRpt
Replace this, test is MsgID = 65
AFOrderMassStatusRequestSingleGeneralOrderHandlingTradeOrdMassStatReq
With this
AFOrderMassStatusRequestOrderMassHandlingTradeOrdMassStatReq

New components added this EP

NameCategoryTypeAbbreviation
NotAffectedOrdersGrpOrderMassHandlingImplicitBlockRepeatingNotAffectedOrdersGrp
FillsGrpSingleGeneralOrderHandlingImplicitBlockRepeatingFillsGrp

Modified components in this EP

Please note modification in the xsl that does not conform to the FPL pattern of <xsl:when test = 'MsgID = xxx'> where xxx is a MsgID number may not appear here. If it does appear here it actions may be inaccurately reported, check the underlying XSL for existance.

NameCategoryTypeAbbreviation
Replace this, test is MsgID = 2026
LegPreAllocGrpMultilegOrdersImplicitBlockRepeatingPreAll
With this
LegPreAllocGrpCommonImplicitBlockRepeatingPreAll