<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
*
* Copyright (C) 2023 ION Trading UK Ltd. All rights reserved.
* Use in source and binary forms, with or without modification, is permitted provided that the following conditions are met:
* 1. You may only use this software for internal evaluation and testing purposes and may not use the software for engaging
* in live trades, unless and until you have entered into a separate agreement with ION Trading governing the use of
* ION Trading software in a production environment.
* 2. You may not distribute the software (in either source or binary forms) to third parties.
* 3. All copies of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* THIS SOFTWARE IS PROVIDED BY ION TRADING AND ITS LICENSORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
* NO EVENT SHALL ION TRADING OR ITS LICENSORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
-->
<fix type="FIX" major="5" minor="0" servicepack="2">
<!-- packageName=mfsbe4 schemaVersion=18945 -->
<messages>
<message name="BusinessMessageReject" msgtype="j" msgcat="app"> <!-- Corrective action required of the Client. Sent by Whisperer to Client when a message fulfills session-level rules and cannot be rejected via any other means. -->
<field name="RefSeqNum" required="Y"/> <!-- MsgSeqNum of rejected message. -->
<field name="RefMsgType" required="Y"/> <!-- The semantic type of the rejected message. -->
<field name="BusinessRejectRefID" required="Y"/> <!-- The value of the business-level ID field on the message being referenced. The Client is expected to use this ID to update their state for the originating message. -->
<field name="BusinessRejectReason" required="Y"/> <!-- Code to identify reason for this Reject. -->
<group name="NoHops" required="N"> <!-- Conditionally populated by Whisperer if BusinessMessageReject is triggered by Venue. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue/MFAPI message. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue/Client clock) that the Venue/Client message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Message to explain reason for this Reject. -->
</message>
<message name="UserRequest" msgtype="BE" msgcat="app"> <!-- Client initiates connection/disconnection to/from Venue. NOTE:Each Client Username will be associated (n-n) with a specific Venue credential. Mapping bilaterally agreed between MarketFactory Support and Customer. -->
<field name="UserRequestType" required="Y"/>
<field name="Text" required="N"/> <!-- Explanation of user request, e.g. reason for Venue logout. -->
</message>
<message name="UserNotification" msgtype="CB" msgcat="app"> <!-- Venue notification of Client events. -->
<field name="UserStatus" required="Y"/>
<field name="Text" required="N"/> <!-- Explanation of status, if any. -->
</message>
<message name="ErrorReport" msgtype="U2" msgcat="app"> <!-- No action required of the Client. Sent by Whisperer to Client to notify them erroneous events. Whisperer is responsible for any subsequent recovery. -->
<field name="Subject" required="Y"/> <!-- Class of Warning. -->
<group name="NoHops" required="N"> <!-- Conditionally populated by Whisperer if ErrorReport triggered by Venue. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue/MFAPI message. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue/Client clock) that the Venue/Client message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Additional detail required in order to address the Warning. E.g. Venue FIX message. -->
</message>
<message name="MarketDataRequest" msgtype="V" msgcat="app"> <!-- A request to create, cancel, or otherwise manipulate a subscription for a single security from a specific Venue. -->
<field name="MDReqID" required="Y"/> <!-- Unique ID specified by the subscriber. -->
<field name="SubscriptionRequestType" required="Y"/>
<field name="MarketDepth" required="Y"/> <!-- 0=Full Book, 1=Top of Book, n=Number of Levels. -->
<field name="MDBookType" required="Y"/> <!-- Specifies the type of book to be requested. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR). NOTE: This message is NOT to be used for BLK, IMM or OPT Security Types. -->
<field name="SecurityGroup" required="N"/> <!-- Conditionally required if the Venue offers multiple liquidity pools for the same security. E.g. EBS standard vs eFix. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if SecurityType=NDF/NDS. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoUnderlyings" required="N"> <!-- Optionally populated if supported by Venue. The number of FullAmount volume bands requested. -->
<field name="UnderlyingQty" required="Y"/> <!-- The volume band to be requested. -->
</group>
</message>
<message name="MarketDataRequestReject" msgtype="Y" msgcat="app"> <!-- A rejection of a request for market data. -->
<field name="MDReqID" required="Y"/> <!-- Unique ID specified by the subscriber. -->
<field name="MDReqRejReason" required="Y"/> <!-- The reason that the MarketDataRequest was rejected. Refer to Text field for additional detail. -->
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string detailing the rejection. -->
</message>
<message name="SecurityStatus" msgtype="f" msgcat="app"> <!-- Sent by MF on connection to Venue to provide indication of instrument availability, attributes and status. Should be processed before submission of MarketDataRequest. Can also arrive asynchronously if the state of a security changes - e.g. Date Roll. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR). NOTE: This message is NOT to be used for BLK, IMM or OPT Security Types. -->
<field name="SecurityGroup" required="N"/> <!-- Conditionally required if the Venue multiple offers multiple liquidity pools for the same security. E.g. EBS standard vs eFix. -->
<field name="TradeDate" required="N"/> <!-- Trade Session Date of security, as provided by the Venue. -->
<field name="SecurityTradingStatus" required="Y"/> <!-- Identifies the trading status applicable to the instrument or Security Group -->
<field name="MinQty" required="N"/> <!-- Minimum Order size allowed by the Venue. -->
<field name="ContractMultiplier" required="N"/> <!-- Specifies the ratio or multiply factor to convert from 'nominal' units (e.g. contracts) to total units. -->
<field name="MinPriceIncrement" required="N"/> <!-- Tick value for the instrument, specified by the Venue. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if SecurityType=NDF/NDS. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Explanation of status state. -->
</message>
<message name="MarketDataIncrementalRefresh" msgtype="X" msgcat="app"> <!-- Contains any combination of new, changed, or deleted Market Data Entries, for any combination of instruments, with any combination of trades, quotes and Laddered/VWAP prices, etc. All of these types of Market Data Entries can be changed and deleted. -->
<field name="MDReqID" required="Y"/> <!-- Unique ID specified by the subscriber. -->
<field name="ApplSeqNum" required="N"/> <!-- Conditionally populated for UDP feeds. Incrementing sequence number provided by Venue to facilitate UDP message gap detection. Informational only. -->
<field name="MDBookType" required="Y"/> <!-- Instructs subscriber as to how the book should be interpreted. -->
<field name="MDSubFeedType" required="N"/> <!-- Specifies the UDP market data source for A/B Line Arbitrage. -->
<field name="MDFlags" required="Y"/> <!-- Additional state information relating to this Market Data message. -->
<group name="NoMDEntries" required="N"> <!-- One entry for each individual change in the market data message. -->
<field name="MDUpdateAction" required="Y"/> <!-- The type of update action to be applied to this market data entry. -->
<field name="MDSubBookType" required="N"/> <!-- Reserved for future use. Identifies component of aggregated books. E.g. Interest, Firm, LastLook. -->
<field name="MDEntryType" required="N"/> <!-- Defines the nature of this market data entry. -->
<field name="MDEntryID" required="Y"/> <!-- Unique identifier of this market data entry, referenced throughout MDUpdateAction lifecycle. -->
<field name="MDEntryTime" required="N"/> <!-- Venue TransactTime for this market data entry. -->
<field name="MDEntryPx" required="N"/> <!-- All-in Price. MDEntryPx=MDEntrySpotRate+MDEntryForwardPoints*10^PipPosition -->
<field name="MDEntrySize" required="N"/> <!-- Size for quoted price. Expressed in units of CCY1. -->
<field name="NumberOfOrders" required="N"/> <!-- Conditionally populated if MDBookType=PriceDepth/Spread/Amount and provided by Venue. Used in aggregated books to indicate the number of individual orders for this MDEntry, if known. -->
<group name="HasExtendedPriceFields" required="N"> <!-- Conditionally populated when provided by Venue. -->
<field name="MDEntrySpotRate" required="Y"/> <!-- Spot Price. -->
<field name="MDEntryForwardPoints" required="N"/> <!-- Forward Points, expressed in pips (not arithmetic). -->
</group>
<group name="NoOfSecSizes" required="N"> <!-- Number of Orders at this level. When MDBookType=PriceDepth, NoOfSecSizes=NumberOfOrders, or zero if unknown. When MDBookType=OrderDepth and MinQty/LotSize is specified for this order then NoOfSecSizes=1, zero otherwise. -->
<field name="MDSecSize" required="Y"/> <!-- Size of individual Order at this level. SUM(MDSecSize)=MDEntrySize. -->
<field name="MinQty" required="N"/> <!-- Minimum quantity available to execute for this individual Order. -->
<field name="LotSize" required="N"/> <!-- Minimum Order size increment. -->
</group>
<group name="NoEntryPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="EntryPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="EntryPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
</message>
<message name="QuoteRequest" msgtype="R" msgcat="app"> <!-- Issued by Taker to make ESP/RFS/RFQ subscriptions. A QuoteResponse may be used to terminate the request. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="QuoteReqID" required="Y"/> <!-- Unique ID specified by the subscriber. -->
<field name="NegotiationMethod" required="Y"/> <!-- RFS/RFQ - Quote messages sent in response. ESP - MassQuote messages sent in response. Order - not applicable. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- Specifies the product type for the requested instrument. 1-legged (SPT, FWD, NDF), 2-legged (SWP, NDS) and n-legged (BLK) order types. NOTE: This message is NOT to be used for FUT, SPR, IMM or OPT Security Types. -->
<field name="SecurityGroup" required="N"/> <!-- Conditionally populated if NegotiationMethod=ESP and VenueType=Taker. The name of the requested stream category. Bilaterally agreed between ECN and Maker. -->
<field name="NumOfCompetitors" required="N"/> <!-- 0=Not in competition; -1=In competition (number of competitors unknown), n=In competition (Number of competitors); NULL=unknown. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple QuoteRequests. -->
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSecurityType" required="Y"/> <!-- Specifies the product type for this leg. Valid values: SPT, FWD, NDF. -->
<field name="LegSide" required="Y"/> <!-- Side is from perspective of Taker and LegCurrency -->
<field name="LegCurrency" required="Y"/> <!-- Dealt currency. Specifies the denomination of the quantity fields in this Leg. -->
<field name="LegOrderQty" required="N"/> <!-- Conditionally required if NegotiationMethod=RFS/RFQ. Netted Order quantity for this Leg. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if LegSecurityType=NDF. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoLegAllocs" required="N"> <!-- Conditionally required if NegotiationMethod=RFS/RFQ - at least one Allocation must be specified per Leg. -->
<field name="LegIndividualAllocID" required="Y"/> <!-- Mandatory unique reference for this allocation. -->
<field name="LegAllocAccount" required="N"/> <!-- Account mnemonic. -->
<field name="LegAllocQty" required="Y"/> <!-- Quantity to be allocated to Account. Specified in terms of LegCurrency and LegSide (negative quantities allocate to the opposite side). -->
<group name="NoAllocRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="AllocRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="AllocRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoAllocPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="AllocPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="AllocPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoLegRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="LegRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="LegRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoLegPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="LegPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="LegPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. Assigned a Custom id to aid FIXT.1.1/SBE protocol conversion. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<group name="NoUnderlyings" required="N"> <!-- Optionally populated if supported by Venue. The number of FullAmount volume bands requested. -->
<field name="UnderlyingQty" required="Y"/> <!-- The volume band to be requested. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the request, provided by the Taker. -->
</message>
<message name="Quote" msgtype="S" msgcat="app"> <!-- Issued by Maker to publish a price in response to a corresponding QuoteRequest. A new quote replaces the previous, and may be marked Indicative (i.e. non-tradeable). -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="QuoteReqID" required="Y"/> <!-- Unique ID specified by the Taker. -->
<field name="QuoteID" required="Y"/> <!-- Unique ID of this Quote specified by the Maker. -->
<field name="QuoteType" required="Y"/> <!-- Indicative/Tradeable price. When SecurityType=BLK/NDB, BidIsTradeable==OfferIsTradeable. Otherwise is specified independantly for Bid and Offer WRT base Currency (not the dealt). When SecurityType=SWP/NDS refers to the Far Leg side. -->
<field name="ValidUntilTime" required="N"/> <!-- Conditionally populated if originating QuoteRequest NegotiationMethod=RFQ. The time at which the single-shot Quote will expire. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- Specifies the product type for the requested instrument. 1-legged (SPT, FWD, NDF), 2-legged (SWP, NDS) and n-legged (BLK) order types. NOTE: This message is NOT to be used for FUT, SPR, IMM or OPT Security Types. -->
<field name="BidSpotRate" required="N"/> <!-- Conditionally populated if SecurityType=SWP/BLK, or SecurityType=SPT/FWD/NDF and overall net Side=Sell(Base)/Buy(Terms)/TwoWay. The quoted Bid Spot rate relating to this quote. -->
<field name="MidPx" required="N"/> <!-- Mid-Market spot rate. -->
<field name="OfferSpotRate" required="N"/> <!-- Conditionally populated if SecurityType=SWP/BLK, or SecurityType=SPT/FWD/NDF and overall net Side=Buy(Base)/Sell(Terms)/TwoWay. The quoted Offer Spot rate relating to this quote. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSecurityType" required="Y"/> <!-- Specifies the product type for this leg. Valid values: SPT, FWD, NDF. -->
<field name="LegSide" required="Y"/> <!-- Side is from perspective of LegCurrency -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<field name="LegCurrency" required="Y"/> <!-- Dealt currency. Specifies the denomination of the quantity fields in this Leg. -->
<field name="LegOrderQty" required="N"/> <!-- Required. Order quantity. -->
<field name="LegBidPx" required="N"/> <!-- Conditionally populated if LegSide=Sell(Base)/Buy(Terms)/TwoWay. All-in Bid rate. -->
<field name="LegMidPx" required="N"/> <!-- Mid-Market All-in Price of this Leg. -->
<field name="LegOfferPx" required="N"/> <!-- Conditionally populated if LegSide=Buy(Base)/Sell(Terms)/TwoWay. All-in Offer rate. -->
<field name="LegBidForwardPoints" required="N"/> <!-- Conditionally populated if LegSide=Sell(Base)/Buy(Terms)/TwoWay. The Bid FX forward points for this Leg. Value can be negative. Expressed in pips (not arithmetic), LegBidForwardPoints=(LegBidPx – SpotRate)/10^PipPosition. SpotRate may be either BidSpotRate or OfferSpotRate, depending on Maker pricing. -->
<field name="LegOfferForwardPoints" required="N"/> <!-- Conditionally populated if LegSide=Buy(Base)/Sell(Terms)/TwoWay. The Offer FX forward points for this Leg. Value can be negative. Expressed in pips (not arithmetic), LegOfferForwardPoints=(LegOfferPx – SpotRate)/10^PipPosition. SpotRate may be either BidSpotRate or OfferSpotRate, depending on Maker pricing. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if LegSecurityType=NDF. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoLegPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="LegPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="LegPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
</message>
<message name="MassQuote" msgtype="i" msgcat="app"> <!-- Used by Maker for publication of ESP price ladders by stream category. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="QuoteReqID" required="Y"/> <!-- Unique ID specified by the Taker. -->
<field name="QuoteID" required="Y"/> <!-- Unique ID of this MassQuote specified by the Maker. Referenced in NewOrderMultileg.QuoteID for VWAP orders. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoQuoteSets" required="Y"> <!-- One QuoteSet per Leg of stream category QuoteRequest. -->
<field name="QuoteSetID" required="Y"/> <!-- Unique ID representing Leg number. E.g. SWP Near=1, Far=2 -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- Specifies the product type for the requested instrument. 1-legged (SPT, FWD, NDF) and 2-legged (SWP, NDS) order types. NOTE: This message is NOT to be used for FUT, SPR, BLK, IMM or OPT Security Types. -->
<field name="SecurityGroup" required="N"/> <!-- Conditionally populated if originating QuoteRequest NegotiationMethod=ESP and VenueType=Taker. The name of the requested stream category. Bilaterally agreed between ECN and Maker. -->
<field name="SettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement of this Leg. -->
<field name="SettlDate" required="N"/> <!-- Specifies the calendar date for settlement of this Leg. -->
<group name="HasNDFFields" required="N"> <!-- Conditionally required if SecurityType=NDF/NDS. -->
<field name="SettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS. -->
<field name="MaturityDate" required="N"/> <!-- Specifies the Fixing Date for this Leg of NDF/NDS. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoQuoteEntries" required="N"> <!-- One QuoteEntry per ladder rung, per Leg. -->
<field name="QuoteEntryID" required="Y"/> <!-- Unique ID of this Quote Rung specified by the Maker. Referenced in NewOrderMultileg.QuoteID for Sweepable and FullAmount orders. -->
<field name="ValidUntilTime" required="N"/> <!-- Optionally populated by Maker. The time at which the Quote will expire. -->
<field name="QuoteType" required="Y"/> <!-- Indicative/Tradeable price. Can be specified independantly for Bid and Offer. -->
<field name="Currency" required="Y"/> <!-- Specifies the denomination of the quantity fields in this Rung. -->
<field name="BidSize" required="N"/> <!-- Bid quantity in this Rung. -->
<field name="OfferSize" required="N"/> <!-- Offer quantity in this Rung. -->
<field name="BidPx" required="N"/> <!-- All-in Bid rate for this Rung. -->
<field name="MidPx" required="N"/> <!-- All-in Mid-Market rate for this Rung. -->
<field name="OfferPx" required="N"/> <!-- All-in Offer rate for this Rung. -->
<group name="HasExtendedBidFields" required="N"> <!-- When VenueType=Taker should be 1 if BidPx is populated. When VenueType=Maker will be 1 when full Bid price details are provided by Venue, 0 otherwise. -->
<field name="BidSpotRate" required="Y"/> <!-- Conditionally populated if SecurityType=SPT/FWD/NDF/SWP/NDS. The quoted Bid Spot rate relating to this Rung. -->
<field name="BidForwardPoints" required="Y"/> <!-- The Bid FX forward points for this Rung. Value can be negative. Expressed in pips (not arithmetic), LegBidForwardPoints=(LegBidPx – BidSpotRate)/10^PipPosition. -->
</group>
<group name="HasExtendedOfferFields" required="N"> <!-- When VenueType=Taker should be 1 if OfferPx is populated. When VenueType=Maker will be 1 when full Offer price details are provided by Venue, 0 otherwise. -->
<field name="OfferSpotRate" required="Y"/> <!-- Conditionally populated if SecurityType=SPT/FWD/NDF/SWP/NDS. The quoted Offer Spot rate relating to this Rung. -->
<field name="OfferForwardPoints" required="Y"/> <!-- The Offer FX forward points for this Rung. Value can be negative. Expressed in pips (not arithmetic), LegOfferForwardPoints=(LegOfferPx – OfferSpotRate)/10^PipPosition. -->
</group>
<group name="NoEntryPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="EntryPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="EntryPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
</message>
<message name="QuoteResponse" msgtype="AJ" msgcat="app"> <!-- Issued by Maker to reject a new QuoteRequest, or by Taker, Maker or ECN to terminate an active QuoteRequest. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="QuoteReqID" required="Y"/> <!-- Unique ID specified by the subscriber. -->
<field name="QuoteRespType" required="N"/> <!-- Reason for termination of QuoteRequest. -->
<field name="QuoteRequestRejectReason" required="N"/> <!-- Conditionally populated if QuoteRespType=Pass. Reason for rejection of QuoteRequest. Refer to Text field for additional detail. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple QuoteRequests. -->
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the termination. -->
</message>
<message name="QuoteCancel" msgtype="Z" msgcat="app"> <!-- Optionally used by Maker to withdraw the previously published Quote or MassQuote. The Maker may alternatively mark a Quote or MassQuote as Indicative. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="QuoteReqID" required="Y"/> <!-- Unique ID specified by the Taker. -->
<field name="QuoteID" required="Y"/> <!-- Unique ID of the previously published Quote or MassQuote to be withdrawn, specified by the Maker. -->
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
</message>
<message name="EndMarker" msgtype="U3" msgcat="app"> <!-- Marks the end of a set of messages. E.g. end of conflation interval for a market data particular timeslice, end of SecurityStatus list, end of Batch, etc. -->
<field name="MDBookType" required="N"/> <!-- Conditionally populated if RefMsgType='X'. Provides subscriber with indication of which book-type this conflation end-Marker should be applied to. -->
<field name="MDSubFeedType" required="N"/> <!-- Conditionally populated if RefMsgType='X' and UDP multicast Venue transport. Specifies the UDP market data source for A/B Line Arbitrage. -->
<field name="RefMsgType" required="Y"/> <!-- The semantic type of the message. -->
<field name="LinkID" required="N"/> <!-- Conditionally populated if RefMsgType='R'. Not applicable for other values. -->
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
</message>
<message name="NewOrderMultileg" msgtype="AB" msgcat="app"> <!-- Issued to submit an Order (either in response to a CLOB MarketData stream, or against a published ESP/RFS Quote). To be used for 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR) and n-legged (BLK) order types. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="OrderRequestID" required="N"/> <!-- Conditionally populated if OrdType=PreviouslyQuoted. References back to the originating QuoteReqID so as to associate Order with earlier MassQuote (ESP) or Quote (RFS) messages and aid support. -->
<field name="QuoteID" required="N"/> <!-- Conditionally populated if OrdType=PreviouslyQuoted. If NegotiationMethod=RFS/RFQ then contains QuoteID of Quote. If NegotiationMethod=ESP then contains either QuoteEntryID (for Sweep/FullAmount trades), or the overall QuoteID (for VWAP trades) of MassQuote. -->
<field name="ClOrdID" required="Y"/> <!-- The Originator-assigned Order Identifier. If created by Client, then must be unique for trading week. -->
<field name="OrdType" required="Y"/>
<field name="TimeInForce" required="Y"/>
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- Specifies the product type for the traded instrument. 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR) and n-legged (BLK, NDB) order types. NOTE: This message is NOT to be used for IMM or OPT Security Types. -->
<field name="SecurityGroup" required="N"/> <!-- Conditionally populated if originating QuoteRequest NegotiationMethod=ESP and VenueType=Taker; here it isthe name of the requested stream category as bilaterally agreed between ECN and Maker. Also conditionally required on those order-matching Venues that offer multiple liquidity pools for the same security; e.g. EBS standard vs eFix. -->
<field name="Price" required="N"/> <!-- Conditionally populated if OrdType!=Market. If OrdType=PreviouslyQuoted then represents the Spot price: LegPrice - Price=Leg Fwd Pts (TODO - Fwd Pts not currently populated). Othwerwise represents the Order Limit price. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<group name="HasExtendedOrderFields" required="N"> <!-- Conditionally populated if necessary for desired order type. -->
<field name="EffectiveTime" required="Y"/> <!-- Timestamp when the Order will be entered to the market. -->
<field name="ExpireTime" required="N"/> <!-- Conditionally populated if TimeInForce=GTD. Timestamp when the Order will be cancelled. -->
<field name="ExposureDuration" required="N"/> <!-- Conditionally populated if TimeInForce=GFT. Number of milliseconds after which the Order will be cancelled. -->
<field name="StopPx" required="N"/> <!-- Stop price. Only required if this order is a Stop-type order. -->
<field name="MinQty" required="N"/> <!-- Minimum quantity to execute, used to prevent partial fills under the defined quantity. If the Order quantity drops below this value due to a fill, the Order will be cancelled. -->
<field name="MaxShow" required="N"/> <!-- If supported by Venue and specified, defines Iceberg tip-size. Otherwise, will default to OrderQty. -->
<field name="DiscretionOffsetValue" required="N"/> <!-- If supported by Venue, arithmetic (not pip) value added to, or subtracted from, Price to define the worst price the trader will accept. -->
<field name="PegPriceType" required="N"/> <!-- Conditionally required if OrdType=Pegged. Defines the type of Peg. -->
<field name="PegOffsetValue" required="N"/> <!-- Conditionally required if OrdType=Pegged. Defines the absolute, signed, value of market offset. -->
<group name="NoStrategyParameters" required="N"> <!-- Conditionally populated if additional parameters are required for specified OrdType and TimeInForce. -->
<field name="StrategyParameterType" required="Y"/> <!-- FIX datatype of Order parameter. -->
<field name="StrategyParameterName" required="Y"/> <!-- Name of Order parameter. -->
<field name="StrategyParameterValue" required="Y"/> <!-- Value of Order parameter. -->
</group>
</group>
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSecurityType" required="Y"/> <!-- Specifies the product type for this leg. Valid values: SPT, FWD, NDF, FUT. -->
<field name="LegSide" required="Y"/> <!-- Side is from perspective of LegCurrency -->
<field name="LegCurrency" required="N"/> <!-- Conditionally populated if SecurityType!=FUT/SPR. Dealt currency, specifies the denomination of the quantity fields in this Leg. -->
<field name="LegPrice" required="N"/> <!-- Conditionally populated if OrdType!=Market. All-in Order limit price. LegPrice-Price=LegFwdPts (not currently populated). Not populated when SecurityType=SPR. -->
<field name="LegOrderQty" required="N"/> <!-- Required. Order quantity. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if LegSecurityType=NDF. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoLegAllocs" required="Y"> <!-- At least one Allocation must be specified per Leg. -->
<field name="LegIndividualAllocID" required="Y"/> <!-- Mandatory unique reference for this allocation. -->
<field name="LegAllocAccount" required="N"/> <!-- Account mnemonic. -->
<field name="LegAllocQty" required="Y"/> <!-- Quantity to be allocated to Account. Specified in terms of LegCurrency and LegSide (negative quantities allocate to the opposite side). -->
<group name="NoAllocRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="AllocRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="AllocRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoAllocPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="AllocPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="AllocPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoLegRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="LegRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="LegRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoLegPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="LegPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="LegPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF. -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the Order, provided by the Originator. -->
</message>
<message name="MultilegOrderCancelReplaceRequest" msgtype="AC" msgcat="app"> <!-- Modify an outstanding order. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="ClOrdID" required="Y"/> <!-- The Originator-assigned Order Identifier of *this* OrderCancelReplaceRequest. If created by Client, then must be unique for trading week. -->
<field name="OrigClOrdID" required="Y"/> <!-- ClOrdID of the Order to be replaced. -->
<field name="OrderID" required="Y"/> <!-- The Maker/ECN-assigned Order ID. -->
<field name="OrdType" required="Y"/>
<field name="TimeInForce" required="Y"/> <!-- The original order time in force. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- Specifies the product type for the traded instrument. 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR) and n-legged (BLK, NDB) order types. NOTE: This message is NOT to be used for IMM or OPT Security Types. -->
<field name="Price" required="N"/> <!-- The NEW order price, if changing, or the original price if not. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<field name="ExecInst" required="N"/> <!-- Optionally populated, to suspend or resume order execution. -->
<group name="HasExtendedOrderFields" required="N"> <!-- Conditionally populated if necessary for desired order type. -->
<field name="EffectiveTime" required="Y"/> <!-- Timestamp when the Order will be entered to the market. -->
<field name="ExpireTime" required="N"/> <!-- Conditionally populated if TimeInForce=GTD. Timestamp when the Order will be cancelled. -->
<field name="ExposureDuration" required="N"/> <!-- Conditionally populated if TimeInForce=GFT. Number of milliseconds after which the Order will be cancelled. -->
<field name="StopPx" required="N"/> <!-- Stop price. Only required if this order is a Stop-type order. -->
<field name="MinQty" required="N"/> <!-- Minimum quantity to execute, used to prevent partial fills under the defined quantity. If the Order quantity drops below this value due to a fill, the Order will be cancelled. -->
<field name="MaxShow" required="N"/> <!-- If supported by Venue and specified, defines Iceberg tip-size. Zero represents 'Dark', otherwise 'Lit'. Maximum value is OrderQty. -->
<field name="DiscretionOffsetValue" required="N"/> <!-- If supported by Venue, added to Price to define the worst price the trader will accept. -->
<field name="PegPriceType" required="N"/> <!-- Conditionally required if OrdType=Pegged. Defines the type of Peg. -->
<field name="PegOffsetValue" required="N"/> <!-- Conditionally required if OrdType=Pegged. Defines the absolute, signed, value of market offset. -->
<group name="NoStrategyParameters" required="N"> <!-- Conditionally populated if additional parameters are required for specified OrdType and TimeInForce. -->
<field name="StrategyParameterType" required="Y"/> <!-- FIX datatype of Order parameter. -->
<field name="StrategyParameterName" required="Y"/> <!-- Name of Order parameter. -->
<field name="StrategyParameterValue" required="Y"/> <!-- Value of Order parameter. -->
</group>
</group>
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSecurityType" required="Y"/> <!-- Specifies the product type for this leg. Valid values: SPT, FWD, NDF, FUT. -->
<field name="LegSide" required="Y"/> <!-- The ORIGINAL order side. Side is from perspective of LegCurrency -->
<field name="LegCurrency" required="N"/> <!-- Conditionally populated if SecurityType!=FUT/SPR. Dealt currency, specifies the denomination of the quantity fields in this Leg. -->
<field name="LegPrice" required="N"/> <!-- Conditionally populated if OrdType!=Market. All-in Order limit price. LegPrice-Price=LegFwdPts (not currently populated). -->
<field name="LegOrderQty" required="N"/> <!-- Required. The NEW order quantity, if changing, or the original order quantity if not. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if LegSecurityType=NDF. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoLegRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="LegRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="LegRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoLegPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="LegPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="LegPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the Order, provided by the Originator. -->
</message>
<message name="OrderCancelRequest" msgtype="F" msgcat="app"> <!-- Cancel an outstanding order. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="ClOrdID" required="Y"/> <!-- The Originator-assigned Order Identifier of *this* OrderCancelRequest. If created by Client, then must be unique for trading week. -->
<field name="OrigClOrdID" required="Y"/> <!-- ClOrdID of the Order to be Cancelled. -->
<field name="OrderID" required="Y"/> <!-- The Maker/ECN-assigned Order ID. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the Order, provided by the Originator. -->
</message>
<message name="OrderCancelReject" msgtype="9" msgcat="app"> <!-- Sent by Maker to reject an OrderCancelReplaceRequest or OrderCancelRequest. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="ClOrdID" required="Y"/> <!-- The ClOrdID of the OrderCancelReplaceRequest or OrderCancelRequest. -->
<field name="OrigClOrdID" required="Y"/> <!-- The ClOrdID of the Order that was to be replaced or cancelled. -->
<field name="OrderID" required="Y"/> <!-- The Maker/ECN-assigned Order ID. -->
<field name="OrdStatus" required="Y"/> <!-- Defines the current state of the Order. -->
<field name="CxlRejReason" required="Y"/> <!-- The reason that the OrderCancelRequest was rejected. Refer to Text field for additional detail. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string detailing the rejection. -->
</message>
<message name="OrderTimeout" msgtype="U1" msgcat="app"> <!-- Sent by Order Originator to flag an Order for which no ExecutionReport was received within the allowed time window. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="ClOrdID" required="Y"/> <!-- The ClOrdID of the timed-out Order. -->
<field name="OrderID" required="Y"/> <!-- The Maker/ECN-assigned Order ID. -->
<field name="OrdStatus" required="Y"/> <!-- Defines the current state of the Order. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the timeout, provided by the Order Originator. -->
</message>
<message name="ExecutionReport" msgtype="8" msgcat="app"> <!-- Maker/ECN responses for order actions and events. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="OrderRequestID" required="N"/> <!-- Must contain the value provided in the originating NewOrderMultileg. Used to associate Order with earlier MassQuote (ESP) or Quote (RFS) messages, to aid support. -->
<field name="ClOrdID" required="Y"/> <!-- The current ClOrdID of the Order. Can differ from the originally submitted value on the NewOrderMultileg if, for example, modifications have been made. -->
<field name="OrigClOrdID" required="N"/> <!-- Conditionally populated when VenueType=CLOB. The ClOrdID of the original value submitted on the NewOrderMultileg. -->
<field name="OrderID" required="Y"/> <!-- The Maker/ECN-assigned Order ID. -->
<field name="ExecID" required="Y"/> <!-- Unique identifier for this ExecutionReport. -->
<field name="ExecRefID" required="N"/> <!-- Conditionally populated when VenueType=CLOB and ExecType=Trade. Used to link back to a preceding ExecutionReport when ExecType IN {PendingMatch, TradeCorrect, TradeCancel (busts)}, identifier for the ExecutionReport of the trade that was corrected or cancelled. -->
<field name="OrdType" required="Y"/> <!-- Not populated when SessionType=DropCopy. -->
<field name="TimeInForce" required="Y"/> <!-- Not populated when SessionType=DropCopy. -->
<field name="OrdStatus" required="Y"/> <!-- Defines the current state of the Order. Not populated when SessionType=DropCopy. -->
<field name="ExecType" required="Y"/>
<field name="OrdRejReason" required="N"/> <!-- Conditionally populated if ExecType=Rejected. The reason that the Order was rejected. Refer to Text field for additional detail. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR) and n-legged (BLK) order types. NOTE: This message is NOT to be used for IMM or OPT Security Types. -->
<field name="SecurityGroup" required="N"/> <!-- Conditionally populated if originating QuoteRequest NegotiationMethod=ESP and VenueType=Taker; here it isthe name of the requested stream category as bilaterally agreed between ECN and Maker. Also conditionally required on those Order Matching Venue that offer multiple liquidity pools for the same security; e.g. EBS standard vs eFix. -->
<field name="TradeDate" required="N"/> <!-- Indicates date of trading day (expressed in local time at place of trade). -->
<field name="LastSpotRate" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Spot Price on this (last) fill. LastSpotRate=LegLastPx-(LegLastForwardPoints*10^PipPosition). -->
<field name="MidPx" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Mid-Market Spot Price on this (last) fill. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<field name="SecondaryExecID" required="N"/> <!-- Optional ID specified by the venue to group multiple fills. -->
<field name="ExecRestatementReason" required="N"/> <!-- Conditionally populated when ExecType=Restated, the reason for restatement. -->
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSecurityType" required="Y"/> <!-- Specifies the product type for this leg. Valid values: SPT, FWD, NDF, FUT. -->
<field name="LegSide" required="Y"/> <!-- Side is from perspective of LegCurrency -->
<field name="LegCurrency" required="Y"/> <!-- Dealt currency. Specifies the denomination of the quantity fields in this Leg. -->
<field name="LegPrice" required="N"/> <!-- All-in Order limit price of Leg. Not required on all Order types (for example, Market order). Not populated when SessionType=DropCopy. -->
<field name="LegMidPx" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Mid-Market All-in Price of Leg for this particular fill. -->
<field name="LegLastPx" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. All-in Price of Leg for this particular fill. LegLastPx=LastSpotRate+(LegLastForwardPoints*10^PipPosition). -->
<field name="LegAvgPx" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Average Price of Leg including this particular fill. LegAvgPx = SUM(LegLastPx*LegLastQty)/LegCumQty. -->
<field name="LegLastForwardPoints" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. FX forward points (pips, not arithmetic) of Leg. May be a negative value. Zero if LegSettlType=SPT. LegLastForwardPoints=(LegLastPx-LastSpotRate)/10^PipPosition. -->
<field name="LegOrderQty" required="N"/> <!-- Not populated when SessionType=DropCopy, required otherwise. The original Order quantity. -->
<field name="LegLastQty" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Specifies the dealt amount for this particular fill on this Leg. -->
<field name="LegCalculatedCcyLastQty" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Specifies the contra amount for this particular fill on this Leg. If LegCurrency is LHS then=LegLastQty*LegLastPx; if LegCurrency is RHS then=LegLastQty/LegLastPx (rounded to the precision of LegLastQty, half-up). -->
<field name="LegCumQty" required="N"/> <!-- Total quantity filled so far on this Leg of the Order. -->
<field name="LegLeavesQty" required="N"/> <!-- Quantity remaining to execute on this Leg of the Order. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if LegSecurityType=NDF. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoLegAllocs" required="Y"> <!-- At least one Allocation must be specified per Leg. -->
<field name="LegIndividualAllocID" required="Y"/> <!-- Mandatory unique reference for this allocation. -->
<field name="LegAllocAccount" required="N"/> <!-- Account mnemonic. -->
<field name="LegAllocQty" required="Y"/> <!-- Quantity to be allocated to Account. Specified in terms of LegCurrency and LegSide (negative quantities allocate to the opposite side). If ExecType=Calculated/Trade then ABS (SUM (LegAllocQty))=LegLastQty, otherwise ABS (SUM (LegAllocQty))=LegOrderQty. -->
<field name="LegAllocCalculatedCcyQty" required="N"/> <!-- Conditionally required if ExecType=Calculated/Trade and SecurityType!=FUT/SPR. Quantity to be allocated to Account, expressed in contra currency. Allocation direction expressed arithmetically ABS (SUM (LegAllocCalculatedCcyQty))=LegCalculatedCcyLastQty (but may be subject to accumulated rounding errors). If LegCurrency is LHS then=-LegAllocQty*LegLastPx; if LegCurrency is RHS then=-LegAllocQty/LegLastPx (rounded to the precision of LegAllocQty, half-up). -->
<group name="NoAllocRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="AllocRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="AllocRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoAllocPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="AllocPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="AllocPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoLegRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="LegRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="LegRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoLegPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="LegPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="LegPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the execution, provided by the Maker. -->
</message>
<message name="ExecutionAck" msgtype="BN" msgcat="app"> <!-- Originator response to ExecutionReport. -->
<field name="TradingFlags" required="N"/> <!-- TradingFlags.IsSynthetic=TRUE if message is generated by Whisperer to ensure a standard normalised workflow, FALSE if message originated from the Venue. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field name="TransactTime" required="N"/> <!-- Timestamp when the business transaction represented by the message occurred. Mandatory in Client message to Venue. -->
<field name="OrderRequestID" required="N"/> <!-- Must contain the value provided in the originating NewOrderMultileg. Used to associate Order with earlier Market Data (ESP) or Quote (RFS) messages, to aid support. -->
<field name="ClOrdID" required="Y"/> <!-- The current ClOrdID of the Order. Can differ from the originally submitted value on the NewOrderMultileg if, for example, edits have been made. -->
<field name="OrderID" required="Y"/> <!-- The Maker/ECN-assigned Order ID. -->
<field name="ExecID" required="Y"/> <!-- Unique identifier of the referenced ExecutionReport. -->
<field name="ExecAckStatus" required="Y"/> <!-- Confirms or denys Maker ExecutionReport - whatever it's state. -->
<field name="Symbol" required="Y"/> <!-- Symbol of requested Instrument. -->
<field name="SecurityType" required="Y"/> <!-- 1-legged (SPT, FWD, NDF, FUT), 2-legged (SWP, NDS, SPR) and n-legged (BLK) order types. NOTE: This message is NOT to be used for IMM or OPT Security Types. -->
<field name="RegulatoryBodies" required="Y"/> <!-- Bitmap field of Boolean type Regulation elegibility flags. -->
<field name="LinkID" required="N"/> <!-- Optional ID specified by the subscriber to group multiple orders. -->
<group name="NoPartyIDs" required="N"> <!-- Order Origination/Execution counterparty details. -->
<field name="PartyRole" required="Y"/> <!-- Name of Party field. -->
<field name="PartyID" required="Y"/> <!-- Value of Party field. -->
</group>
<group name="NoLegs" required="Y"> <!-- One Leg per value date. At least one Leg must be specified. -->
<field name="LegSecurityType" required="Y"/> <!-- Specifies the product type for this leg. Valid values: SPT, FWD, NDF, FUT. -->
<field name="LegSide" required="Y"/> <!-- Side is from perspective of LegCurrency -->
<field name="LegCurrency" required="Y"/> <!-- Dealt currency. Specifies the denomination of the quantity fields in this Leg. -->
<field name="LegLastPx" required="N"/> <!-- Conditionally required if specified on the ExecutionReport. All-in Price of Leg for this last fill. LegLastPx=LastSpotRate+(LegLastForwardPoints*10^PipPosition). -->
<field name="LegAvgPx" required="N"/> <!-- Conditionally required if specified on the ExecutionReport. Average Price of Leg including this particular fill. LegAvgPx = SUM(LegLastPx*LegLastQty)/LegCumQty. -->
<field name="LegLastForwardPoints" required="N"/> <!-- Conditionally required if specified on the ExecutionReport. FX forward points (pips, not arithmetic) of Leg. May be a negative value. Zero if LegSettlType=SPT. LegLastForwardPoints=(LegLastPx-LastSpotRate)/10^PipPosition. -->
<field name="LegOrderQty" required="N"/> <!-- Required. Order quantity. -->
<field name="LegLastQty" required="N"/> <!-- Conditionally required if specified on the ExecutionReport. Specifies the dealt amount for this Leg. -->
<field name="LegCumQty" required="N"/> <!-- Total quantity filled on this Leg of the Order. -->
<field name="LegLeavesQty" required="N"/> <!-- Quantity remaining to execute on this Leg of the Order. -->
<field name="LegSettlType" required="Y"/> <!-- Specifies a standard Tenor for settlement. -->
<field name="LegSettlDate" required="N"/> <!-- Conditionally required if SettlType=BKN. Specifies the broken date for settlement. -->
<group name="HasLegNDFFields" required="N"> <!-- Conditionally required if LegSecurityType=NDF. -->
<field name="LegSettlCurrency" required="Y"/> <!-- Specifies the fixing currency of this Leg of NDF/NDS/NDB. -->
<field name="LegMaturityDate" required="N"/> <!-- Fixing Date for this Leg of NDF/NDS/NDB. -->
<field name="MarketType" required="Y"/> <!-- Indicates whether the NDF is onshore or offshore. -->
<group name="NoFixingRefs" required="N"> <!-- Optionally populated. First instance is treated as the primary Fixing source, the second is treated as the secondary (used for NDF crosses). -->
<field name="FixingReference" required="Y"/> <!-- Venue-specific NDF Fixing Reference. -->
</group>
</group>
<group name="NoLegRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="LegRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="LegRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoLegPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="LegPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="LegPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
</group>
<group name="NoBodyRegulatoryFields" required="N"> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID(MTF). -->
<field name="BodyRegulatoryKey" required="Y"/> <!-- Name of Regulatory field. -->
<field name="BodyRegulatoryValue" required="Y"/> <!-- Value of Regulatory field. -->
</group>
<group name="NoBodyPassthruFields" required="N"> <!-- To be used only to transport custom/non-normalisable Venue-specific attributes. -->
<field name="BodyPassthruKey" required="Y"/> <!-- Venue-specific name of this element (e.g. Fix tag name). -->
<field name="BodyPassthruValue" required="Y"/> <!-- Arbitrary value to be assigned to this element. -->
</group>
<group name="NoHops" required="N"> <!-- Populated by Whisperer only. Provides details of originating Venue message to Client. -->
<field name="HopRefID" required="Y"/> <!-- Sequence number of originating Venue message, where applicable. -->
<field name="HopSendingTime" required="N"/> <!-- Time (Venue clock) that the Venue message was sent. -->
<field name="HopNetworkTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Hardware. -->
<field name="HopArrivalTime" required="N"/> <!-- Time (MF clock) that the Venue message was received by the MF Application. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the execution, provided by the Order Originator. -->
</message>
<message name="ApplicationMessageRequest" msgtype="BW" msgcat="app"> <!-- Issued to submit a replay request. Multiple concurrent requests supported. -->
<field name="ApplReqID" required="Y"/> <!-- Unique identifier for request. -->
<field name="ApplReqType" required="Y"/> <!-- Type of request, currently only used to initiate replay. -->
<group name="NoApplIDs" required="Y"> <!-- Must be 1. Every combination of Venue, SessionType, and User requires a separate request. -->
<field name="RefApplID" required="Y"/> <!-- Required. Filter specifying the session, in the format Venue.SessionType. -->
<field name="ApplUsername" required="Y"/> <!-- Required. Filter specifying the Username. -->
<field name="ApplMessageTypes" required="Y"/> <!-- Filter specifying the message types to replay. -->
<field name="ApplBegSeqNum" required="Y"/> <!-- Starting MsgSeqNum of replay (inclusive). -->
<field name="ApplEndSeqNum" required="Y"/> <!-- Ending MsgSeqNum of replay (inclusive). -->
<field name="ApplStartTime" required="N"/> <!-- Starting message sendingTime of replay. -->
<field name="ApplEndTime" required="N"/> <!-- Ending message sendingTime of replay. -->
</group>
</message>
<message name="ApplicationMessageReport" msgtype="BY" msgcat="app"> <!-- Signifies completion of an open ApplicationMessageRequest. -->
<field name="ApplReportID" required="Y"/> <!-- Unique identifier for report. -->
<field name="ApplReportType" required="Y"/> <!-- Type of report. -->
<field name="ApplReqID" required="Y"/> <!-- The ApplReqID of the originating ApplicationMessageRequest. -->
<group name="NoApplIDs" required="Y"> <!-- Will always be 1. -->
<field name="RefApplID" required="Y"/> <!-- Filter specifying the session, in the format Venue.SessionType. -->
<field name="RefApplLastSeqNum" required="Y"/> <!-- The last seq number replayed. -->
</group>
<field name="Text" required="N"/> <!-- Text string - Extra information about the ApplicationMessageRequest result, provided by Whisperer. -->
</message>
<message name="ReplayedMessage" msgtype="U4" msgcat="app"> <!-- Contextual wrapper around an individual replayed raw message. -->
<field name="SenderSubID" required="Y"/> <!-- The source of this message: either the Username, or service in the format Venue.SessionType, or 'venue'. -->
<field name="TargetSubID" required="Y"/> <!-- The target of this message: either the Username, or service in the format Venue.SessionType, or 'venue'. -->
<field name="ApplReqID" required="Y"/> <!-- The ApplReqID of the originating ApplicationMessageRequest for this ReplayedMessage. -->
<field name="OrigTime" required="N"/> <!-- Sending time of the original message. -->
<field name="ApplSeqNum" required="Y"/> <!-- Original sequence number of the replayed message. -->
<field name="ApplLastSeqNum" required="Y"/> <!-- The previous sequence number in the application sequence stream. Permits an application to publish messages with sequence gaps where it cannot be avoided. Used only if application sequencing is in effect. -->
<field name="RawMessageEncoding" required="Y"/> <!-- Provides Client with an indication of the decoder needed to process the RawMessage. -->
<field name="RawMessageSize" required="Y"/> <!-- Length of the replayed message. -->
<field name="RawMessage" required="Y"/> <!-- Original message. May contain standard FIX separators and other normally-prohibited characters. -->
</message>
</messages>
<components>
<component name='Dummy'/>
</components>
<fields>
<field number="11" name="ClOrdID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="15" name="Currency" type="CURRENCY"/> <!-- Currency code supported by Whisperer. Usually the ISO 4217 Currency code value. -->
<field number="17" name="ExecID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="18" name="ExecInst" type="MULTIPLECHARVALUE"/> <!-- Instructions for order handling by Venue. -->
<field number="19" name="ExecRefID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="37" name="OrderID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="39" name="OrdStatus" type="CHAR"> <!-- Order status. -->
<value enum="0" description="New"/>
<value enum="1" description="PartiallyFilled"/>
<value enum="2" description="Filled"/>
<value enum="4" description="Canceled"/>
<value enum="6" description="PendingCancel"/>
<value enum="8" description="Rejected"/>
<value enum="A" description="PendingNew"/>
<value enum="B" description="Calculated"/> <!-- For Drop-copy/STP notifications, Fixing Order rate confirmations, and notification of individual legs when SecurityType=SPR (e.g. CME). -->
<value enum="C" description="Expired"/>
<value enum="E" description="PendingReplace"/>
<value enum="9" description="Suspended"/>
<value enum="Z" description="Error"/> <!-- Deprecated, do not use. -->
</field>
<field number="40" name="OrdType" type="CHAR">
<value enum="1" description="Market"/> <!-- Standard Market order. An instruction to deal immediately at the best possible price (the current rate quotation). -->
<value enum="2" description="Limit"/> <!-- Standard Limit order. An instruction to deal if a market moves to a MORE favourable level. -->
<value enum="3" description="Stop"/> <!-- Standard Stop Loss order. An instruction to deal if a market moves to a LESS favourable level. -->
<value enum="4" description="StopLimit"/> <!-- Standard Stop Limit order. Executes an exposure reducing limit order when market exceeds order's price. -->
<value enum="D" description="PreviouslyQuoted"/> <!-- An order to hit an individual quote. To hit multiple quotes, AKA sweeping, the user must submit individual orders from best to worst price. -->
<value enum="I" description="Funari"/> <!-- The order starts as a Limit order and executes any leaves quantity as a Market order. -->
<value enum="J" description="IfTouched"/> <!-- The order is submitted to the market when a specified price is reached. -->
<value enum="K" description="MarketLimit"/> <!-- Order starts as a Market order and executes any leaves quantity as a Limit order. -->
<value enum="P" description="Pegged"/> <!-- The order price follows the market by a specified offset. -->
</field>
<field number="41" name="OrigClOrdID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="42" name="OrigTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="44" name="Price" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="45" name="RefSeqNum" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
<field number="50" name="SenderSubID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="55" name="Symbol" type="STRING"/> <!-- Identifier for a security. For FX, the ccy pair must be provided as 'CCY1/CCY2'. For Futures, the Venue-specific contract code. -->
<field number="57" name="TargetSubID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="58" name="Text" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="59" name="TimeInForce" type="CHAR">
<value enum="0" description="DAY"/> <!-- Day - The Order expires automatically on close of the trading day, if it is still unfilled. -->
<value enum="1" description="GTC"/> <!-- Good 'til Canceled - The Order remains active until it is either executed or cancelled. NOTE: Maximum possible duration is one trading week, but is equivalent to DAY for most Venues that reset daily. -->
<value enum="3" description="IOC"/> <!-- Immediate Or Cancel - The Order must be executed immediately, at least in part (Partial fills are allowed), otherwise the Order is cancelled. AKA 'Fill and Kill' -->
<value enum="4" description="FOK"/> <!-- Fill Or Kill - The Order must be executed immediately, in full (no Partial fills), otherwise the Order is cancelled. AKA 'All Or None'. -->
<value enum="6" description="GTD"/> <!-- Good 'til Date - The Order expires at the specified time (current business day). -->
<value enum="A" description="GFT"/> <!-- Good For Time - The Order expires after the specified duration. -->
<value enum="B" description="GFA"/> <!-- Good For Auction - The Order is only active in the auction period. -->
<value enum="2" description="AMO"/> <!-- At Market Open - The Order can only be created and modified when the market is in Pre-Open state. -->
<value enum="7" description="AMC"/> <!-- At Market Close - The Order can only be created and modified when the market is in Pre-Close state. -->
</field>
<field number="60" name="TransactTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="62" name="ValidUntilTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. Default value ensures that quotes that do not have explicit TTLs are guaranteed to be valid until replaced or cencelled. -->
<field number="63" name="SettlType" type="STRING"> <!-- Defines the standard Tenors supported by Whisperer. -->
<value enum="BKN" description="BKN"/> <!-- Broken Date, refer to LegSettlDate for LocalMktDate containing YYYYMMDD value. -->
<value enum="TOD" description="TOD"/> <!-- Today, equivalent to T+0. -->
<value enum="TOM" description="TOM"/> <!-- Tomorrow, equivalent to T+1. -->
<value enum="SPT" description="SPT"/> <!-- Spot, equivalent to T+1 or T+2 (depending on the currency pair). -->
<value enum="D1" description="D1"/> <!-- One day after Spot. -->
<value enum="D2" description="D2"/> <!-- Two days after Spot. -->
<value enum="D3" description="D3"/> <!-- Three days after Spot. -->
<value enum="D4" description="D4"/> <!-- Four days after Spot. -->
<value enum="D5" description="D5"/> <!-- Five days after Spot. Date may be different to W1. -->
<value enum="W1" description="W1"/> <!-- One week after Spot. -->
<value enum="W2" description="W2"/> <!-- Two weeks after Spot. -->
<value enum="W3" description="W3"/> <!-- Three weeks after Spot. -->
<value enum="M1" description="M1"/> <!-- One month after Spot. -->
<value enum="M2" description="M2"/> <!-- Two months after Spot. -->
<value enum="M3" description="M3"/> <!-- Three months after Spot. -->
<value enum="M4" description="M4"/> <!-- Four months after Spot. -->
<value enum="M5" description="M5"/> <!-- Five months after Spot. -->
<value enum="M6" description="M6"/> <!-- Six months after Spot. -->
<value enum="M7" description="M7"/> <!-- Seven months after Spot. -->
<value enum="M8" description="M8"/> <!-- Eight months after Spot. -->
<value enum="M9" description="M9"/> <!-- Nine months after Spot. -->
<value enum="M10" description="M10"/> <!-- Ten months after Spot. -->
<value enum="M11" description="M11"/> <!-- Eleven months after Spot. -->
<value enum="Y1" description="Y1"/> <!-- One year after Spot. -->
<value enum="M13" description="M13"/> <!-- Thirteen months after Spot. -->
<value enum="M14" description="M14"/> <!-- Fourteen months after Spot. -->
<value enum="M15" description="M15"/> <!-- Fifteen months after Spot. -->
<value enum="M18" description="M18"/> <!-- Eighteen months after Spot. -->
<value enum="M21" description="M21"/> <!-- Twenty-one months after Spot. -->
<value enum="Y2" description="Y2"/> <!-- Two years after Spot. -->
<value enum="Y3" description="Y3"/> <!-- Three years after Spot. -->
<value enum="Y4" description="Y4"/> <!-- Four years after Spot. -->
<value enum="Y5" description="Y5"/> <!-- Five years after Spot. -->
<value enum="Y6" description="Y6"/> <!-- Six years after Spot. -->
<value enum="Y7" description="Y7"/> <!-- Seven years after Spot. -->
<value enum="Y8" description="Y8"/> <!-- Eight years after Spot. -->
<value enum="Y9" description="Y9"/> <!-- Nine years after Spot. -->
<value enum="Y10" description="Y10"/> <!-- Ten years after Spot. -->
<value enum="Y15" description="Y15"/> <!-- Fifteen years after Spot. -->
<value enum="Y20" description="Y20"/> <!-- Twenty years after Spot. -->
<value enum="Y25" description="Y25"/> <!-- Twenty-five years after Spot. -->
<value enum="Y30" description="Y30"/> <!-- Thirty years after Spot. -->
<value enum="ON" description="ON"/> <!-- Overnight - TOD/TOM single-legged Swap. -->
<value enum="TN" description="TN"/> <!-- Tom-Next - TOM/SPT single-legged Swap. -->
<value enum="SN" description="SN"/> <!-- Spot-Next - SPT/D1 single-legged Swap. -->
<value enum="T2" description="T2"/> <!-- T+2 - Second day after trade date. -->
<value enum="T3" description="T3"/> <!-- T+3 - Third day after trade date. -->
<value enum="T4" description="T4"/> <!-- T+4 - Fourth day after trade date. -->
<value enum="T5" description="T5"/> <!-- T+5 - Fifth day after trade date. -->
<value enum="IMMF" description="IMMF"/> <!-- January Futures expiration date. -->
<value enum="IMMG" description="IMMG"/> <!-- February Futures expiration date. -->
<value enum="IMMH" description="IMMH"/> <!-- March Futures expiration/IMM1 date. -->
<value enum="IMMJ" description="IMMJ"/> <!-- April Futures expiration date. -->
<value enum="IMMK" description="IMMK"/> <!-- May Futures expiration date. -->
<value enum="IMMM" description="IMMM"/> <!-- June Futures expiration/IMM2 date. -->
<value enum="IMMN" description="IMMN"/> <!-- July Futures expiration date. -->
<value enum="IMMQ" description="IMMQ"/> <!-- August Futures expiration date. -->
<value enum="IMMU" description="IMMU"/> <!-- September Futures expiration/IMM3 date. -->
<value enum="IMMV" description="IMMV"/> <!-- October Futures expiration date. -->
<value enum="IMMX" description="IMMX"/> <!-- November Futures expiration date. -->
<value enum="IMMZ" description="IMMZ"/> <!-- December Futures expiration/IMM4 date. -->
<value enum="BOMF" description="BOMF"/> <!-- The first business day of January. Also used to represent first working day of next year (e.g. 360T). -->
<value enum="BOMG" description="BOMG"/> <!-- The first business day of February. -->
<value enum="BOMH" description="BOMH"/> <!-- The first business day of March. -->
<value enum="BOMJ" description="BOMJ"/> <!-- The first business day of April. -->
<value enum="BOMK" description="BOMK"/> <!-- The first business day of May. -->
<value enum="BOMM" description="BOMM"/> <!-- The first business day of June. -->
<value enum="BOMN" description="BOMN"/> <!-- The first business day of July. -->
<value enum="BOMQ" description="BOMQ"/> <!-- The first business day of August. -->
<value enum="BOMU" description="BOMU"/> <!-- The first business day of September. -->
<value enum="BOMV" description="BOMV"/> <!-- The first business day of October. -->
<value enum="BOMX" description="BOMX"/> <!-- The first business day of November. -->
<value enum="BOMZ" description="BOMZ"/> <!-- The first business day of December. -->
<value enum="JAN" description="JAN"/> <!-- The first spot value date after the last business day of January. -->
<value enum="FEB" description="FEB"/> <!-- The first spot value date after the last business day of February. -->
<value enum="MAR" description="MAR"/> <!-- The first spot value date after the last business day of March. -->
<value enum="APR" description="APR"/> <!-- The first spot value date after the last business day of April. -->
<value enum="MAY" description="MAY"/> <!-- The first spot value date after the last business day of May. -->
<value enum="JUN" description="JUN"/> <!-- The first spot value date after the last business day of June. -->
<value enum="JUL" description="JUL"/> <!-- The first spot value date after the last business day of July. -->
<value enum="AUG" description="AUG"/> <!-- The first spot value date after the last business day of August. -->
<value enum="SEP" description="SEP"/> <!-- The first spot value date after the last business day of September. -->
<value enum="OCT" description="OCT"/> <!-- The first spot value date after the last business day of October. -->
<value enum="NOV" description="NOV"/> <!-- The first spot value date after the last business day of November. -->
<value enum="DEC" description="DEC"/> <!-- The first spot value date after the last business day of December. -->
<value enum="EOMF" description="EOMF"/> <!-- The last business day of January. -->
<value enum="EOMG" description="EOMG"/> <!-- The last business day of February. -->
<value enum="EOMH" description="EOMH"/> <!-- The last business day of March. -->
<value enum="EOMJ" description="EOMJ"/> <!-- The last business day of April. -->
<value enum="EOMK" description="EOMK"/> <!-- The last business day of May. -->
<value enum="EOMM" description="EOMM"/> <!-- The last business day of June. -->
<value enum="EOMN" description="EOMN"/> <!-- The last business day of July. -->
<value enum="EOMQ" description="EOMQ"/> <!-- The last business day of August. -->
<value enum="EOMU" description="EOMU"/> <!-- The last business day of September. -->
<value enum="EOMV" description="EOMV"/> <!-- The last business day of October. -->
<value enum="EOMX" description="EOMX"/> <!-- The last business day of November. -->
<value enum="EOMZ" description="EOMZ"/> <!-- The last business day of December. Also used to represent last working day of current year (e.g. 360T). -->
<value enum="IMM1" description="IMM1"/> <!-- The next quarterly IMM date. -->
<value enum="IMM2" description="IMM2"/> <!-- The quarterly IMM date following IMM1. -->
<value enum="IMM3" description="IMM3"/> <!-- The quarterly IMM date following IMM2. -->
<value enum="IMM4" description="IMM4"/> <!-- The quarterly IMM date following IMM3. -->
<value enum="IMM5" description="IMM5"/> <!-- The quarterly IMM date following IMM4. -->
<value enum="D1M1" description="D1M1"/> <!-- Tomorrow One Month - the M1 Tenor for tomorrow’s trade date. -->
<value enum="EOM0" description="EOM0"/> <!-- End of current month. -->
<value enum="EOM1" description="EOM1"/> <!-- End of first month after current month. -->
<value enum="EOM2" description="EOM2"/> <!-- End of second month after current month. -->
<value enum="EOM3" description="EOM3"/> <!-- End of third month after current month. -->
<value enum="EOM4" description="EOM4"/> <!-- End of fourth month after current month. -->
<value enum="EOM5" description="EOM5"/> <!-- End of fifth month after current month. -->
<value enum="EOM6" description="EOM6"/> <!-- End of sixth month after current month. -->
<value enum="EOM7" description="EOM7"/> <!-- End of seventh month after current month. -->
<value enum="EOM8" description="EOM8"/> <!-- End of eigth month after current month. -->
<value enum="EOM9" description="EOM9"/> <!-- End of ninth month after current month. -->
<value enum="EOM10" description="EOM10"/> <!-- End of tenth month after current month. -->
<value enum="EOM11" description="EOM11"/> <!-- End of eleventh month after current month. -->
<value enum="EOM12" description="EOM12"/> <!-- End of twelfth month after current month. -->
<value enum="YYYYMM" description="YYYYMM"/> <!-- Refer to LegSettlDate for LocalMktDate used to derive YYYYMM value. Defines monthly Futures contract expiry. Consider using IMM[F-Z] for monthly expiry within the next twelve months. -->
<value enum="YYYYWW" description="YYYYWW"/> <!-- Refer to LegSettlDate for LocalMktDate used to derive YYYYWW value. Defines weekly Futures contract expiry. -->
<value enum="YYYYMMDD" description="YYYYMMDD"/> <!-- Refer to LegSettlDate for LocalMktDate containing YYYYMMDD value. Defines daily Futures contract expiry. Synonymous to BKN. -->
</field>
<field number="64" name="SettlDate" type="LOCALMKTDATE"/> <!-- Local calendar date at the market location (i.e. TK/LN/NY), as days since epoch. -->
<field number="75" name="TradeDate" type="LOCALMKTDATE"/> <!-- Local calendar date at the market location (i.e. TK/LN/NY), as days since epoch. -->
<field number="99" name="StopPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="102" name="CxlRejReason" type="INT"> <!-- Reason codes for OrderCancelRequest rejections. -->
<value enum="0" description="TooLateToCancel"/> <!-- Too late to cancel. -->
<value enum="1" description="UnknownOrder"/> <!-- Symbol not supported or not authorized. -->
<value enum="3" description="OrderAlreadyInPendingStatus"/> <!-- Order already in Pending Cancel or Pending Replace status. -->
<value enum="6" description="InvalidID"/> <!-- One of the identifiers provided is not unique or does not match with associated order. -->
<value enum="7" description="InvalidPrice"/> <!-- Price on order does not comply with price range limits. -->
<value enum="99" description="Other"/> <!-- Other. -->
<value enum="100" description="NotAuthorizedToTrade"/> <!-- User credentials not recognized. -->
<value enum="101" description="OrderTypeIsNotSupported"/> <!-- OrderType is not supported. -->
<value enum="102" description="ExchangeClosed"/> <!-- Market currently unavailable. -->
<value enum="103" description="UnknownSymbol"/> <!-- Symbol is not provided or does not match with associated order. -->
<value enum="104" description="InvalidSide"/> <!-- Side is not supported or does not match with associated order. -->
<value enum="105" description="TimeInForceIsNotSupported"/> <!-- TimeInForce is not supported or does not match with associated order. -->
<value enum="106" description="IncorrectQuantity"/> <!-- Quantity is not within allowable range or does not match with associated order. -->
<value enum="107" description="UnknownPegParameter"/> <!-- PegPriceType or PegOffsetType or PegPrice or PegOffset are missing or not supported. -->
</field>
<field number="103" name="OrdRejReason" type="INT"> <!-- Reason codes for rejections of NewOrderMultileg and MultilegOrderCancelReplaceRequest. -->
<value enum="0" description="InsufficientCredit"/> <!-- InsufficientCredit. -->
<value enum="1" description="UnknownSymbol"/> <!-- Symbol not supported or not authorized. -->
<value enum="2" description="ExchangeClosed"/> <!-- Market currently unavailable. -->
<value enum="3" description="OrderExceedsLimit"/> <!-- Request breaches speed-bump. -->
<value enum="4" description="TooLateToEnter"/> <!-- Trading in this instrument not currently available. -->
<value enum="5" description="UnknownOrder"/> <!-- Order requested is unknown for the platform. -->
<value enum="6" description="DuplicateOrder"/> <!-- ClOrdID provided is not unique. -->
<value enum="8" description="StaleOrder"/> <!-- The price of trade request is stale and already replaced on the market or SendingTime indicates that a network delivery delay has caused the order to be stale. -->
<value enum="10" description="NotAuthorizedToTrade"/> <!-- User credentials not recognized. -->
<value enum="13" description="IncorrectQuantity"/> <!-- Quantity is not within allowable range or does not match with associated order. -->
<value enum="15" description="UnknownAccount"/> <!-- Account not recognized. -->
<value enum="16" description="InvalidPrice"/> <!-- Price on order does not comply with price range limits. -->
<value enum="19" description="ReferencePriceNotAvailable"/> <!-- Reference price for this instrument is not currently available. May be due to market movement. -->
<value enum="20" description="NotionalValueExceedsThreshold"/> <!-- OrderQty too large for current market conditions. Used with FOK orders. -->
<value enum="99" description="Other"/> <!-- Catch all for other rejection reasons. Reason should be provided in Text field. -->
<value enum="100" description="NothingDone"/> <!-- Customer does not execute with the provider. -->
<value enum="101" description="QuoteAcceptFailureFromCustomer"/> <!-- Error sending customer 'accept' msg to provider. -->
<value enum="102" description="TradeConfirmationFailureFromProvider"/> <!-- Error while sending provider trade comfirmation to client. -->
<value enum="103" description="TradeAcknowledgementFailureFromCustomer"/> <!-- Error while sending final deal completion status to provider. -->
<value enum="104" description="WarningTrade"/> <!-- Execution in Question-Please Call XX Provider For Deal Status. Status of transaction in a unknown state. -->
<value enum="105" description="InformationRequestToProvider"/> <!-- Error while sending trade status inquiry to provider. -->
<value enum="106" description="InvalidDecimalPointPrecision"/> <!-- Trade execution request is denied by provider. DPS on rates is not valid. -->
<value enum="107" description="InternalSystemFailure"/> <!-- Trade denied for internal technical reasons (for miscellaneous bank problems) please call XX Provider. -->
<value enum="200" description="InvalidSide"/> <!-- Side is not supported or does not match with associated order. -->
<value enum="201" description="OrderTypeIsNotSupported"/> <!-- OrderType is not supported or does not match with associated order. -->
<value enum="202" description="TimeInForceIsNotSupported"/> <!-- TimeInForce is not supported or does not match with associated order. -->
<value enum="203" description="UnknownPegParameter"/> <!-- PegPriceType or PegOffsetType or PegPrice or PegOffset are missing or not supported. -->
<value enum="204" description="InvalidID"/> <!-- One of the identifiers provided is not unique or does not match with associated order. -->
</field>
<field number="110" name="MinQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="117" name="QuoteID" type="STRING"/> <!-- Fixed length string type for particularly IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="120" name="SettlCurrency" type="CURRENCY"/> <!-- Currency code supported by Whisperer. Usually the ISO 4217 Currency code value. -->
<field number="126" name="ExpireTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="131" name="QuoteReqID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="132" name="BidPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="133" name="OfferPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="134" name="BidSize" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="135" name="OfferSize" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="147" name="Subject" type="INT"> <!-- Categorization of the various Venue-side events that require Warning notification. -->
<value enum="0" description="SessionRejectSentByMF"/> <!-- A Session-level Reject message was sent to the Venue by Whisperer. -->
<value enum="1" description="SessionRejectReceivedByMF"/> <!-- A Session-level Reject message was sent by the Venue to Whisperer. -->
<value enum="2" description="BusinessMessageRejectSentByMF"/> <!-- A Business-level Reject message was sent to the Venue by Whisperer. -->
<value enum="3" description="BusinessMessageRejectReceivedByMF"/> <!-- A Business-level Reject message was sent by the Venue to Whisperer. -->
<value enum="4" description="MFAPIMessageRejected"/> <!-- Client sent Whisperer an erroneous message. -->
<value enum="5" description="MFAPIValidationError"/> <!-- Client message has bad content. -->
<value enum="6" description="VenueLogonError"/> <!-- Venue connection or logon attempt failed. Informational. -->
<value enum="7" description="VenueSeqNumError"/> <!-- Venue sequence number gap (either inbound or outbound). Informational. -->
<value enum="10" description="VenueMessageUnexpected"/> <!-- An unexpected message was received from the Venue. E.g. A QuoteRequest for an unsupported SecurityType. -->
<value enum="11" description="VenueTradingStatusHalted"/> <!-- Venue trading is temporarily suspended and the session is not yet ready. When trading reopens, the Client will be notified via the usual UserNotification. -->
<value enum="8" description="MFAPIForcedDisconnect"/> <!-- MF was forced to disconnect the Client session. This will only occur in erroneous circumstances, e.g. Client is unable to keep up with message rates. -->
<value enum="9" description="MFAPITranslationFailure"/> <!-- MF was unable to correctly translate between Client and Venue messages. This will only occur in erroneous circumstances, e.g. Hardware failure leading to a restart and loss of required caches. -->
</field>
<field number="150" name="ExecType" type="CHAR"> <!-- Execution Type. -->
<value enum="0" description="New"/>
<value enum="4" description="Canceled"/>
<value enum="5" description="Replaced"/>
<value enum="6" description="PendingCancel"/>
<value enum="8" description="Rejected"/>
<value enum="A" description="PendingNew"/>
<value enum="B" description="Calculated"/> <!-- For Fixing Order rate confirmations, and notification of individual legs when SecurityType=SPR (e.g. CME). -->
<value enum="C" description="Expired"/>
<value enum="E" description="PendingReplace"/>
<value enum="F" description="Trade"/> <!-- For trading and Drop-copy/STP fill notifications. -->
<value enum="G" description="TradeCorrect"/>
<value enum="H" description="TradeCancel"/>
<value enum="9" description="Suspended"/>
<value enum="D" description="Restated"/>
<value enum="U" description="CanceledLastLook"/> <!-- Deprecated, do not use. -->
<value enum="V" description="PendingMatch"/> <!-- Used when there is an execution that is awaiting validation. E.g. EBS eFix match prior to Fixing Order rate confirmation. -->
<value enum="Z" description="Error"/> <!-- Deprecated, do not use. -->
</field>
<field number="167" name="SecurityType" type="STRING"> <!-- Defines the standard product types supported by Whisperer. -->
<value enum="SPT" description="SPT"/> <!-- FX Spot -->
<value enum="FWD" description="FWD"/> <!-- FX Forward -->
<value enum="NDF" description="NDF"/> <!-- FX Non-Deliverable Forward -->
<value enum="SWP" description="SWP"/> <!-- FX Swap -->
<value enum="NDS" description="NDS"/> <!-- FX Non-Deliverable Swap -->
<value enum="BLK" description="BLK"/> <!-- FX Block -->
<value enum="NDB" description="NDB"/> <!-- FX Non-Deliverable Block -->
<value enum="FUT" description="FUT"/> <!-- Future -->
<value enum="SPR" description="SPR"/> <!-- Futures Spread -->
<value enum="IMM" description="IMM"/> <!-- Money Market (Cash) -->
<value enum="OPT" description="OPT"/> <!-- FX Option -->
<value enum="CFD" description="CFD"/> <!-- Contract For Difference -->
</field>
<field number="168" name="EffectiveTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="188" name="BidSpotRate" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="189" name="BidForwardPoints" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="190" name="OfferSpotRate" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="191" name="OfferForwardPoints" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="194" name="LastSpotRate" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="210" name="MaxShow" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="211" name="PegOffsetValue" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="231" name="ContractMultiplier" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="262" name="MDReqID" type="STRING"/> <!-- Unique (within curent trading week) identifier to reliably link request and response messages. -->
<field number="263" name="SubscriptionRequestType" type="CHAR"> <!-- Market data subscription request type. -->
<value enum="1" description="SnapshotAndUpdates"/> <!-- Subscription for all market data updates. -->
<value enum="2" description="DisablePreviousSnapshot"/> <!-- Unsubscribe for all market data updates. -->
</field>
<field number="264" name="MarketDepth" type="INT"/>
<field number="268" name="NoMDEntries" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="269" name="MDEntryType" type="CHAR"> <!-- A market data entry type. -->
<value enum="0" description="Bid"/> <!-- Entry contains credit-screened bid details. -->
<value enum="E" description="ImpliedBid"/> <!-- Implied Bid. -->
<value enum="u" description="BestBid"/> <!-- Entry contains un-screened bid details. -->
<value enum="1" description="Offer"/> <!-- Entry contains credit-screened offer details. -->
<value enum="F" description="ImpliedOffer"/> <!-- Implied Offer. -->
<value enum="v" description="BestOffer"/> <!-- Entry contains un-screened offer details. -->
<value enum="2" description="Trade"/> <!-- Entry contains Venue trade details. -->
<value enum="y" description="TradePaid"/> <!-- Indicates trade where the Offer was aggressed. -->
<value enum="x" description="WorstTradePaid"/> <!-- The worst price that was bought on EBS during a timeslice. -->
<value enum="z" description="TradeGiven"/> <!-- Indicates trade where the Bid was aggressed. -->
<value enum="w" description="WorstTradeGiven"/> <!-- The worst price that was sold on EBS during a timeslice. -->
<value enum="H" description="MidPrice"/> <!-- Required for Regulatory reporting. -->
<value enum="J" description="EmptyBook"/> <!-- Sent to indicate the book should be cleared. -->
<value enum="B" description="TradeVolume"/> <!-- Aggregate volume during specified period. -->
<value enum="4" description="OpeningPrice"/> <!-- Price for the first trade of the day. -->
<value enum="5" description="ClosingPrice"/> <!-- Price for the last trade of the day. -->
<value enum="6" description="SettlementPrice"/> <!-- Calculated for security during a predetermined time frame, used to determine margin requirements and the following day's price limits. -->
<value enum="7" description="TradingSessionHighPrice"/> <!-- The highest price the security has traded at throughout the day. -->
<value enum="8" description="TradingSessionLowPrice"/> <!-- The lowest price the security has traded at throughout the day. -->
<value enum="9" description="TradingSessionVWAPPrice"/> <!-- The volume-weighted average price the security has traded at throughout the day. -->
<value enum="C" description="OpenInterest"/> <!-- Aggregate open interest during specified period. -->
<value enum="N" description="SessionHighBid"/> <!-- Session High Bid. -->
<value enum="O" description="SessionLowOffer"/> <!-- Session Low Offer. -->
<value enum="W" description="FixingPrice"/> <!-- Fixing Price. -->
<value enum="e" description="PreviousClosingPrice"/> <!-- The previous trading day's ClosingPrice. -->
</field>
<field number="270" name="MDEntryPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="271" name="MDEntrySize" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="273" name="MDEntryTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="278" name="MDEntryID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="279" name="MDUpdateAction" type="CHAR"> <!-- A market data update action. -->
<value enum="0" description="New"/>
<value enum="1" description="Change"/>
<value enum="2" description="Delete"/>
</field>
<field number="281" name="MDReqRejReason" type="CHAR"> <!-- Reason codes for MarketDataRequest rejections. -->
<value enum="0" description="UnknownSymbol"/> <!-- Symbol not supported or not authorized. -->
<value enum="1" description="DuplicateMDReqID"/> <!-- MDReqID is not unique. -->
<value enum="2" description="InsufficientBandwidth"/> <!-- Unable to quote due to temporary reason. -->
<value enum="3" description="InsufficientPermissions"/> <!-- User not authorized. -->
<value enum="4" description="UnsupportedSubscriptionRequestType"/> <!-- If SubscriptionRequestType is not one of 1 (Subscribe) or 2 (Unsubscribe) or if SubscriptionRequestType=2 and MDReqID is not a valid subscription id. -->
<value enum="5" description="UnsupportedMarketDepth"/> <!-- Specified MarketDepth is not supported. -->
<value enum="6" description="UnsupportedMDUpdateType"/> <!-- Specified MDUpdateType is not supported. -->
<value enum="8" description="UnsupportedMDEntryType"/> <!-- Specified MDEntryType is not supported. -->
<value enum="X" description="AlreadySubscribed"/> <!-- Duplicate subscription request -->
<value enum="Y" description="MarketDataUnavailable"/> <!-- Market Data Unavailable. -->
<value enum="Z" description="Other"/> <!-- Other. -->
</field>
<field number="295" name="NoQuoteEntries" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="296" name="NoQuoteSets" type="NUMINGROUP"/> <!-- Mandatory group dimensions: 1..n. -->
<field number="299" name="QuoteEntryID" type="STRING"/> <!-- Fixed length string type for particularly IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="302" name="QuoteSetID" type="INT"/>
<field number="326" name="SecurityTradingStatus" type="INT"> <!-- Trading status for a specific security. -->
<value enum="2" description="TradingHalt"/> <!-- Trading of security is supended. -->
<value enum="3" description="Resume"/> <!-- Trading of security is resumed. -->
<value enum="15" description="NewPriceIndication"/> <!-- CME - Brief intermediate state: Pre-Open orders are resolved following Indicative Opening Price determination; Trades are sent. -->
<value enum="17" description="ReadyToTrade"/> <!-- Start of Session. -->
<value enum="18" description="NotAvailableForTrading"/> <!-- End of Session. -->
<value enum="20" description="UnknownOrInvalid"/> <!-- An unexpected error. -->
<value enum="21" description="PreOpen"/> <!-- Set time before the Venue trading session opens, during which orders may be entered, modified, or cancelled in preparation for the next market open. No trades are executed until ReadyToTrade. -->
<value enum="26" description="PostClose"/> <!-- Set time after the Venue tradng session has closed. -->
<value enum="27" description="NoCancel"/> <!-- AKA 'lockdown'. A period at the end of PreOpen, prior to ReadyToTrade when new orders may be entered, but previously entered orders cannot be modified or cancelled. -->
<value enum="100" description="TradeDateRoll"/> <!-- Trade-date roll event for security. -->
<value enum="101" description="ValueDateRoll"/> <!-- Value-date roll event for security. -->
</field>
<field number="346" name="NumberOfOrders" type="INT"/> <!-- Nullable, unsigned 16-bit integer. -->
<field number="372" name="RefMsgType" type="STRING"/> <!-- SemanticType of message. E.g. R=QuoteRequest. -->
<field number="378" name="ExecRestatementReason" type="INT"> <!-- Reason for unsolicited Restatement or Cancel. -->
<value enum="6" description="CancelOnTradingHalt"/> <!-- Cancel on Trading Halt. -->
<value enum="7" description="CancelOnSystemFailure"/> <!-- Cancel on System Failure. -->
<value enum="9" description="Canceled"/> <!-- Canceled, not best. -->
<value enum="12" description="CancelOnConnectionLoss"/> <!-- Cancel On Connection Loss. -->
<value enum="13" description="CancelOnLogout"/> <!-- Cancel On Logout. -->
<value enum="15" description="CancelledForTradePriceViolation"/> <!-- Cancelled, Trade Price Violation. -->
<value enum="17" description="CxldSMP"/> <!-- Cancelled, self-match prevention. -->
<value enum="99" description="Other"/> <!-- Other. -->
<value enum="100" description="SuspendedByVenue"/>
<value enum="101" description="ReleasedByVenue"/>
</field>
<field number="379" name="BusinessRejectRefID" type="STRING"/> <!-- Fixed length string type for particularly IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="380" name="BusinessRejectReason" type="INT"> <!-- Categorization of the various reasons for a session-level Reject message. -->
<value enum="0" description="Other"/>
<value enum="1" description="UnknownID"/>
<value enum="2" description="UnknownSecurity"/>
<value enum="3" description="UnsupportedMessageType"/>
<value enum="4" description="ApplicationNotAvailable"/>
<value enum="5" description="ConditionallyRequiredFieldMissing"/>
<value enum="6" description="NotAuthorized"/>
<value enum="8" description="ThrottleLimitExceeded"/>
<value enum="18" description="InvalidPriceIncrement"/>
<value enum="254" description="WhispererClientMessageInvalid"/> <!-- Whisperer validation checks identified an error in a message received from the Client. -->
</field>
<field number="389" name="DiscretionOffsetValue" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="448" name="PartyID" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="452" name="PartyRole" type="INT"> <!-- Details of conditionally populated counterparty identification fields. -->
<value enum="1" description="ExecutingFirm"/> <!-- Firm responsible for filling/rejecting this Order. -->
<value enum="59" description="ExecutingUnit"/> <!-- Branch/business unit under which this trade will be booked. -->
<value enum="251" description="ExecutingUnitLocation"/> <!-- Location of the Branch responsible for the execution of the client's order. Two-character ISO 3166 Country Code. -->
<value enum="12" description="ExecutingTrader"/> <!-- Trader responsible for filling/rejecting this Order - may be human or autotrader. -->
<value enum="253" description="ExecutingFirmLEI"/> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID. A Legal Entity Identifier defined by ISO 17442 to identify the executing Firm. -->
<value enum="13" description="OrderOriginationFirm"/> <!-- Firm responsible for submission of this Order. -->
<value enum="250" description="OrderOriginationFirmLocation"/> <!-- Location of the Branch responsible for the submission of the client's order. Two-character ISO 3166 Country Code. -->
<value enum="11" description="OrderOriginationTrader"/> <!-- Trader responsible for submission of this Order - may be human or autotrader. -->
<value enum="254" description="OrderOriginationFirmLEI"/> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID. A Legal Entity Identifier defined by ISO 17442 to identify the originating Firm. -->
<value enum="17" description="ContraFirm"/> <!-- Optionally populated if OrderOriginatonFirm is Trading on Behalf of a third party. -->
<value enum="37" description="ContraTrader"/> <!-- Optionally populated if OrderOriginatonFirm is Trading on Behalf of a third party. -->
<value enum="252" description="ContraFirmLEI"/> <!-- Optionally populated if OrderOriginatonFirm is Trading on Behalf of a third party. A Legal Entity Identifier defined by ISO 17442 to identify the third party Firm. -->
<value enum="73" description="ExecutionVenue"/> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID. May be an LEI or MIC of the Swap Execution Facility (SEF), Multilateral Trading Facility (MTF), Organized Trading Facility (OTF) or Regulated Market (RM). Also used to denote the LP that a message is intended for on order routing venues such as Fidessa and FXSpotStream. -->
<value enum="79" description="PrimeBroker"/> <!-- The counterparty Prime Broker. -->
<value enum="4" description="ClearingFirm"/> <!-- The counterparty Clearing Firm. -->
<value enum="116" description="ReportingEntity"/> <!-- Conditionally populated if RegulatoryBodies=SEF/EMIR/MiFID. May be an LEI or MIC, or 'ExecutingFirm', 'OrderOriginationFirm', 'ExecutionVenue', 'Unknown'. -->
</field>
<field number="453" name="NoPartyIDs" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="527" name="SecondaryExecID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="537" name="QuoteType" type="MULTIPLECHARVALUE"/> <!-- Bid/Offer quote condition flags. Booleans implemented as a set to avoid any problems with null values. -->
<field number="541" name="MaturityDate" type="LOCALMKTDATE"/> <!-- Local calendar date at the market location (i.e. TK/LN/NY), as days since epoch. -->
<field number="555" name="NoLegs" type="NUMINGROUP"/> <!-- Mandatory group dimensions: 1..n. -->
<field number="556" name="LegCurrency" type="CURRENCY"/> <!-- Currency code supported by Whisperer. Usually the ISO 4217 Currency code value. -->
<field number="566" name="LegPrice" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="587" name="LegSettlType" type="STRING"> <!-- Defines the standard Tenors supported by Whisperer. -->
<value enum="BKN" description="BKN"/> <!-- Broken Date, refer to LegSettlDate for LocalMktDate containing YYYYMMDD value. -->
<value enum="TOD" description="TOD"/> <!-- Today, equivalent to T+0. -->
<value enum="TOM" description="TOM"/> <!-- Tomorrow, equivalent to T+1. -->
<value enum="SPT" description="SPT"/> <!-- Spot, equivalent to T+1 or T+2 (depending on the currency pair). -->
<value enum="D1" description="D1"/> <!-- One day after Spot. -->
<value enum="D2" description="D2"/> <!-- Two days after Spot. -->
<value enum="D3" description="D3"/> <!-- Three days after Spot. -->
<value enum="D4" description="D4"/> <!-- Four days after Spot. -->
<value enum="D5" description="D5"/> <!-- Five days after Spot. Date may be different to W1. -->
<value enum="W1" description="W1"/> <!-- One week after Spot. -->
<value enum="W2" description="W2"/> <!-- Two weeks after Spot. -->
<value enum="W3" description="W3"/> <!-- Three weeks after Spot. -->
<value enum="M1" description="M1"/> <!-- One month after Spot. -->
<value enum="M2" description="M2"/> <!-- Two months after Spot. -->
<value enum="M3" description="M3"/> <!-- Three months after Spot. -->
<value enum="M4" description="M4"/> <!-- Four months after Spot. -->
<value enum="M5" description="M5"/> <!-- Five months after Spot. -->
<value enum="M6" description="M6"/> <!-- Six months after Spot. -->
<value enum="M7" description="M7"/> <!-- Seven months after Spot. -->
<value enum="M8" description="M8"/> <!-- Eight months after Spot. -->
<value enum="M9" description="M9"/> <!-- Nine months after Spot. -->
<value enum="M10" description="M10"/> <!-- Ten months after Spot. -->
<value enum="M11" description="M11"/> <!-- Eleven months after Spot. -->
<value enum="Y1" description="Y1"/> <!-- One year after Spot. -->
<value enum="M13" description="M13"/> <!-- Thirteen months after Spot. -->
<value enum="M14" description="M14"/> <!-- Fourteen months after Spot. -->
<value enum="M15" description="M15"/> <!-- Fifteen months after Spot. -->
<value enum="M18" description="M18"/> <!-- Eighteen months after Spot. -->
<value enum="M21" description="M21"/> <!-- Twenty-one months after Spot. -->
<value enum="Y2" description="Y2"/> <!-- Two years after Spot. -->
<value enum="Y3" description="Y3"/> <!-- Three years after Spot. -->
<value enum="Y4" description="Y4"/> <!-- Four years after Spot. -->
<value enum="Y5" description="Y5"/> <!-- Five years after Spot. -->
<value enum="Y6" description="Y6"/> <!-- Six years after Spot. -->
<value enum="Y7" description="Y7"/> <!-- Seven years after Spot. -->
<value enum="Y8" description="Y8"/> <!-- Eight years after Spot. -->
<value enum="Y9" description="Y9"/> <!-- Nine years after Spot. -->
<value enum="Y10" description="Y10"/> <!-- Ten years after Spot. -->
<value enum="Y15" description="Y15"/> <!-- Fifteen years after Spot. -->
<value enum="Y20" description="Y20"/> <!-- Twenty years after Spot. -->
<value enum="Y25" description="Y25"/> <!-- Twenty-five years after Spot. -->
<value enum="Y30" description="Y30"/> <!-- Thirty years after Spot. -->
<value enum="ON" description="ON"/> <!-- Overnight - TOD/TOM single-legged Swap. -->
<value enum="TN" description="TN"/> <!-- Tom-Next - TOM/SPT single-legged Swap. -->
<value enum="SN" description="SN"/> <!-- Spot-Next - SPT/D1 single-legged Swap. -->
<value enum="T2" description="T2"/> <!-- T+2 - Second day after trade date. -->
<value enum="T3" description="T3"/> <!-- T+3 - Third day after trade date. -->
<value enum="T4" description="T4"/> <!-- T+4 - Fourth day after trade date. -->
<value enum="T5" description="T5"/> <!-- T+5 - Fifth day after trade date. -->
<value enum="IMMF" description="IMMF"/> <!-- January Futures expiration date. -->
<value enum="IMMG" description="IMMG"/> <!-- February Futures expiration date. -->
<value enum="IMMH" description="IMMH"/> <!-- March Futures expiration/IMM1 date. -->
<value enum="IMMJ" description="IMMJ"/> <!-- April Futures expiration date. -->
<value enum="IMMK" description="IMMK"/> <!-- May Futures expiration date. -->
<value enum="IMMM" description="IMMM"/> <!-- June Futures expiration/IMM2 date. -->
<value enum="IMMN" description="IMMN"/> <!-- July Futures expiration date. -->
<value enum="IMMQ" description="IMMQ"/> <!-- August Futures expiration date. -->
<value enum="IMMU" description="IMMU"/> <!-- September Futures expiration/IMM3 date. -->
<value enum="IMMV" description="IMMV"/> <!-- October Futures expiration date. -->
<value enum="IMMX" description="IMMX"/> <!-- November Futures expiration date. -->
<value enum="IMMZ" description="IMMZ"/> <!-- December Futures expiration/IMM4 date. -->
<value enum="BOMF" description="BOMF"/> <!-- The first business day of January. Also used to represent first working day of next year (e.g. 360T). -->
<value enum="BOMG" description="BOMG"/> <!-- The first business day of February. -->
<value enum="BOMH" description="BOMH"/> <!-- The first business day of March. -->
<value enum="BOMJ" description="BOMJ"/> <!-- The first business day of April. -->
<value enum="BOMK" description="BOMK"/> <!-- The first business day of May. -->
<value enum="BOMM" description="BOMM"/> <!-- The first business day of June. -->
<value enum="BOMN" description="BOMN"/> <!-- The first business day of July. -->
<value enum="BOMQ" description="BOMQ"/> <!-- The first business day of August. -->
<value enum="BOMU" description="BOMU"/> <!-- The first business day of September. -->
<value enum="BOMV" description="BOMV"/> <!-- The first business day of October. -->
<value enum="BOMX" description="BOMX"/> <!-- The first business day of November. -->
<value enum="BOMZ" description="BOMZ"/> <!-- The first business day of December. -->
<value enum="JAN" description="JAN"/> <!-- The first spot value date after the last business day of January. -->
<value enum="FEB" description="FEB"/> <!-- The first spot value date after the last business day of February. -->
<value enum="MAR" description="MAR"/> <!-- The first spot value date after the last business day of March. -->
<value enum="APR" description="APR"/> <!-- The first spot value date after the last business day of April. -->
<value enum="MAY" description="MAY"/> <!-- The first spot value date after the last business day of May. -->
<value enum="JUN" description="JUN"/> <!-- The first spot value date after the last business day of June. -->
<value enum="JUL" description="JUL"/> <!-- The first spot value date after the last business day of July. -->
<value enum="AUG" description="AUG"/> <!-- The first spot value date after the last business day of August. -->
<value enum="SEP" description="SEP"/> <!-- The first spot value date after the last business day of September. -->
<value enum="OCT" description="OCT"/> <!-- The first spot value date after the last business day of October. -->
<value enum="NOV" description="NOV"/> <!-- The first spot value date after the last business day of November. -->
<value enum="DEC" description="DEC"/> <!-- The first spot value date after the last business day of December. -->
<value enum="EOMF" description="EOMF"/> <!-- The last business day of January. -->
<value enum="EOMG" description="EOMG"/> <!-- The last business day of February. -->
<value enum="EOMH" description="EOMH"/> <!-- The last business day of March. -->
<value enum="EOMJ" description="EOMJ"/> <!-- The last business day of April. -->
<value enum="EOMK" description="EOMK"/> <!-- The last business day of May. -->
<value enum="EOMM" description="EOMM"/> <!-- The last business day of June. -->
<value enum="EOMN" description="EOMN"/> <!-- The last business day of July. -->
<value enum="EOMQ" description="EOMQ"/> <!-- The last business day of August. -->
<value enum="EOMU" description="EOMU"/> <!-- The last business day of September. -->
<value enum="EOMV" description="EOMV"/> <!-- The last business day of October. -->
<value enum="EOMX" description="EOMX"/> <!-- The last business day of November. -->
<value enum="EOMZ" description="EOMZ"/> <!-- The last business day of December. Also used to represent last working day of current year (e.g. 360T). -->
<value enum="IMM1" description="IMM1"/> <!-- The next quarterly IMM date. -->
<value enum="IMM2" description="IMM2"/> <!-- The quarterly IMM date following IMM1. -->
<value enum="IMM3" description="IMM3"/> <!-- The quarterly IMM date following IMM2. -->
<value enum="IMM4" description="IMM4"/> <!-- The quarterly IMM date following IMM3. -->
<value enum="IMM5" description="IMM5"/> <!-- The quarterly IMM date following IMM4. -->
<value enum="D1M1" description="D1M1"/> <!-- Tomorrow One Month - the M1 Tenor for tomorrow’s trade date. -->
<value enum="EOM0" description="EOM0"/> <!-- End of current month. -->
<value enum="EOM1" description="EOM1"/> <!-- End of first month after current month. -->
<value enum="EOM2" description="EOM2"/> <!-- End of second month after current month. -->
<value enum="EOM3" description="EOM3"/> <!-- End of third month after current month. -->
<value enum="EOM4" description="EOM4"/> <!-- End of fourth month after current month. -->
<value enum="EOM5" description="EOM5"/> <!-- End of fifth month after current month. -->
<value enum="EOM6" description="EOM6"/> <!-- End of sixth month after current month. -->
<value enum="EOM7" description="EOM7"/> <!-- End of seventh month after current month. -->
<value enum="EOM8" description="EOM8"/> <!-- End of eigth month after current month. -->
<value enum="EOM9" description="EOM9"/> <!-- End of ninth month after current month. -->
<value enum="EOM10" description="EOM10"/> <!-- End of tenth month after current month. -->
<value enum="EOM11" description="EOM11"/> <!-- End of eleventh month after current month. -->
<value enum="EOM12" description="EOM12"/> <!-- End of twelfth month after current month. -->
<value enum="YYYYMM" description="YYYYMM"/> <!-- Refer to LegSettlDate for LocalMktDate used to derive YYYYMM value. Defines monthly Futures contract expiry. Consider using IMM[F-Z] for monthly expiry within the next twelve months. -->
<value enum="YYYYWW" description="YYYYWW"/> <!-- Refer to LegSettlDate for LocalMktDate used to derive YYYYWW value. Defines weekly Futures contract expiry. -->
<value enum="YYYYMMDD" description="YYYYMMDD"/> <!-- Refer to LegSettlDate for LocalMktDate containing YYYYMMDD value. Defines daily Futures contract expiry. Synonymous to BKN. -->
</field>
<field number="588" name="LegSettlDate" type="LOCALMKTDATE"/> <!-- Local calendar date at the market location (i.e. TK/LN/NY), as days since epoch. -->
<field number="609" name="LegSecurityType" type="STRING"> <!-- Defines the standard product types supported by Whisperer. -->
<value enum="SPT" description="SPT"/> <!-- FX Spot -->
<value enum="FWD" description="FWD"/> <!-- FX Forward -->
<value enum="NDF" description="NDF"/> <!-- FX Non-Deliverable Forward -->
<value enum="SWP" description="SWP"/> <!-- FX Swap -->
<value enum="NDS" description="NDS"/> <!-- FX Non-Deliverable Swap -->
<value enum="BLK" description="BLK"/> <!-- FX Block -->
<value enum="NDB" description="NDB"/> <!-- FX Non-Deliverable Block -->
<value enum="FUT" description="FUT"/> <!-- Future -->
<value enum="SPR" description="SPR"/> <!-- Futures Spread -->
<value enum="IMM" description="IMM"/> <!-- Money Market (Cash) -->
<value enum="OPT" description="OPT"/> <!-- FX Option -->
<value enum="CFD" description="CFD"/> <!-- Contract For Difference -->
</field>
<field number="611" name="LegMaturityDate" type="LOCALMKTDATE"/> <!-- Local calendar date at the market location (i.e. TK/LN/NY), as days since epoch. -->
<field number="624" name="LegSide" type="CHAR"> <!-- Side: Taker Buys against Maker Offer, Sells against Maker Bid. -->
<value enum="1" description="Buy"/> <!-- Taker Buys their dealt Currency. -->
<value enum="2" description="Sell"/> <!-- Taker Sells their dealt Currency. -->
<value enum="7" description="TwoWay"/> <!-- Used in QuoteRequest only. Taker Buys or Sells their dealt Currency. -->
<value enum="Y" description="TwoWayBuy"/> <!-- Used in BLK/NDB QuoteRequest only. Taker Buys or Sells their dealt Currency for a given Leg, but the Leg Allocations net to a Buy. -->
<value enum="Z" description="TwoWaySell"/> <!-- Used in BLK/NDB QuoteRequest only. Taker Buys or Sells their dealt Currency for a given Leg, but the Leg Allocations net to a Sell. -->
</field>
<field number="631" name="MidPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="637" name="LegLastPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="658" name="QuoteRequestRejectReason" type="INT"> <!-- Reason codes for QuoteRequest rejections. -->
<value enum="1" description="UnknownSymbol"/> <!-- Symbol not supported. -->
<value enum="2" description="ExchangeClosed"/> <!-- Market currently unavailable. -->
<value enum="3" description="QuoteRequestExceedsLimit"/> <!-- Request breaches speed-bump. -->
<value enum="4" description="TooLateToEnter"/> <!-- Trading in this instrument not currently available. -->
<value enum="5" description="InvalidPrice"/> <!-- Price is no longer valid. -->
<value enum="6" description="NotAuthorizedToRequestQuote"/> <!-- User not authorized to request quote. -->
<value enum="7" description="NoMatchForInquiry"/> <!-- No Match For Inquiry. -->
<value enum="8" description="NoMarketForInstrument"/> <!-- No Market For Instrument. -->
<value enum="9" description="NoInventory"/> <!-- No Inventory. -->
<value enum="10" description="Pass"/> <!-- Pass. -->
<value enum="11" description="InsufficientCredit"/> <!-- InsufficientCredit. -->
<value enum="13" description="IncorrectQuantity"/> <!-- Qty does not meet instrument's min or max restrictions. -->
<value enum="99" description="Other"/> <!-- Other. -->
<value enum="100" description="UnknownAccount"/> <!-- Provider has not approved/mapped customer account for trading. -->
<value enum="101" description="NonStandardSymbol"/> <!-- Provider does not support non-standard ccy pairs. -->
<value enum="102" description="UnknownTenor"/> <!-- Provider does not support specific tenor for the ccy pair. -->
<value enum="103" description="InvalidBusinessDay"/> <!-- Provider does not recognize the value date of the trade as a valid date. -->
<value enum="104" description="UnknownProduct"/> <!-- Provider does not support the specific trade type (SPOT, FWD, SWP, BLK etc.). -->
<value enum="105" description="ProviderStoppedDeal"/> <!-- Provider cannot price - (this should be used for technical problems). -->
<value enum="106" description="InvalidMinAmount"/> <!-- Provider enforces minimal trade amount. -->
<value enum="107" description="ProviderUnavailable"/> <!-- Internal FXall indicator - provider is not connected to FXall trading engine. -->
<value enum="108" description="MultipleAllocationUnsupported"/> <!-- Provider does not support multiple allocation trades. -->
<value enum="109" description="SendDetailsUnsupported"/> <!-- Provider does not support not auto tradable flag. -->
<value enum="110" description="NoTwoWayPricingForInstrument"/> <!-- Provider does not support 2-way pricing for given ccy pair. -->
<value enum="111" description="NonStandardSI"/> <!-- Provider does not support non standard SI's. -->
<value enum="112" description="NotAuthorizedToQuoteSecurity"/> <!-- Not authorized to quote security. -->
</field>
<field number="670" name="NoLegAllocs" type="NUMINGROUP"/> <!-- Mandatory group dimensions: 1..n. -->
<field number="671" name="LegAllocAccount" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="672" name="LegIndividualAllocID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="673" name="LegAllocQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="675" name="LegSettlCurrency" type="CURRENCY"/> <!-- Currency code supported by Whisperer. Usually the ISO 4217 Currency code value. -->
<field number="681" name="LegBidPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="684" name="LegOfferPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="685" name="LegOrderQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="694" name="QuoteRespType" type="INT"> <!-- Reason for termination of QuoteRequest. -->
<value enum="6" description="Pass"/> <!-- ESP/RFS Stream rejected or terminated by Taker or Maker. -->
<value enum="8" description="TimedOut"/> <!-- RFS Stream duration ended without Order. Maker, Taker and ECN may all have individual time-outs. -->
</field>
<field number="711" name="NoUnderlyings" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="879" name="UnderlyingQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="924" name="UserRequestType" type="INT"> <!-- Venue action requested by User. -->
<value enum="1" description="LogOnUser"/> <!-- Request to establish connectivity with Venue. -->
<value enum="2" description="LogOffUser"/> <!-- Request to cease connectivity with Venue. -->
</field>
<field number="926" name="UserStatus" type="INT"> <!-- User notification of Venue status. -->
<value enum="1" description="LoggedOn"/> <!-- User connected with Venue. -->
<value enum="2" description="LoggedOff"/> <!-- User disconnected from Venue. -->
<value enum="251" description="PrimeBrokerLoggedOff"/> <!-- Reuters specific. The PB is logged off and therefore new orders are not able to be submitted. -->
<value enum="252" description="CreditLow"/> <!-- Credit status. -->
<value enum="253" description="CreditExhausted"/> <!-- Credit status. -->
<value enum="254" description="CreditAvailable"/> <!-- Credit status. -->
</field>
<field number="957" name="NoStrategyParameters" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="958" name="StrategyParameterName" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="959" name="StrategyParameterType" type="INT">
<value enum="1" description="Int"/> <!-- Sequence of digits without commas or decimals and optional sign character (ASCII characters [-0-9]). -->
<value enum="2" description="Length"/> <!-- int field representing the length in bytes. Value must be positive. -->
<value enum="3" description="NumInGroup"/> <!-- int field representing the number of entries in a repeating group. Value must be positive. -->
<value enum="4" description="SeqNum"/> <!-- int field representing a message sequence number. Value must be positive. -->
<value enum="5" description="TagNum"/> <!-- int field representing a field's tag number when using FIX Tag=Value syntax. Value must be positive and may not contain leading zeros. -->
<value enum="6" description="Float"/> <!-- Sequence of digits with optional decimal point and sign character (ASCII characters [-.0-9]); the absence of the decimal point within the string will be interpreted as the float representation of an integer value. -->
<value enum="7" description="Qty"/> <!-- float field capable of storing either a whole number (no decimal places) of 'shares' (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units). -->
<value enum="8" description="Price"/> <!-- float field representing a price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. -->
<value enum="9" description="PriceOffset"/> <!-- float field representing a price offset, which can be mathematically added to a 'Price'. Note the number of decimal places may vary and some fields such as LastForwardPoints may be negative. -->
<value enum="10" description="Amt"/> <!-- float field typically representing a Price times a Qty. -->
<value enum="11" description="Percentage"/> <!-- float field representing a percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary. -->
<value enum="12" description="Char"/> <!-- Single character value, can include any alphanumeric character or punctuation except the delimiter. All char fields are case sensitive (i.e. m != M). -->
<value enum="13" description="Boolean"/> <!-- char field containing one of two values: 'Y' = True/Yes, 'N' = False/No. -->
<value enum="14" description="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). -->
<value enum="15" description="MultipleCharValue"/> <!-- String field containing one or more space delimited single character values (e.g. |18=2 A F| ). -->
<value enum="16" description="Currency"/> <!-- String field representing a currency type using ISO 4217 Currency code (3 character) values. -->
<value enum="17" description="Exchange"/> <!-- String field representing a market or exchange using ISO 10383 Market Identifier Code (MIC) values. -->
<value enum="18" description="MonthYear"/> <!-- String field representing month of a year. An optional day of the month can be appended or an optional week code. Valid formats: YYYYMM, YYYYMMDD, YYYYMMWW. Valid values: YYYY = 0000-9999; MM = 01-12; DD = 01-31; WW = w1, w2, w3, w4, w5. -->
<value enum="19" description="UTCTimestamp"/> <!-- String field representing time/date combination represented in UTC (Universal Time Coordinated, also known as GMT) in either YYYYMMDD-HH:MM:SS (whole seconds) or YYYYMMDD-HH:MM:SS.sss* format, colons, dash, and period required. -->
<value enum="20" description="UTCTimeOnly"/> <!-- String field representing time-only represented in UTC (Universal Time Coordinated, also known as GMT) in either HH:MM:SS (whole seconds) or HH:MM:SS.sss* (milliseconds) format, colons, and period required. This special-purpose field is paired with UTCDateOnly to form a proper UTCTimestamp for bandwidth-sensitive messages. -->
<value enum="21" description="LocalMktDate"/> <!-- String field representing a Date of Local Market (as opposed to UTC) in YYYYMMDD format. This is the normal date field used by the FIX Protocol. -->
<value enum="22" description="UTCDateOnly"/> <!-- String field representing Date represented in UTC (Universal Time Coordinated, also known as GMT) in YYYYMMDD format. This special-purpose field is paired with UTCTimeOnly to form a proper UTCTimestamp for bandwidth-sensitive messages. -->
<value enum="23" description="Data"/> <!-- String field containing raw data with no format or content restrictions. Data fields are always immediately preceded by a length field. The length field should specify the number of bytes of the value of the data field. -->
<value enum="24" description="MultipleStringValue"/> <!-- String field containing one or more space delimited multiple character values (e.g. |277=AV AN A|). -->
<value enum="25" description="Country"/> <!-- String field representing a country using ISO 3166 Country code (2 character) values. -->
<value enum="26" description="Language"/> <!-- Identifier for a national language - uses ISO 639-1 standard. -->
<value enum="27" description="TZTimeOnly"/> <!-- String field representing the time represented based on ISO 8601. This is the time with a UTC offset to allow identification of local time and timezone of that time. Format is HH:MM[:SS][Z | [ + | - hh[:mm]]]. -->
<value enum="28" description="TZTimestamp"/> <!-- String field representing a time/date combination representing local time with an offset to UTC to allow identification of local time and timezone offset of that time. The representation is based on ISO 8601. Format is YYYYMMDD-HH:MM:SS.sss*[Z | [ + | - hh[:mm]]]. -->
<value enum="29" description="Tenor"/> <!-- Used to allow the expression of FX standard tenors in addition to the base valid enumerations defined for the field that uses this pattern data type. This pattern data type is defined as follows: Dx = tenor expression for 'days', e.g. 'D5', Mx = tenor expression for 'months', e.g. 'M3', Wx = tenor expression for 'weeks', e.g. 'W13', Yx = tenor expression for 'years', e.g. 'Y1', where 'x' is any integer > 0. -->
</field>
<field number="960" name="StrategyParameterValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="969" name="MinPriceIncrement" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="1021" name="MDBookType" type="INT"> <!-- Defines the type of a market data update group. -->
<value enum="2" description="PriceDepth"/> <!-- Book entries are ordered by price. Associated amounts are aggregated order quantities at that price level. -->
<value enum="3" description="OrderDepth"/> <!-- Book entries are ordered by price then amount. Each entry represents an individual order. -->
<value enum="101" description="Spread"/> <!-- Book entries are ordered by configured price deltas from ToB. Associated amounts are aggregate order quantities available between ToB and that level. -->
<value enum="102" description="Amount"/> <!-- Book entries are ordered by configured amounts. Associated prices are the corresponding multiple-trade VWAP from ToB. -->
<value enum="103" description="FullAmount"/> <!-- Book entries are ordered by configured amounts. Associated prices are single-trade. -->
<value enum="105" description="TradeTicker"/> <!-- Used for dedicated Paid/Given feeds only. -->
<value enum="106" description="CurrenexNowWAMR"/> <!-- Deprecated, do not use. -->
<value enum="107" description="CurrenexNowMid"/> <!-- Deprecated, do not use. -->
</field>
<field number="1026" name="MDEntrySpotRate" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="1027" name="MDEntryForwardPoints" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="1036" name="ExecAckStatus" type="CHAR"> <!-- Confirms or denys Maker ExecutionReport. -->
<value enum="1" description="Accepted"/>
<value enum="2" description="Rejected"/>
</field>
<field number="1067" name="LegBidForwardPoints" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="1068" name="LegOfferForwardPoints" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="1073" name="LegLastForwardPoints" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="1074" name="LegCalculatedCcyLastQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="1094" name="PegPriceType" type="INT">
<value enum="2" description="MidPricePeg"/> <!-- Peg to midpoint between the Bid and the Offer. -->
<value enum="4" description="MarketPeg"/> <!-- Peg to Bid if Selling, Offer if Buying. -->
<value enum="5" description="PrimaryPeg"/> <!-- Peg to Bid if Buying, Offer if Selling. -->
</field>
<field number="1151" name="SecurityGroup" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="1173" name="MDSubBookType" type="INT"> <!-- Reserved for future use. -->
<value enum="0" description="DoNotUse"/> <!-- Reserved for future use. -->
</field>
<field number="1177" name="NoOfSecSizes" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="1179" name="MDSecSize" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="1181" name="ApplSeqNum" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
<field number="1182" name="ApplBegSeqNum" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
<field number="1183" name="ApplEndSeqNum" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
<field number="1346" name="ApplReqID" type="STRING"/> <!-- Unique (within curent trading week) identifier to reliably link request and response messages. -->
<field number="1347" name="ApplReqType" type="INT"> <!-- Type of Application Message Request being made. -->
<value enum="0" description="StartRetransmission"/>
</field>
<field number="1350" name="ApplLastSeqNum" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
<field number="1351" name="NoApplIDs" type="NUMINGROUP"/> <!-- Mandatory group dimensions: 1..n. -->
<field number="1355" name="RefApplID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="1356" name="ApplReportID" type="STRING"/> <!-- Unique (within curent trading week) identifier to reliably link request and response messages. -->
<field number="1357" name="RefApplLastSeqNum" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
<field number="1418" name="LegLastQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="1426" name="ApplReportType" type="INT"> <!-- Type of report -->
<value enum="3" description="ResendComplete"/> <!-- Application message resend completed with at least one ReplayedMessage . -->
<value enum="100" description="NoData"/> <!-- Application message resend completed without any ReplayedMessage. -->
<value enum="101" description="ResendFailure"/> <!-- Application message resend failed. -->
</field>
<field number="1629" name="ExposureDuration" type="INT"/> <!-- Nullable, unsigned 32-bit integer. -->
<field number="1683" name="MDSubFeedType" type="STRING"> <!-- Gives indication of Line Arbitrage result. -->
<value enum="A" description="A"/> <!-- Line A -->
<value enum="B" description="B"/> <!-- Line B -->
</field>
<field number="1913" name="NumOfCompetitors" type="INT"/> <!-- 0=Not in competition; -1=In competition (number of competitors unknown), n=In competition (Number of competitors); NULL=unknown. -->
<field number="2115" name="NegotiationMethod" type="INT"> <!-- Indicates whether QuoteRequest is for ESP or RFS. -->
<value enum="100" description="ESP"/> <!-- Executable Streaming Prices via MassQuote. -->
<value enum="101" description="RFS"/> <!-- Request For Stream via Quote. -->
<value enum="102" description="RFQ"/> <!-- Request For Quote (single-shot) via Quote. -->
<value enum="103" description="Order"/> <!-- Instruction to Venue. -->
</field>
<field number="2346" name="LegMidPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="2422" name="OrderRequestID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="20001" name="LinkID" type="STRING"/> <!-- Fixed length string type for IDs assigned by Venues. All valid ASCII from decimal 32 to decimal 126 allowed, including "$%&'()+.;?@\^{} and excluding #!*,-/:=[]_`|~<> -->
<field number="20002" name="LegAvgPx" type="PRICE"/> <!-- A number representing price. May be negative (e.g. Forward Points). -->
<field number="20004" name="TradingFlags" type="MULTIPLECHARVALUE"/> <!-- Booleans implemented as a set to avoid any problems with null values. NOTE: pending name change as per https://confluence.marketfactory.com/x/dBhTB. -->
<field number="20005" name="HasExtendedOrderFields" type="NUMINGROUP"/> <!-- Conditionally populated group dimensions: 0..1. -->
<field number="20006" name="HopNetworkTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="20007" name="HopArrivalTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="20008" name="HasExtendedPriceFields" type="NUMINGROUP"/> <!-- Conditionally populated group dimensions: 0..1. -->
<field number="20009" name="HasNDFFields" type="NUMINGROUP"/> <!-- Conditionally populated group dimensions: 0..1. -->
<field number="20010" name="HasLegNDFFields" type="NUMINGROUP"/> <!-- Conditionally populated group dimensions: 0..1. -->
<field number="20011" name="NoFixingRefs" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20013" name="MDFlags" type="MULTIPLECHARVALUE"/> <!-- Booleans implemented as a set to avoid any problems with null values. -->
<field number="20014" name="FixingReference" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20015" name="LegAllocCalculatedCcyQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="20016" name="LegCumQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="20017" name="LegLeavesQty" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="20018" name="LotSize" type="QTY"/> <!-- A number representing quantity. May be negative (e.g. Allocation direction). -->
<field number="20020" name="MarketType" type="CHAR"> <!-- Indicates whether the NDF is onshore or offshore. -->
<value enum="0" description="Regular"/> <!-- Utilised when the NDF does not differentiate between onshore and offshore markets. -->
<value enum="1" description="Onshore"/> <!-- Onshore pricing of the NDF. -->
<value enum="2" description="Offshore"/> <!-- Offshore pricing of the NDF. -->
</field>
<field number="20021" name="RegulatoryBodies" type="MULTIPLECHARVALUE"/> <!-- Allows definition of which Regulatory Fields the Order will include. -->
<field number="20022" name="HasExtendedBidFields" type="NUMINGROUP"/> <!-- Conditionally populated group dimensions: 0..1. -->
<field number="20023" name="HasExtendedOfferFields" type="NUMINGROUP"/> <!-- Conditionally populated group dimensions: 0..1. -->
<field number="20030" name="NoBodyPassthruFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20031" name="BodyPassthruKey" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20032" name="BodyPassthruValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20040" name="NoBodyRegulatoryFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20041" name="BodyRegulatoryKey" type="INT"> <!-- Details of conditionally populated Regulatory fields. -->
<value enum="0" description="SEFTakerIsUSPerson"/> <!-- Y/N: A legal term referring to any U.S. person or legal entity anywhere in the world that should be taxed under U.S. law. -->
<value enum="1" description="SEFDataRepository"/> <!-- Repository for the reporting of SEF trades. -->
<value enum="3" description="SEFIsLargeTrade"/> <!-- Y/N: Indicates whether or not part of a large trade. -->
<value enum="4" description="SEFRequiredTransaction"/> <!-- Y/N: Indicates whether or not a required transaction (rather than permitted). -->
<value enum="5" description="SEFClearingExempted"/> <!-- Y/N: Indicates whether or not this trade is exempted from clearing. -->
<value enum="6" description="SEFClearer"/> <!-- Conditionally populated if SEFClearingExempted=N. Clearing House (DCO) to be used for the clearing of SEF trades. -->
<value enum="7" description="SEFFinancialEntityDefinition"/> <!-- 'SD' (Swap Dealer), 'MSP' (Major Swap Participant), or 'ECP' (Eligible Contract Participant). -->
<value enum="8" description="SEFCustomerTypeIndicator"/> <!-- 1/2/3/4: https://www.investopedia.com/terms/c/cti.asp -->
<value enum="9" description="SEFIsBlock"/> <!-- Y/N: Indicates whether or not the trade is classified as a Block for SEF purposes. -->
<value enum="20" description="UPI"/> <!-- Uniquely identifies the product of a security using ISO 4914. Refer to https://cosp.anna-dsb.com/home. As well EMIR, the UPI is being added to other regimes such as ASIC, MAS and CFTC derivative reporting so as to more closely align regulation worldwide. -->
<value enum="40" description="MiFIDProductISIN"/> <!-- Product-level 12 character International Securities Identification Number http://www.anna-web.org/home/derivatives-service-bureau/. Not populated for single-legged products (refer to LegMiFIDISIN instead). -->
<value enum="42" description="MiFIDExecutingDecisionMakerAsNaturalPerson"/> <!-- Shortcode representing the Executing Decision Maker Natural Person of message sender. -->
<value enum="47" description="MiFIDExecutingDecisionMakerAsAlgorithm"/> <!-- Shortcode representing the Executing Decision Maker Algorithm of message sender. -->
<value enum="43" description="MiFIDInvestmentDecisionMakerAsNaturalPerson"/> <!-- Shortcode representing the Investment Decision Maker Natural Person of message sender. -->
<value enum="57" description="MiFIDInvestmentDecisionMakerAsAlgorithm"/> <!-- Shortcode representing the Investment Decision Maker Algorithm of message sender. -->
<value enum="41" description="MiFIDLargeInScaleWaiver"/> <!-- Y/N: Pre-Trade Block Size waiver indicator. -->
<value enum="44" description="MiFIDIlliquidInstrumentWaiver"/> <!-- Y/N: Pre-Trade Illiquid Instrument waiver indicator. -->
<value enum="45" description="MiFIDSizeSpecificWaiver"/> <!-- Y/N: Pre-Trade Size-specific (trade of substantial size etc.) waiver indicator. -->
<value enum="54" description="MiFIDLargeInScaleDeferral"/> <!-- Y/N: Post-Trade Block Size deferral indicator. -->
<value enum="55" description="MiFIDIlliquidInstrumentDeferral"/> <!-- Y/N: Post-Trade Illiquid Instrument deferral indicator. -->
<value enum="56" description="MiFIDSizeSpecificDeferral"/> <!-- Y/N: Post-Trade Size-specific (trade of substantial size etc.) deferral indicator. -->
<value enum="46" description="MiFIDLiquidityProvisionFlag"/> <!-- Y/N: Indicates that the Order is part of a liquidity provision activity. -->
<value enum="48" description="MiFIDPackageTradeFlag"/> <!-- Y/N: Indicates that the Order is considered a Package/aggregated transaction for reporting purposes. -->
<value enum="49" description="MiFIDPackageID"/> <!-- Conditionally populated if MiFIDPackageTradeFlag=Y. Identifier assigned to a collection of trades so they may be analysed as a single unit. -->
<value enum="50" description="MiFIDSystematicInternaliser"/> <!-- Segment MIC code (as per ISO 10383) of message sender, indicating it is a Systematic Internaliser. -->
<value enum="51" description="MiFIDRiskReductionOrderFlag"/> <!-- Y/N: In the context of ESMA RTS 22 Article 4(2)(i), signifies whether or not the Order is a transaction 'to reduce risk in an objectively measurable way in accordance with Article 57 of Directive 2014/65/EU'. -->
<value enum="52" description="MiFIDTradingCapacity"/> <!-- DEAL: Firm Deals on own account; MTCH: Firm trades in a matched principal capacity; AOTC: Any other trading capacity (e.g. Agency). -->
<value enum="53" description="MiFIDNonPriceFormingTrade"/> <!-- Y/N: Transactions where the exchange of financial instruments is determined by factors other than the current market valuation of the financial instrument as listed under Article 13. -->
<value enum="58" description="MiFIDExemptedDueToESCBPolicyTransaction"/> <!-- Y/N: Transactions entered in to by members of the European System of Central Banks (ESCB) are exempted from publication, as per ESMA RTS2, Article 14(1), and Article 15(1). -->
</field>
<field number="20042" name="BodyRegulatoryValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20050" name="NoLegPassthruFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20051" name="LegPassthruKey" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20052" name="LegPassthruValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20060" name="NoLegRegulatoryFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20061" name="LegRegulatoryKey" type="INT"> <!-- Details of conditionally populated Regulatory fields. -->
<value enum="0" description="LegSEFUSIPrefix"/> <!-- 10 character Unique Swap Identifier Prefix for this Leg, usually a hash of the code issueing authority’s LEI. The Maker may choose to generate their own IDs, in whhich case this value will differ from the that provided in the Order. -->
<value enum="1" description="LegSEFUSI"/> <!-- 32 character Unique Swap Identifier (USI) for this Leg. The Maker may choose to generate their own IDs, in which case the ExecutionReport value will differ from the that provided in the Order. -->
<value enum="20" description="LegEMIRUTIPrefix"/> <!-- Unique Trade Identifier (UTI) Prefix for this Leg. With ISO 23897, the code issuing authority’s 20 character LEI, originally a 10 character hash of the LEI. -->
<value enum="21" description="LegEMIRUTI"/> <!-- 42 character Unique Trade Identifier (UTI) for this Leg. -->
<value enum="23" description="LegEMIRRTN"/> <!-- 52 character Report Tracking Number (RTN) for this Leg. -->
<value enum="22" description="LegUPI"/> <!-- Uniquely identifies the product of a leg instrument using ISO 4914. Refer to https://cosp.anna-dsb.com/home. As well EMIR, the UPI is being added to other regimes such as ASIC, MAS and CFTC derivative reporting so as to more closely align regulation worldwide. -->
<value enum="40" description="LegMiFIDISIN"/> <!-- 12 character International Securities Identification Number http://www.anna-web.org/home/derivatives-service-bureau/. -->
<value enum="41" description="LegMiFIDTVTIC"/> <!-- 52 character Trading Venue Transaction Identification Code (TVTIC) for this Leg. -->
<value enum="42" description="LegMiFIDConversionFlag"/> <!-- Y/N: Indicates whether or not this Leg is an FX conversion trade and related to a transaction which would be exempt from margining and reporting. Tenor must be less than T+5 - i.e. TOD, TOM, SPT, D1 or D2. Sometimes known as a long-dated Spot. -->
<value enum="60" description="LegSFTRSecuritiesFinancingTransactionFlag"/> <!-- Y/N: Indicates whether or not this Leg is a transactions where securities are used to borrow cash, or vice versa. -->
</field>
<field number="20062" name="LegRegulatoryValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20070" name="NoAllocPassthruFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20071" name="AllocPassthruKey" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20072" name="AllocPassthruValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20080" name="NoAllocRegulatoryFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20081" name="AllocRegulatoryKey" type="INT"> <!-- Details of conditionally populated Regulatory fields. -->
<value enum="0" description="AllocSEFUSIPrefix"/> <!-- 10 character Unique Swap Identifier Prefix for this Allocation, usually a hash of the code issueing authority’s LEI. -->
<value enum="1" description="AllocSEFUSI"/> <!-- 32 character Unique Swap Identifier (USI) for this Allocation. -->
<value enum="20" description="AllocEMIRUTIPrefix"/> <!-- Unique Trade Identifier (UTI) Prefix for this Leg. With ISO 23897, the code issuing authority’s 20 character LEI, originally a 10 character hash of the LEI. -->
<value enum="21" description="AllocEMIRUTI"/> <!-- 42 character Unique Trade Identifier (UTI) for this Allocation. -->
<value enum="41" description="AllocMiFIDTVTIC"/> <!-- 52 character Trading Venue Transaction Identification Code (TVTIC) for this Allocation. -->
<value enum="42" description="AllocMiFIDConversionFlag"/> <!-- Y/N: Indicates whether or not the Allocation is an FX conversion trade and related to a transaction which would be exempt from margining and reporting. Tenor must be less than T+5 - i.e. TOD, TOM, SPT, D1 or D2. -->
<value enum="43" description="AllocMiFIDNonPriceFormingTrade"/> <!-- Y/N: Transactions where the exchange of financial instruments is determined by factors other than the current market valuation of the financial instrument as listed under Article 13. -->
<value enum="44" description="AllocMiFIDLEI"/> <!-- Optionally populated if OrderOriginatonFirm is Trading on Behalf of a third party ContraFirm. A Legal Entity Identifier defined by ISO 17442 to identify the third party allocation account entity. -->
</field>
<field number="20082" name="AllocRegulatoryValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20090" name="NoEntryPassthruFields" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20091" name="EntryPassthruKey" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20092" name="EntryPassthruValue" type="STRING"/> <!-- Free format variable-length text string. -->
<field number="20100" name="ApplMessageTypes" type="MULTIPLECHARVALUE"/> <!-- Filter for Whisperer message types to be included in the replay. -->
<field number="20101" name="ApplStartTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="20102" name="ApplEndTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="20103" name="RawMessageEncoding" type="INT"> <!-- Encoding -->
<value enum="1" description="FIX"/> <!-- FIX Protocol. -->
<value enum="2" description="SBE"/> <!-- FIX Simple Binary Encoding. -->
</field>
<field number="20104" name="RawMessageSize" type="LENGTH"/>
<field number="20105" name="RawMessage" type="DATA"/> <!-- Variable-length data with no format or content restrictions. -->
<field number="20553" name="ApplUsername" type="STRING"/> <!-- Id given to user for logging on. -->
<field number="20627" name="NoHops" type="NUMINGROUP"/> <!-- Repeating group dimensions: 0..n. -->
<field number="20629" name="HopSendingTime" type="UTCTIMESTAMP" trs_attrs="nanoseconds"/> <!-- Number of nanoseconds since epoch. -->
<field number="20630" name="HopRefID" type="SEQNUM"/> <!-- Sequence number for detection of missed messages. -->
</fields>
</fix> |