FIX Version FIX.5.0SP2 Extension Pack EP188

Approval Date 2014-02-11T17:00:00

Description Application Layer Extensions - Part 1




Field Changes




New Fields

TagNameTypeAssociatedDataTagAbbrNameBaseCategoryBaseCategoryAbbrNameNotReqXMLEnumDatatypeUnionDataTypeDescriptionElaboration
2421FillRefIDStringFillRefID0A reference to either the value of the FillExecID(1363) or an implicit position of a fills instance in the FillsGrp component.
2422OrderRequestIDintOrdReqID0Unique message identifier for an order request as assigned by the submitter of the request.
2423MassOrderRequestIDStringMassOrdReqID0Unique message identifier for a mass order request as assigned by the submitter of the orders.
2424MassOrderReportIDStringMassOrdRptID0Unique message identifier for a mass order request as assigned by the receiver of the orders.
2425MassOrderRequestStatusintReqStat0Status of mass order request.
2426MassOrderRequestResultintReqRslt0Reserved100PlusRequest result of mass order request.
2427OrderResponseLevelintOrdRspLvl0The level of response requested from receiver of mass order messages. A default value should be bilaterally agreed.
2428NoOrderEntriesNumInGroup1Number of order entries.
2429OrderEntryActioncharOrdEntryActn0Specifies the action to be taken for the given order.
2430OrderEntryIDintOrdEntryID0Unique identifier for an order within a single MassOrder(35=DJ) message that can be used as a reference in the MassOrderAck(35=DK) message.
2431ExecTypeReasonintExecTypRsn0Reserved100PlusThe initiating event when an ExecutionReport(35=8) is sent.
2432TotNoOrderEntriesintTotNoOrdEntries0Totals number of orders for a mass order or its acknowledgment being fragmented across multiple messages.



Enumerations

Updated Enumerations

TagValueSymbolicNameGroupSortDescriptionElaborationDeprecated
179610Triggered (L=Triggered or Activated by System)

Enumerations Added

TagValueSymbolicNameGroupSortDescriptionElaboration
179611Activated11Activated (L=Triggered or Activated by System)
18232StopOrderTriggered3Stop order triggered
18233OCOOrderTriggered4One Cancels the Other (OCO) order triggered
18234OTOOrderTriggered5One Triggers the Other (OTO) order triggered
18235OUOOrderTriggered6One Updates the Other (OUO) order triggered
24251Accepted1Accepted
24252AcceptedWithAdditionalEvents2Accepted with additional events
24253Rejected3Rejected
24260Successful0Successful
24261ResponseLevelNotSupported1Response level not supported
24262InvalidMarket2Invalid market
24263InvalidMarketSegment3Invalid market segment
242699Other99Other
24270NoAck0No acknowledgementResponses are provided through one or more ExecutionReport(35=8) messages.
24271MinimumAck1Minimum acknowledgementThe minimum is any information to explain why the requested transaction was refused or led to additional events, e.g. immediate execution of an order that was entered or modified.
24272AckEach2Acknowledge each orderThe number of entries in the response is identical to the number of entries in the request.
24273SummaryAck3Summary acknowledgementResponses are provided through a single MassOrderAck(35=DK) without entries and one or more ExecutionReport(35=8) messages.
24291Add1Add
24292Modify2Modify
24293Delete3Delete / Cancel
24294Suspend 4Suspend
24295Release5Release
24311OrdAddedOnRequest1Order added upon request
24312OrdReplacedOnRequest2Order replaced upon request
24313OrdCxldOnRequest3Order cancelled upon request
24314UnsolicitedOrdCxl4Unsolicited order cancellation
24315NonRestingOrdAddedOnRequest5Non-resting order added upon request
24316OrdReplacedWithNonRestingOrdOnRequest6Order replaced with non-resting order upon request
24317TriggerOrdReplacedOnRequest7Trigger order replaced upon request
24318SuspendedOrdReplacedOnRequest8Suspended order replaced upon request
24319SuspendedOrdCxldOnRequest9Suspended order canceled upon request
243110OrdCxlPending10Order cancellation pending
243111PendingCxlExecuted11Pending cancellation executed
243112RestingOrdTriggered12Resting order triggered
243113SuspendedOrdActivated13Suspended order activated
243114ActiveOrdSuspended14Active order suspended
243115OrdExpired15Order expired

Messages

Messages Added

MsgTypeComponentIDNameCategoryIDSectionIDAbbrNameNotReqXMLDescriptionElaboration
DJ146MassOrderOrderMassHandlingTradeMassOrder0The MassOrder(35=DJ) message can be used to add, modify or delete multiple unrelated orders with a single message. Apart from clearing related attributes, only the key order attributes for high performance trading are available.
DK147MassOrderAckOrderMassHandlingTradeMassOrderAck0The mass order acknowledgement message is used to acknowledge the receipt of and the status for a MassOrder(35=DJ) message.

Components

Components Added

ComponentIDComponentTypeCategoryIDNameAbbrNameNotReqXMLVolumeDescriptionElaboration
2245BlockRepeatingOrderMassHandlingOrderEntryGrpOrderEntry0Group of order transactions across one or more instruments.
2246BlockRepeatingOrderMassHandlingOrderEntryAckGrpOrderEntryAck0Acknowledgment for a group of order transactions across one or more instruments.The acknowledgement may or may not echo back input values from the submission but it has to provide the current status of each order including the impact of immediate executions or suspensions.

Message/Component Content

Message/Components Content Changes

ComponentIDTagTextIndentPositionReqdDescription
911Required 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(35=S) - QuoteID(117) of a MassQuote(35=i). - MassOrderReportID(2424) of a MassOrderAck(35=DK)
941Conditionally required for response to a Cancel or Cancel/Replace request (ExecType(150) = 6 (Pending Cancel, 5 (Replaced), or 4 (Canceled)) when referring to orders that where electronically submitted over FIX or otherwise assigned a ClOrdID(11). ClOrdID(11) of the previous accepted order (NOT the initial order of the day) when canceling or replacing an order.
9693Required if responding to a QuoteResponse(35=AJ) message. Echo back the Initiator's value specified in the message.
9790Required if responding to and if provided on the OrderStatusRequest(35=H) message. Echo back the value provided by the requester.
9584Required if responding to a OrderMassStatusRequest(35=AF). Echo back the value provided by the requester.
9911Can be used when responding to an OrderMassStatusRequest(35=AF) to identify the total number of ExecutionReport(35=8) messages which will be returned.
9912Can be used when responding to an OrderMassStatusRequest(35=AF) to indicate that this is the last ExecutionReport(35=8) messages which will be returned as a result of the request.
9PartiesSpecifies party information related to the submitter.
9TargetPartiesSpecifies parties not directly associated with or owning the order, who are to be informed to effect processing of the order.
9ContraGrp
9551Must match original cross order. Same order chaining mechanism as ClOrdID(11)/OrigClOrdID(41) with OrderCancelReplaceRequest(35=G).
917Unique identifier of execution message as assigned by sell-side (broker, exchange, ECN) (will be 0 (zero) for ExecType(150) = I (Order Status)).
919Required for ExecType(150) = H (Trade Cancel) and ExecType(150) = G (Trade Correct).
9Instrument
9FinancingDetails
9Stipulations
9OrderQtyData**IMPORTANT NOTE: OrderQty(38) field is required for single instrument orders unless rejecting or acknowledging an order with CashOrderQty(152) or OrderPercent(516). **
9TriggeringInstruction
9PegInstructions
9DiscretionInstructions
9432Conditionally required if TimeInForce(59) = 6 (GTD) and ExpireTime(126) is not specified.
9126Conditionally required if TimeInForce(59) = 6 (GTD) and ExpireDate(432) is not specified.
932Quantity (e.g. shares) bought/sold on this (last) fill. Required if ExecType(150) = F (Trade) or ExecType(150) = G (Trade Correct) unless FillsGrp or OrderEventGrp is used. If ExecType(150) = 7 (Stopped), represents the quantity stopped/guaranteed/protected for.
91056Used for FX trades to express the quantity or amount of the other side of the currency. Conditionally required if ExecType(150) = F (Trade) or G (Trade Correct) and is an FX trade.
91071Optionally used when ExecType(150) = F (Trade) or G (Trade Correct) and is a FX Swap trade. Used to express the swap points for the swap trade event.
931Price of this (last) fill. Required if ExecType(150) = ExecType = F (Trade) or G (Trade Correct) unless FillsGrp or OrderEventGrp is used. Should represent the "all-in" (LastSpotRate(194) + LastForwardPoints(195)) rate for F/X orders.). If ExecType(150) = 7 (Stopped), represents the price stopped/guaranteed/protected at. Not required for FX Swap when ExecType(150) = F (Trade) or G (Trade Correct) as there is no "all-in" rate that applies to both legs of the FX Swap.
9669Last price expressed in percent-of-par. Conditionally required for Fixed Income trades when LastPx(31) is expressed in Yield, Spread, Discount or any other price type that is not percent-of-par.
930If ExecType(150) = F (Trade), indicates the market where the trade was executed. If ExecType(150) = 0 (New (0), indicates the market where the order was routed.
9151Quantity open for further execution. If the OrdStatus(39) is = 4 (Canceled), 3 (Done For Day), C (Expired), B (Calculated), or 8 (Rejected) (in which case the order is no longer active) then LeavesQty(151) could be 0, otherwise LeavesQty(151) = OrderQty(38) - CumQty(14).
91361Used to support fragmentation. Sum of NoFills(1362) across all messages with the same ExecID(17).
9CommissionDataNote: On a fill/partial-fill message, it represents value for that fill/partial fill. On ExecType = B (Calculated), it represents cumulative value for the order. Monetary commission values are expressed in the currency reflected by the Currency(15) field.
9SpreadOrBenchmarkCurveData
9YieldData
9118On a fill/partial fill message, it represents value for that fill/partial fill. On a ExecType(150) = B (Calculated) message, it represents cumulative value for the order. Value expressed in the currency reflected by the Currency(15) field.
9119Used to report results of forex accommodation trade.
9120Used to report results of forex accommodation trade. Required for Non-Deliverable Forwards.
9155Foreign exchange rate used to compute SettlCurrAmt(119) from Currency(15) to SettlCurrency(120).
9156Specifies whether the SettlCurrFxRate(155) should be multiplied or divided.
9DisplayInstruction
9DisclosureInstructionGrp
9851Applicable only on OrdStatus(39) = 1 of (Partially filled) or 2(Filled).
9ContAmtGrp
9InstrmtLegExecGrpSpecifies the leg executions of a multi-leg order or quote.
9921For repurchase agreements the start (dirty) cash consideration.
9922For repurchase agreements the end (dirty) cash consideration.

Messages/Components  Content Added

ComponentIDTagTextIndentPositionReqdDescription
9242202.40Required if provided on the order message. Echo back the value provided in the order message.
9242302.60Can be used to link execution to the MassOrder(35=DJ) message.
92431028.40Can be used to provide further detail for ExecType(150) field.
984087.40Can be used to specify the remaining quantity that was cancelled prior to order reaching terminal state (i.e. when LeavesQty(151)=0). If specified, OrderQty(38) = CumQty(14) + CxlQty(84).
146StandardHeader011MsgType=DJ
1462423021Unique identifier of MassOrder(35=DJ) message as assigned by the submitter of the request.
1462427030
1461301040
1461300050
146Parties060This is party information related to the submitter.
1461815070
1461816080
1461090
1466600100
1465810110
1465280120
1465290130
1465820140
14610280150
14610310160
146600170
146580180
1463540190Must be set if EncodedText(355) field is specified and must immediately precede it.
1463550200Encoded (non-ASCII characters) representation of the Text(58) field in the encoded format specified via the MessageEncoding(347) field.
14616850210
14624320220Used to support fragmentation. Sum of NoOrderEntries(2428) within the OrderEntryGrp across all messages with the same MassOrderRequestID(2423).
1468930230Indicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented.
146OrderEntryGrp0241
146StandardTrailer0251
147StandardHeader011MsgType=DK
147ApplicationSequenceControl021For use in drop copy applications. NOT FOR USE in transactional applications.
1472423030Unique identifier of MassOrder(35=DJ) message as assigned by the submitter of the request.
1472424040Unique identifier of MassOrder(35=DJ) message as assigned by the receiver
1472425051Message level request status
1472426060Message level request result
1472427070Level of response requested from receiver of MassOrder (35=DJ) message.
1471328080
1471664090Must be set if EncodedRejectText(1665) field is specified and must immediately precede it.
14716650100Encoded (non-ASCII characters) representation of the RejectText(1328) field in the encoded format specified via the MessageEncoding(347) field.
14713010110
14713000120
147Parties0130
14718150141
14718160150
14710160
1476600170
1475810180
1475280190
1475290200
1475820210
14710280220
14710310230
147600240
147580250
1473540260Must be set if EncodedRejectText(355) field is specified and must immediately precede it.
1473550270Encoded (non-ASCII characters) representation of the RejectText(1328) field in the encoded format specified via the MessageEncoding(347) field.
1477970280
14724320290Used to support fragmentation. Sum of NoOrderEntries(2428) within the OrderEntryAckGrp across all messages with the same MassOrderRequestID(2423).
1478930300Indicates whether this is the last fragment in a sequence of message fragments. Only required where message has been fragmented.
147ThrottleResponse0310
147OrderEntryAckGrp0320
147StandardTrailer0331
14242202.40
61242202.40
52242202.40
17242202.40Required if provided on the order being replaced (or cancelled). Echo back the value provided by the requester.
62242202.40Required if provided on the order being replaced (or cancelled). Echo back the value provided by the requester.
53242202.40Required if provided on the order being replaced (or cancelled). Echo back the value provided by the requester.
37242202.40
16242201.40Required if provided on the order being cancelled. Echo back the value provided by the requester.
54242202.40Required if provided on the order being cancelled. Echo back the value provided by the requester.
10242202.40Required if provided on the order cancel or cancel/replace request. Echo back the value provided by the requester.
201824211150Use to reference the partial execution of a multi-leg order to which this leg execution belongs.
22452428010
22452429120Required if NoOrderEntries(2428) > 0.
22452430130Unique order entry identification across all entries of a single message. Conditionally required when neither ClOrdID(11) nor OrderID(37) is provided.
224511140Conditionally required when neither OrderEntryID(2430) nor OrderID(37) is provided.
224541150Conditionally required when OrderEntryAction(2429) is not "1" (Add), ClOrdID(11) was provided in original order, and message-chaining model is used.
224537160Conditionally required when OrderEntryAction(2429) is not "1" (Add) and neither OrderEntryID(2430) nor ClOrdID(11) is provided.
224540170Conditionally required when OrderEntryAction (2429) = 1 (Add) or 2 (Modify). Only a subset of OrdType(40) values permitted that do not require additional pricing fields other than Price(44) field.
224544180Conditionally required when OrdType(40) = 2 (Limit)
224554190Conditionally required when OrderEntryAction(2429) = 1 (Add) or 2 (Modify)
2245591100Only subset of values permitted that do not require additional fields
2245OrderQtyData1110Conditionally required when OrderEntryAction(2429) = 1 (Add) or 2 (Modify)
2245Instrument1120Required if NoOrderEntries(2432) > 0.
22462428010
224639120Required if NoOrderEntries(2428) > 0.
2246150130Required if NoOrderEntries(2428) > 0.
22462431140
22462429150
22462430160Conditionally required when neither ClOrdID(11) nor OrderID(37) is provided.
224611170Conditionally required when neither OrderEntryID(2430) nor OrderID(37) is provided.
224641180ClOrdID(11) of the previous non rejected order (NOT the initial order of the day) when canceling or replacing an order. Conditionally required when ClOrdID(11) is provided and message-chaining model is used.
224637190Conditionally required when neither OrderEntryID(2430) nor ClOrdID(11) is provided.
22461031100
2246141110Use to explicitly provide executed quantity.
22461511120Use to explicitly provide remaining quantity.
2246841130Use to explicitly provide cancelled quantity.
2246401140
2246441150
2246541160
2246591170
2246OrderQtyData1180
2246Instrument1190