As of EP258, July 2020

Table of Contents

Preface

The Financial Information eXchange (FIX®) Protocol effort was initiated in 1992 by a group of institutions and brokers interested in streamlining their trading processes. These firms felt that they, and the industry as a whole, could benefit from efficiencies derived through the electronic communication of indications, orders and executions. The result is FIX, an open message standard controlled by no single entity, that can be structured to match the business requirements of each firm. The benefits are:

  • From the business flow perspective, FIX provides institutions, brokers, and other market participants a means of reducing the clutter of unnecessary telephone calls and scraps of paper, and facilitates targeting high quality information to specific individuals.
  • For technologists, FIX provides an open standard that leverages the development effort so that they can efficiently create links with a wide range of counterparties.
  • For vendors, FIX provides ready access to the industry, with the incumbent reduction in marketing effort and increase in potential client base.

Openness has been the key to FIX’s success. For that reason, while encouraging vendors to participate with the standard, FIX has remained vendor neutral. Similarly, FIX avoids over-standardization. It does not demand a single type of carrier (e.g., it will work with leased lines, frame relay, Internet, etc.), nor a single security protocol. It leaves many of these decisions to the individual firms that are using it. We do expect that, over time, the rules of engagement in these non-standardized areas will converge as technologies mature.

FIX is now used by a variety of firms and vendors. It has clearly emerged as the inter-firm messaging protocol of choice. FIX has grown from its original buy-side to sell-side equity trading roots. It is now used by markets (exchanges, “ECNs”, etc) and other market participants. In addition to equities, FIX currently supports four other products: Collective Investment Vehicles (CIVs), Derivatives, Fixed Income, and Foreign Exchange. The process for modifications to the specification is very open with input and feedback encouraged from the community. Those interested in providing input to the protocol are encouraged use the FIX website Discussion section or contact the FIX Global Technical Committee (GTC) Chairpersons). The FIX website is the main source of information, discussion, and notification of FIX-related events.

We look forward to your participation.

FIX Protocol Ltd June 2020

About FIX Protocol Limited

FIX Protocol Limited (FPL) oversees and manages the development of the FIX Protocol specification and encourages its use throughout the industry. FPL is open to due paying members representing business and technology professionals interested in guiding the growth and adoption of the FIX Protocol that work for: Buy-Side Firms, Sell-Side Firms, Exchanges, ECNs/ATSs, Utilities, Vendors, and Other Associations. For more information about membership please visit http://www.fixtrading.org.

FIX Trading Community™ is a brand of FIX Protocol Ltd, a non-profit UK registered entity, originally created to own, maintain and develop the FIX Protocol messaging language.

FIX® is embedded into the fabric of the financial trading community, used by thousands of firms every day to complete millions of transactions in a cost-efficient and effective manner.

FIX has been created and continues to be developed through collaborative industry efforts with the intention that it remains as a non-proprietary, free and open protocol. Maintaining this position is of utmost importance, as the cost to the industry of a fee based alternative would prove incredibly expensive.

To ensure this status is protected, FIX Protocol Ltd is managed under a special “Purpose Trust” which owns the assets and enables the organisation to concentrate on promoting protocol adoption without undue risk or exposure. An effort that is further supported by legal protection afforded through the fees paid by member firms.

FIX Protocol Limited is represented by the following high-level organization:

  • Global Steering Committee comprised of the FPL Global Committee Chairs
  • Global Technical Committee comprised of Product/Region Committee Representatives
  • Global Product Committees (Fixed Income & Currencies, Listed Products & Exchanges)
  • Global Buy-Side Committee
  • Global Member Services Committee
  • Regional Committees (Americas, Asia Pacific, EMEA, Japan)

For a current list of FPL Member firms, visit http://www.fixtrading.org/member-firms/.

For a current list of active FPL Working Groups, visit http://www.fixtrading.org/working-groups/.

Links to Product and Regional Committees’ web pages are at http://www.fixtrading.org/committees/.

Introduction

The Financial Information Exchange (FIX®) Protocol is a message standard developed to facilitate the electronic exchange of information related to securities transactions. It is intended for use between trading partners wishing to automate communications.

The message protocol, as defined, will support a variety of business functions. FIX was originally defined for use in supporting US domestic equity trading with message traffic flowing directly between principals. As the protocol evolved, a number of fields were added to support cross-border trading, derivatives, fixed income, and other products. Similarly, the protocol was expanded to allow third parties to participate in the delivery of messages between trading partners. As subsequent versions of FIX are released, it is expected that functionality will continue to expand.

The FIX Family of Standards addresses the different needs of the application, encoding and session level. Whilst there is basically a single standard called FIX Latest for the application level defining business related data content, FIX offers a number of choices for the encoding of messages as well as for the session level, i.e. the technical interaction between counterparties to deliver data. There is a second standard for the application level called FIXatdl which is an XML based standard to specify the user interface components for algorithmic trading.

Specifications for the encoding (a.k.a. “syntax”) and the session level are called Technical Standards and have their own name and version together with their own documentation. FIX also supports industry standards such as Google Protocol Buffers (GPB) for encoding and Advanced Message Queuing Protocol (AMQP) for the session protocol. This document is only about FIX Latest, i.e. the application level.

The following table shows a comprehensive list of the FIX Family of Standards followed by a diagram of the FIX Technical Standard Stack:

FIX Family of Standards
StandardAcronymLayerDescription
FIX LatestFIXLatestApplicationThe most current version of FIX that supports multiple asset classes and a wide range of trading life cycle business processes. It includes all FIX Extension Packs.
FIX Algorithmic Trading Definition LanguageFIXatdlApplicationXML based standard to specify the user interface components for algorithmic trading.
FIX tag=valuetagvalueEncodingOriginal FIX encoding and the most widely used one. A simple ASCII string format.
FIX Markup LanguageFIXMLEncodingXML encoding used within FIX. FIXML is widely adopted for derivatives post trade clearing and settlement globally. FIXML is also used for reporting.
FIX Adapted for STreamingFASTEncodingProtocol designed to reduce bandwidth use and latency for market data dissemination.
Simple Binary EncodingSBEEncodingHigh performance binary encoding in use within the industry for market data dissemination as well as for transactional workflows.
Encoding FIX using Google Protocol BuffersGPBEncodingFIX encoding using industry standard protocol GPB. Often used within companies as part of internal messaging.
Encoding FIX using Javascript Object NotationJSONEncodingFIX encoding using industry standard protocol JSON. Intended for both internal processing and the use of FIX application messages within web based applications and APIs.
Encoding FIX using Abstract Syntax NotationASN.1EncodingFIX encoding using industry standard protocol ASN.1. ISO standard encoding system that includes multiple encodings itself (BER, OER, PER, XER).
FIX Session ProtocolFIX.4.2SessionFIX session protocol with FIX.4.2 session profile for application version FIX 4.2.
FIX Session ProtocolFIX4SessionFIX session protocol with FIX4 session profile for application version FIX 4.4.
FIX Session Protocol (a.k.a. “FIX Transport”)FIXTSessionFIX session protocol with FIXT session profile for multiple application versions. Application version independent session protocol introduced with FIX 5.0.
FIX Session Protocol (a.k.a. “Lightweight FIXT”)LFIXTSessionFIX session protocol with FIXT session profile for single application version. It is a restriction of the FIXT session profile.
FIX Performance Session ProtocolFIXPSessionHigh performance session protocol for point-to-point and multicast that supports multiple modes of operation (recoverable, unsequenced, idempotent).
FIX Simple Open Framing HeaderSOFHSessionSimple and primitive message framing header that communicates two pieces of information, the length of a message and the encoding type of that message.
FIX-over-TLSFIXSSessionStandard to secure FIX sessions using the industry standard Transport Layer Security (TLS) protocol.

 

Organization of specification

The FIX Latest Specification is organized into multiple areas (a.k.a. “sections”), with each area covering specific categories followed by an appendix with detailed component and message layouts. The titles for areas other than the introduction are directly linked to the appropriate websites as part of the FIX Online Specification.

Message and Component Definitions

All areas contain definitions of FIX components and application messages. Components are sets of related data fields grouped together and are referenced by the component name in messages that they are used in. FIX components are organized as follows:

  • Global Components – are components commonly used by many messages defined across all areas of the FIX specification. These are the most commonly used components. Their definitions are found here.
  • Common Components – are section-specific components, i.e. these are components commonly used only by the FIX messages found in that area or section (e.g. pre-trade, trade, post-trade sections). Their definitions are found at the end of the appendix of the area-specific documentation.
  • Specific Components – are message category specific components, i.e. these are components that are used only by the FIX messages in a specific message category in a given area (e.g. Securities Reference Data message category). Their definitions are found in the appendix of the area-specific documentation in their respective message category.
  • Messages are described as part of the category description. Additionally, the detailed message layouts are found in the appendix of the area-specific documentation in their respective message category.
  • Messages are comprised of required, optional and conditionally required (fields which are required based on the presence or value of other fields) fields. Systems should be designed to operate when only the required and conditionally required fields are present.
  • Messages and components may have nested fields and components as part of repeating groups. The tag number (name) of a nested field (component) is prefixed with an arrow “→”.

Extension Pack Management

Extension Packs are the building blocks of FIX Latest and represent specific functional proposals that have been presented to and approved by the GTC. Extension Packs are applied to the repository in a cumulative manner, i.e. the latest Extension Pack always includes all previous Extension Packs. Extension Packs management will be conducted as follows:

  1. Extension Packs will be assigned a unique, sequential number at the point they are approved by the GTC.
  2. Extension Packs are applied to the most recent version of the repository and may be inclusive of prior Extension Packs.
  3. At the point an Extension Pack has been applied, the updated repository, schema, and message tables will be publicly available.
  4. When implementing a specific Extension Pack, ApplExtID(1156) may be used to specify the Extension Pack identifier, i.e. its number.
  5. Users of an Extension Pack do not need to implement it in its entirety and do not need to implement other Extension Packs present in the repository. Rules of engagement need to be bilaterally agreed on to define the supported subset of FIX Latest.

List of Extension Packs

The following list contains all extension packs published after the release of FIX Version 5.0 Service Pack 2. The “size” information is intended to give an orientation as to the impact of an EP. This is primarily driven by the amount of new messages, fields and values but may also be due to business relevance.

FIX Extension Packs released since FIX 5.0 SP2
EPTitleSizeEnhancement Summary
EP098FillsGrp Yield ExtensionXSYield information for partial fills conveyed with the FillsGrp component.
EP099Matching InstructionsSNew component to convey one or more instructions to allow or deny matching based on tags and values.
EP100FX Spot and Forward Swaps MatchingMAdditional types of contingency orders, triggering instructions, price types for FX, duration of order exposure.
New component to convey various types of limit amounts, e.g. credit limits.
EP101Canadian Market Regulation FeedMAdditional types of cross orders, order categories, execution instructions, restatement reasons, account types, regulatory timestamps, instrument attributes, trade types.
EP102Margin RequirementsLNew messages to convey margin requirements and related inquiries.
EP103Large Options Positions ReportingMNew repeating group RelatedInstrumentGrp to convey one or more securities related to the main instrument of the message, e.g. a hedging instrument.
Support for covered short quantities, additional position types, additional party roles, party address information, (foreign) tax ID as new source for party identifiers.
EP104IIROC Market Regulation FeedMSupport for market maker participation in a security, identification of opening trades, unsolicited order cancellations due to a trade price violation or due to a cross imbalance.
EP105Parties Reference DataXXLNew messages and components to support the request for and the distribution of reference data for parties, accounts and risk limits. Addition of qualifiers for party roles to add more granularities to selected roles.
Inline component reference enhancement for the FIXML Technical Standard.
EP106Market Data ExtensionsLNew messages to support mass status information for securities, specifically options. Additional market data entry types for market order quantities (bid and offer).
EP107OTC Trading and Clearing ExtensionsMSet of extensions to support OTC trading and clearing with a focus on the processes used in trade submission, clearing and valuation of OTC and off-exchange trades. New repeating group SecurityClassificationGrp to support classification of products.
EP108New PartyIDSource values for AustraliaXXSAustralian Company Number and Australian Registered Body Number.
EP109Contingent PriceXXSRisk adjusted price used to calculate variation margin on a position.
EP110Long HoldingsXXSLong holdings as additional type of position transaction
EP111Submission of SLEDSXSAlternate price for clearing if it differs from execution price.
EP112Market Center TransparencyXXSAdditional party roles for (related) reporting market centers and away markets.
EP113Trading System identificationXSSupport for identification of FIX engine and application system during logon.
Note: This extension only applies to the FIX Session Layer.
EP114Security Definition and TradeSubTypeXSReasons for the rejection of security definitions, new unit of measure for Climate Reserve Tonnes, new trade sub-type for auctions.
EP115Order Handling ExtensionsXSAddition of exchange destination information to execution notifications and cancel requests/rejects. Initial display quantity of reserve orders.
EP116Message Throttle ParametersLSupport for throttle mechanisms that provide a method of slowing down messages, rejecting messages or disconnecting sessions above a certain rate of messages.
EP117Account Summary ReportingMReport with margin, settlement, collateral and pay/collect data for each clearing member level account type.
EP118Clearinghouse Allocation WorkflowsLAutomation of Average Pricing mechanisms, support for clearing give-ups and reversals under different allocation models (1:1, 1:n) and process models (2-party, 3-party, 4-party).
EP119Instrument Definition and Trade Prices for CDSSSupport for uniform security definitions and price specifications of Credit Default Swaps (CDS), in particular for the OTC clearing process.
EP120SEC Short Sale RestrictionsXXSInstrument attribute to indicate restrictions applicable to short selling of a security.
EP121SEC Short Sale Exemption Reason CodeXSAbility to convey information regarding the reason for an exemption to short selling.
EP122Unit of MeasureSGeneralization of units of measure for currencies and a few additional units, e.g. index points.
EP123Short Sale Minimum PriceXSSupport for Short Sale Minimum Price (SSMP), including pegging of orders to SSMP.
EP124LogonXSMessage recovery, e.g. detection of mismatching sequence numbers at logon.
Note: This extension only applies to the FIX Session Layer.
EP125Order and Quote HandlingSMapping of orders and quotes to market data entries. Bid/offer quote identifiers.
EP126Tradeable QuotesMTotal bid and offer sizes (quote entry versus quote modification model). Initially tradeable quotes. Quote status “traded (and removed)”.
EP127Specific Lot AllocationSAbility to transmit instructions identifying specific-lots for trade allocations.
EP128Risk limitsXLRisk limit definitions, utilization monitoring and granular risk limit actions.
EP129EntitlementsXLNew messages and components to support the request for and the distribution of entitlement reference data for parties.
EP130Pre-TradeXSAdditional reference data information for trading sessions of exchanges. Standard identification of test and dummy instruments, e.g. for business continuity testing.
EP131Order HandlingLMultiple extensions in the area of single leg, multileg and cross order handling to cover the requirements of equity options trading in the US.
EP132US Tri-Party Repo Task ForceMMessage flows for staged orders and voiced trades; post-allocation messaging with clearing agent and investor. Support for event periods and variance of traded quantity.
EP133FIA Execution Source CodeXSFIA execution source codes as additional order handling instructions. Support in allocation messages.
EP134TradeXSPrice and notional value checks. Generic reject text in order/quote messages.
EP135OATS for NMS StocksSSupport for the expansion of OATS Rules to all NMS stocks (SR-FINRA-2010-044).
EP136Post-TradeXSSupport for regulatory reporting in Hong Kong, e.g. one party reporting.
EP137Environment and Electrical Units of MeasureXSUnits of measure for environmental offsets and credits as well as for various electrical units beyond just MWh. Delivery times as additional events.
EP138Securities Reference DataSNew securities reference data used to define or describe derivatives, e.g. notice dates, tick rules in spreads, negative settlement / strike price indicator.
EP139Originating MarketXXSInverse of an away market.
EP140Large Trader Reporting for Commodities SwapsLSupport for CFTC rules for large trader reporting of physical commodity swaps and swaptions (76 FR 43851).
EP141Trade ReportingXLSupport for various business processes supported by CCPs in Europe and US, for example trade splitting, trade netting, trade price conditions. Harmonization of trade reporting capabilities across execution, allocation, trade capture and position reports.
EP142Related Trades and PositionsLStandard general mechanism for trades to identify related trades or related positions and positions to identify related trades.
EP143Quote AcknowledgementsMNew message QuoteAck(35=CW) as response to a quote submission or cancellation.
EP144Quote extensionsSIdentifiers for bid and offer side. Support for price and notional value checks.
EP145Instrument XML DefinitionsXSNew components to convey an XML definition of an instrument leg or underlying instrument.
EP146Parties Reference Data TransactionsXLNew messages to support transactions on parties reference data, including entitlements.
EP147Large Trader Reporting for Commodities Swaps IIXXSSeparate unit of measure fields for settlement prices.
EP148Position Maintenance ReportXXSSource of request for the dissemination of PositionMaintenanceReport(35=AM) messages.
EP149Order Reject ReasonXXSAdditional order reject reason related to risk management thresholds.
EP150Trade Match ReportLNew message TradeMatchReport(35=DC) for the submission of complex match events from an exchange to a clearing house in a single message.
EP151Position Quantity TypesXXSAdditional position quantity types related to exercises and assignments.
EP152Energy Units of MeasureXXSAdditional units of measure (metric volume, heat energy) for energy trading.
EP153Position Maintenance ReportXXSChange PosMaintStatus(722) and PositionQty component from required to optional.
EP154Weight Units of MeasureXXSAdditional units of measure (gross tons, kilograms).
EP155Customer Gross Margin ReportingXXSAdditional party roles for new account types (margin, collateral asset) and party sub ID types for PartyRole(452) = 24 (Customer Account) and 38 (Position Account).
EP156Legal Entity Identifier ISO 17442XXSAdditional PartyIDSource(447) for LEI codes.
EP157LSOC ReportingXSSupport for the Legally Segregated Operationally Commingled (LSOC) Model (haircut indicator and guarantee fund for customer accounts).
EP158Security ID SourceXXSBloomberg Open Symbology (BBGID) as additional source for security identifiers.
EP159Multi-Dealer Quote Contribution and NegotiationSSupport for timer concepts in fixed income trading of cash bonds. Support of multi-dealer quote environments.
EP160Security ListSSupport for Risk Based Haircut (RBH) methodology to compute capital charges.
EP161CFTC Part 43 & 45 Reporting – Credits and RatesXXLSupport for Dodd-Frank Act’s 17 CFR Part 43 & 45 to report all swap transactions to Swap Data Repositories (SDRs) and SDRs to disseminate real-time information on swap transactions to the public.1
EP162CFTC Part 39 ReportingMEnhancements to the AccountSummaryReport(35=CQ) and position management messages to meet CFTC Part 39 end of day reporting requirements.
EP163Market Model Typology CoverageMSupport for the MMT standard developed by exchanges, MTF’s, market data vendors and trade reporting venues as a means of standardizing post-trade data reporting.
EP164Short SellingXSEnhancements in the context of amendments approved by the Canadian securities regulators to the Universal Market Integrity Rules (UMIR) regarding short sales.
EP165CDS Trade Netting, and Credit & SuccessionXSSupport for swap terminations as well as credit and succession events.
EP166Stop Order TypesXXSSupport for SEC rule SR-FINRA-2012-026 relating to the handling of stop and stop limit orders.
EP167AttachmentGrpSSupport for attachment of files in some binary format (PDFs, TIFFs, Microsoft Word, etc.) to FIX message, e.g. a TradeCaptureReport(35=AE) message to report bespoke deals.
EP168Spread Based Trading NegotiationXSSupport for negotiation methods and workups in fixed income trading.
EP169CFTC Part 43 & 45 Reporting – Commodity SwapsXXLSupport for Dodd-Frank Act’s 17 CFR Part 43 & 45 to report all swap transactions to Swap Data Repositories (SDRs) and SDRs to disseminate real-time information on swap transactions to the public.1
EP170Equity Post-trade AllocationsXSAdditional reasons to reject allocations and confirmations; gross trade amount at the allocation level; mixed order capacity in confirmations.
EP171Pre-Trade Credit Limit CheckXLSupport for pre-trade clearing certainty for cleared swap transactions through all combinations of trade parties (FIA/ISDA Joint Working Group).
EP172Post-Trade Credit Limit CheckXSSupport for credit limit checks that occur post-trade.
EP173Parties Reference DataMEnhancement of entitlements activities between the banks (Dealers) and D2C (Dealer to Customers) execution venues.
EP174Benchmark Price TypesXXSSupport for interest rate price type and market data requests for benchmark data.
EP175Mid-Market Mark & Unique Swap IdentifierSEnhancement to provide counterparties with pre-trade mid-market marks in the context of swaps transactions that are not cleared through a clearinghouse.
Addition of the RegulatoryTradeIDGrp component to the ExecutionReport(35=8) message.
EP176Regulatory Transaction Type and Block TradeXSSupport for the regulatory mandate or rule that a transaction complies with.
EP177CFTC Part 43 & 45 Gap – AddendumXSMinor enhancements to distinguish notional off-facility swaps and block swap trades executed on-facility and to add more clearing requirement exceptions.1
EP178Batch HeaderXSEnhancement of the FIXML batch header to distinguish snapshot files from files with incremental updates.
Note: This extension only applies to the FIXML encoding.
EP179European Trade ReportingLSupport for European Market Infrastructure Regulation (EMIR), requiring clearinghouses, dealers and trade participants to report all derivative transactions to Trade Repositories (TRs).
Addition of party role qualifier concept.
EP180SEF Credit LimitsSSupport for credit hubs, auto acceptance and limit amount transparency.
EP181Regulatory Trade IdentifiersXSSupport for trades that must be assigned to more than one identifier.
EP182Prime Broker Credit AdministrationSAdditional filter criteria for programmatical management of trading activity.
EP183Parties Reference DataSSupport for deferred entitlement and more granular entitlement definitions. Support for attachments in the Email(35=C) message, e.g. to convey disclaimers.
EP184Quote Model Type & Quote QualifierMAdditional quote model (quote modification, i.e. new quote does not replace existing one), e.g. to support reserve quotes.
EP185German HFT ActSSupport of regulatory requirements from German High Frequency Trading Act.
EP186Flagging of Automated OTC TradesXSSupport of MMT Automated Trade Indicator.
EP187CFTC Part 43 & 45 Reporting – Foreign ExchangeXLSupport for Dodd-Frank Act’s 17 CFR Part 43 & 45 to report all swap transactions to Swap Data Repositories (SDRs) and SDRs to disseminate real-time information on swap transactions to the public.1
EP188Application LayerLOptimizations for the application layer to support high performance interfaces.
Addition of a generic identifier (OrderRequestID(2422))for order handling messages.
EP189TransfersLTransfer of customers’ positions from a defaulting clearing firm to the appropriate target clearing firm.
EP190Market DataMVarious minor enhancements of the market data messages.
EP191Market Data StatisticsXLStandardization of value added market data, especially historical data.
EP192Regulatory Trade ReportingLEnhancements related to collateral deposit management, reporting of collateral information, clearing and reporting of packaged swaps, linkage of identifiers and credit approval status of post-clearing allocation.
EP193Regulatory Trade Reporting Phase 2SEnhancements related to collateral management, regulatory reporting to trade repositories, allocation of bunched FX trades.
EP194Pre-Trade IndicationXSSupport for relative valuation metrics and indication of a bid/ask pricing spread to a specified benchmark in the context of cash bond trading.
EP195Reference DataLVarious extensions to the standard FIX reference data messages for parties, entitlements, risk limits, securities and market structures.
EP196Equity Post-Trade – Part 2SEnhancement of the clearing submission workflow and additional granularity for fees.
EP197Collateral ManagementXSSupport for multi-party collateral pledge.
EP198Indicative ExecutionXSSupport for executions that arise from a match against orders or quotes requiring a confirmation, also referred to as conditional orders.
EP199Position IdentifierMSupport for a unique position identifier and additional position transaction types.
EP200Day Count Convention DescriptionXXSHarmonization of the FIX naming and description of day count methods with the ISDA 2006 definitions.
EP201Trade Capture and Market DataMSupport for voice-brokered trades and multilateral compression in trade reporting. Support for option strategies in market data distribution.
EP202Bloomberg SecurityIDSourceXXSChange source name Bloomberg Open Symbology (BBGID) to OMG Financial Instrument Global Identifier (FIGI) security identifier.
EP203CFTC PositionReportXSEnhance the ability to identify the payer and receiver of swap payment streams and bullet payments.
EP204CommissionDataGrp ComponentMSupport for multiple instances of commission with different types in a single message.
EP205FINRA Retail Order IdentificationXXSAdditional values for CustOrderCapacity(582) related to the tick size pilot program.
EP206Timestamp DatatypesMIncrease timestamp resolution to support ESMA requirements for MiFID II. Note: This extension only applies to the tagvalue and FIXML encodings. Binary encodings natively support explicit precision information (time units).
EP207Price TypesXXSSpecific price type for spreads in addition to existing generic type for any spread-based pricing method.
EP208CFTC Parts 43 & 45 Reporting – Equities SwapsXXLSupport for Dodd-Frank Act’s 17 CFR Parts 43 & 45 to report all swap transactions to Swap Data Repositories (SDRs) and SDRs to disseminate real-time information on swap transactions to the public.1
EP209MSRB and FINRA TRACE ReportingXSEnhancements for trade reporting to cover exemptions and trade price adjustments.
EP210Trade at Intermarket Sweep Order (TAISO) PriceXXSExecution instruction to trade the order at a reference price, e.g. intermarket sweep order price.
EP211Trade CaptureXSSupport for trade compression and self-match prevention
EP212Trade Handling InstructionXXSSupport for a trade reporting by a single but third-party relative to the trade.
EP213Party Role QualifierXXSSupport for a change of party or account associated with a business entity.
EP214Party Risk LimitsXSSupport for unsolicited publication of risk limit reports, risk limit status and additional risk limit types.
EP215Equity Post Trade – Part 3XSIntroduction of a trade confirmation identifier and ability to affirm confirmation messages.
EP216Market Model Typology v3 SupportMSupport for version 3 of the MMT standard (post-trade transparency).
EP217Trade CaptureSSupport for the reporting of complex account structures and Trade at Settlement (TAS) / Trade at Marker (TAM) spread prices.
EP218Self Match PreventionSExtend self-match prevention to order handling messages (trade area).
EP219Market Maker QualifierXXSSupport distinction of single versus multiple market makers for a given security.
EP220Security Identifier SourceXXSSupport for Fidessa Instrument Mnemonic (FIM) as source for security identifiers.
EP221OrderQtyData component presenceXXSRevisions to the presence attribute to remove inconsistencies.
EP222MiFID II and MiFIR Extensions Part 1LSupport for MiFID II and MiFIR.
EP223Order HandlingLVarious order handling extensions, including support for cross trade requests.
EP224Security DefinitionXSExplicit representation of eligibility for contrary instructions and in-the-money conditions for options.
EP225IOI Messaging to Support AFME/IA FrameworkSCommon taxonomy for defining IOIs in terms of their price, underlying liquidity and, for client natural IOIs, their temporal availability.
EP226Quote NegotiationXSAdditional quote qualifiers and use of PaymentGrp component in execution reports to support OTC derivatives.
EP227Trade ReportingSSupport for side-specific collateral of trades, new trade types and handling instructions.
EP228MiFID II and MiFIR Extensions Part 2MSupport for MiFID II and MiFIR.
EP229MiFID II and MiFIR Extensions Part 3MSupport for MiFID II and MiFIR.
EP230Price QualifiersMInformation on the composition of quote prices in the fixed income trading process.
EP231MIFID II RTS 27LEnhancement of value added market data for MiFID II.
EP232ESMA RTS 22 Transaction ReportingSSupport for additional personal data, order transmitters, and full instrument names.
EP233MiFID II Equity Post Trade Commission UnbundlingXSAdditional commission (sub)types to support payment for research (CSA and RPA).
EP234Allocations of Multileg Order/TradeXSIdentification of the leg of a multileg order or trade.
EP235ESMA RTS 2 and RTS 23 Reference DataLSupport for reporting of securities reference data under MiFID II.
EP236MiFID II RTS 28MEnhancement of value added market data for MiFID II.
EP237MiFID II and MiFIR Extensions Part 4MSupport for MiFID II and MiFIR.
EP238ESMA RTS 2 Segmentation Criteria and Extensions to Option Type and Swap SubtypeMSupport for liquidity assessment, LIS and SSTI thresholds required by ESMA.
EP239Allocation Instruction Alert RequestSSupport for group allocations and concept of Notional Value Average Price (NVAP).
EP240Average Pricing and MarkupSEnhancements to support trade submission and give-up by clients of a Central Counterparty (CCP) clearing house.
EP241Average PricingSEnhancements to assist trade give-up by clients of a Central Counterparty (CCP) clearing house.
EP242UMTF SymbologyXXSSupport new security identifier scheme UMTF (Uniform Multilateral Trading Facility).
EP243Unit of Measure and Trade Sub TypeXXSSupport heat rates for energy commodity trades and Trade At Cash Open (TACO) trading.
EP244India NSE PAN IDXXSSupport India permanent account number (PAN) as additional source for party identifiers.
EP245Automatic Claim HandlingXSEnhance allocation handling instructions for clearing members to cover give-up to oneself.
EP246ConfirmationMSupport third-party facility providing the confirmation matching function between the dealer and the investment manager.
EP247FX Trade AggregationMSupport for trade aggregation, e.g. for FX trading between buy-side institutions and sell-side FX banks
EP248FDID (Firm Designated Identifier)XXSUnique identifier for each trading account required by US SEC Rule 613 (CAT NMS Plan)
EP249Post Post-trade Confirmation PaymentsXLSupport for for reconciliation and agreement of cash movement activities between an Investment Manager and its Broker.
EP250Share Trading ObligationXXSSupport for differences in UK share trading obligations due to Brexit.
EP251Recording consent to facilitate tradesXXSExplicit consent for client facilitation activities required by the Hong Kong SFC (Securities and Futures Commission).
EP252Liquidity IndicatorXXSAdditional liquidity indicators for neutrality and for orders requiring a confirmation.
EP253CAT/FIX MappingMSupport for data reporting required by the CAT (Consolidated Audit Trail) NMS Plan.
EP254EU SFTR ReportingXLSupport for EU Securities Financing Transactions (SFT) Reporting (SFTR regulations).
EP255STO ExemptionXXSSupport for exemptions from share trading obligations on the order level.
EP256IIROC Client IdentificationSSupport for IIROC Rules Notice 19-0071 – Amendments Respecting Client Identifiers.
EP257Targeted Trade AdvertisementsXSSupport to target or block firms from trade advertisements.
EP258Bilateral Repo Trade and Post-TradeSSupport for trade and post-trade workflows for bilateral repo transactions.

FIX Protocol datatypes

FIX supports a number of different ASCII and binary encodings. This section only describes the definitions and value spaces of datatypes. They are shared among all FIX message encodings. The value space of a datatype is defined using the vocabulary of ISO/IEC 11404:2007 Information technology – General-Purpose Datatypes (GPD). The mapping of datatypes to a wire format, i.e. their lexical space (a.k.a. “syntax”), depends on the chosen encoding and is defined in the encoding’s respective Technical Standard specification. See the Introduction for a list of FIX encodings.

Note that some of the binary encodings (e.g. SBE) allow the usage of a more efficient value space as long as its values are a subset of the given datatype. For example, String fields may be limited to whole numbers in case of entity identifiers by using an int datatype instead. An int field, however, must never be changed to a String field as this would allow additional values not covered by the value space of the datatype int.

Datatype definitions and value spaces

Datatype definition and value spaces
DatatypeDefinitionValue space
(ISO/IEC 11404:2007)
intInteger number.integer
TagNumA field’s tag number.ordinal
SeqNumA message sequence number.ordinal
NumInGroupThe number of entries in a repeating group.size
DayOfMonthDay number within a month (values 1 to 31)integer range 1..31
floatAll float fields must accommodate up to fifteen significant digits. The number of decimal places used should be a factor of business/market needs and mutual agreement between counterparties.real
QtyEither 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).Scaled

radix=10

PriceA price. Note the number of decimal places may vary. For certain asset classes prices may be negative values. For example, prices for options strategies can be negative under certain market conditions.Scaled

radix=10

PriceOffsetA 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.Scaled

radix=10

AmtTypically representing a Price times a Qty.Scaled

radix=10

PercentageA percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary.real
charA single character. All char fields are case sensitive (i.e. m != M).character

repertoire=8859-1 (Latin-1)2

BooleanBoolean.boolean
StringText. All String fields are case sensitive (i.e., “morstatt” != “Morstatt”).characterstring

repertoire=8859-1 (Latin-1)3

MultipleCharValue4Set of character codes.set element=character

repertoire=8859-1 (Latin-1)5

MultipleStringValue6Set of string codes.set element=character string

repertoire=8859-1 (Latin-1)7

CountryExternal code set ISO 3166-1:2013 Codes for the representation of names of countries and their subdivisions – Part 1: Country codes.array element=character
index-lowerbound=1
index-upperbound=2
CurrencyExternal code set ISO 4217:2015 Codes for the representation of currencies and funds.array element=character
index-lowerbound=1
index-upperbound=3
ExchangeExternal code set ISO 10383:2012 Securities and related financial instruments – Codes for exchanges and market identification (MIC).array element=character
index-lowerbound=1
index-upperbound=4
MonthYearMonth and year of instrument maturity or expiration.characterstring
UTCTimestampUTC date/time.time

time-unit=millisecond or up to picosecond by bilateral agreement

UTCTimeOnlyUTC time of day.time

time-unit=millisecond or up to picosecond by bilateral agreement

UTCDateOnlyUTC date.time

time-unit=day

LocalMktDateLocal date.time

time-unit=day

TZTimeOnlyTime of day with timezonetime

time-unit=millisecond or up to picosecond by bilateral agreement

TZTimestampDate/time with timezone.time

time-unit=millisecond or up to picosecond by bilateral agreement

Length8Length of a data field in octets.size
data9Opaque data or variable-length string.A union of two datatypes:
octetstring and characterstring

repertoire=(value encoded using the encoding specified in the MessageEncoding(347) field)

TenorTime duration composed of a time unit (day, week, month, year) and a quantity in that time unit.characterstring

Dx = tenor expression for “days”, e.g. “D5”, where “x” is any integer > 0

Mx = tenor expression for “months”, e.g. “M3”, where “x” is any integer > 0

Wx = tenor expression for “weeks”, e.g. “W13”, where “x” is any integer > 0

Yx = tenor expression for “years”, e.g. “Y1”, where “x” is any integer > 0

Reserved100PlusValues 100 and above are reserved for bilaterally agreed upon user defined enumerations.integer range
minInclusive=100
Reserved1000PlusValues 1000 and above are reserved for bilaterally agreed upon user defined enumerations.integer range
minInclusive=1000
Reserved4000PlusValues 4000 and above are reserved for bilaterally agreed upon user defined enumerations.integer range
minInclusive=4000
XMLDataXML document.characterstring

repertoire=(value of XML encoding declaration)

LanguageExternal code set ISO 639-1:2002 Codes for the representation of names of languages – Part 1: Alpha-2 code.array element=character
index-lowerbound=1
index-upperbound=2
LocalMktTimeTime local to a market center.time

time-unit=second

UTC and leap seconds

Note that UTC includes corrections for leap seconds, which are inserted to account for slowing of the rotation of the earth. Leap second insertion is declared by the International Earth Rotation Service (IERS) and has, since 1972, only occurred on the night of December 31 or June 30. The IERS considers March 31 and September 30 as secondary dates for leap second insertion but has never utilized these dates. During a leap second insertion, a UTCTimestamp field in tagvalue encoding may read “19981231-23:59:59”, “19981231-23:59:60”, “19990101-00:00:00” (see http://tycho.usno.navy.mil/leapsec.html).

Global Components

Introduction

Global components are components that are used in two or more business areas, e.g. pre-trade and trade. With the objective of re-using components rather than creating new ones, existing components may become global due to a new FIX Extension Pack. This section not only shows the global components but also those that are currently common only within a single business area and conceptually identical to a global component.

The following sections are grouped by entities, e.g. instruments, parties, etc. The descriptions for the components are provided by component names’ alphabetical order within their group. In addition to the descriptive text, a given component is visualized with a diagram whenever it has one or more nested components. Only the first level of nesting is shown and “…” indicates more deeply nested components. The descriptions of the nested components of the first (or previous) level then contain a diagram with the next level of components nested within it.

Global Components for Securities

Some of the global components for an instrument (Instrument), its legs (InstrumentLeg), and its underlying instrument (UnderlyingInstrument) are conceptually identical. The descriptions for these conceptually identical global components are only provided once at the instrument level unless it is a component that is only present at the leg or underlying instrument level. The following table lists such global components whereby the links for all components go to the description of the instrument level component. Additional links at the end of the description go to the component layout.

Global Components for Securities
Instrument ComponentInstrument Leg ComponentUnderlying Instrument Component
AdditionalTermBondRefGrpLegAdditionalTermBondRefGrpUnderlyingAdditionalTermBondRefGrp
AdditionalTermGrpLegAdditionalTermGrpUnderlyingAdditionalTermGrp
AssetAttributeGrpLegAssetAttributeGrpUnderlyingAssetAttributeGrp
BusinessCenterGrpLegBusinessCenterGrpUnderlyingBusinessCenterGrp
CashSettlDateLegCashSettlDateUnderlyingCashSettlDate
CashSettlDateBusinessCenterGrpLegCashSettlDateBusinessCenterGrpUnderlyingCashSettlDateBusinessCenterGrp
CashSettlDealerGrpLegCashSettlDealerGrpUnderlyingCashSettlDealerGrp
CashSettlTermGrpLegCashSettlTermGrpUnderlyingCashSettlTermGrp
ComplexEventAveragingObservationGrpLegComplexEventAveragingObservationGrpUnderlyingComplexEventAveragingObservationGrp
ComplexEventCreditEventGrpLegComplexEventCreditEventGrpUnderlyingComplexEventCreditEventGrp
ComplexEventCreditEventQualifierGrpLegComplexEventCreditEventQualifierGrpUnderlyingComplexEventCreditEventQualifierGrp
ComplexEventCreditEventSourceGrpLegComplexEventCreditEventSourceGrpUnderlyingComplexEventCreditEventSourceGrp
ComplexEventDateBusinessCenterGrpLegComplexEventDateBusinessCenterGrpUnderlyingComplexEventDateBusinessCenterGrp
ComplexEventDatesLegComplexEventDatesUnderlyingComplexEventDates
ComplexEventPeriodDateGrpLegComplexEventPeriodDateGrpUnderlyingComplexEventPeriodDateGrp
ComplexEventPeriodGrpLegComplexEventPeriodGrpUnderlyingComplexEventPeriodGrp
ComplexEventRateSourceGrpLegComplexEventRateSourceGrpUnderlyingComplexEventRateSourceGrp
ComplexEventRelativeDateLegComplexEventRelativeDateUnderlyingComplexEventRelativeDate
ComplexEventsLegComplexEventsUnderlyingComplexEvents
ComplexEventScheduleGrpLegComplexEventScheduleGrpUnderlyingComplexEventScheduleGrp
ComplexEventTimesLegComplexEventTimesUnderlyingComplexEventTimes
DateAdjustmentLegDateAdjustmentUnderlyingDateAdjustment
DeliveryScheduleGrpLegDeliveryScheduleGrpUnderlyingDeliveryScheduleGrp
DeliveryScheduleSettlDayGrpLegDeliveryScheduleSettlDayGrpUnderlyingDeliveryScheduleSettlDayGrp
DeliveryScheduleSettlTimeGrpLegDeliveryScheduleSettlTimeGrpUnderlyingDeliveryScheduleSettlTimeGrp
DeliveryStreamLegDeliveryStreamUnderlyingDeliveryStream
DividendAccrualFloatingRateLegDividendAccrualFloatingRateUnderlyingDividendAccrualFloatingRate
DividendAccrualPaymentDateLegDividendAccrualPaymentDateUnderlyingDividendAccrualPaymentDate
DividendAccrualPaymentDateBusinessCenterGrpLegDividendAccrualPaymentDateBusinessCenterGrpUnderlyingDividendAccrualPaymentDateBusinessCenterGrp
DividendConditionsLegDividendConditionsUnderlyingDividendConditions
DividendFXTriggerDateLegDividendFXTriggerDateUnderlyingDividendFXTriggerDate
DividendFXTriggerDateBusinessCenterGrpLegDividendFXTriggerDateBusinessCenterGrpUnderlyingDividendFXTriggerDateBusinessCenterGrp
N/AN/AUnderlyingDividendPaymentGrp
N/AN/AUnderlyingDividendPayout
DividendPeriodBusinessCenterGrpLegDividendPeriodBusinessCenterGrpUnderlyingDividendPeriodBusinessCenterGrp
DividendPeriodGrpLegDividendPeriodGrpUnderlyingDividendPeriodGrp
EvntGrpLegEvntGrpUnderlyingEvntGrp
ExtraordinaryEventGrpLegExtraordinaryEventGrpUnderlyingExtraordinaryEventGrp
InstrumentPartiesLegInstrumentPartiesUndlyInstrumentParties
InstrumentPtysSubGrpLegInstrumentPtysSubGrpUndlyInstrumentPtysSubGrp
MarketDisruptionLegMarketDisruptionUnderlyingMarketDisruption
MarketDisruptionEventGrpLegMarketDisruptionEventGrpUnderlyingMarketDisruptionEventGrp
MarketDisruptionFallbackGrpLegMarketDisruptionFallbackGrpUnderlyingMarketDisruptionFallbackGrp
MarketDisruptionFallbackReferencePriceGrpLegMarketDisruptionFallbackReferencePriceGrpUnderlyingMarketDisruptionFallbackReferencePriceGrp
OptionExerciseLegOptionExerciseUnderlyingOptionExercise
OptionExerciseBusinessCenterGrpLegOptionExerciseBusinessCenterGrpUnderlyingOptionExerciseBusinessCenterGrp
OptionExerciseDatesLegOptionExerciseDatesUnderlyingOptionExerciseDates
OptionExerciseExpirationLegOptionExerciseExpirationUnderlyingOptionExerciseExpiration
OptionExerciseExpirationDateGrpLegOptionExerciseExpirationDateGrpUnderlyingOptionExerciseExpirationDateGrp
OptionExerciseExpirationDateBusinessCenterGrpLegOptionExerciseExpirationDateBusinessCenterGrpUnderlyingOptionExerciseExpirationDateBusinessCenterGrp
OptionExerciseMakeWholeProvisionLegOptionExerciseMakeWholeProvisionUnderlyingOptionExerciseMakeWholeProvision.
PaymentScheduleGrpLegPaymentScheduleGrpUnderlyingPaymentScheduleGrp
PaymentStreamLegPaymentStreamUnderlyingPaymentStream
PaymentStreamCompoundingDateGrpLegPaymentStreamCompoundingDateGrpUnderlyingPaymentStreamCompoundingDateGrp
PaymentStreamCompoundingDatesLegPaymentStreamCompoundingDatesUnderlyingPaymentStreamCompoundingDates
PaymentStreamCompoundingDatesBusinessCenterGrpLegPaymentStreamCompoundingDatesBusinessCenterGrpUnderlyingPaymentStreamCompoundingDatesBusinessCenterGrp
PaymentStreamCompoundingEndDateLegPaymentStreamCompoundingEndDateUnderlyingPaymentStreamCompoundingEndDate
PaymentStreamCompoundingFloatingRateLegPaymentStreamCompoundingFloatingRateUnderlyingPaymentStreamCompoundingFloatingRate
PaymentStreamCompoundingStartDateLegPaymentStreamCompoundingStartDateUnderlyingPaymentStreamCompoundingStartDate
PaymentStreamFinalPricePaymentDateLegPaymentStreamFinalPricePaymentDateUnderlyingPaymentStreamFinalPricePaymentDate
PaymentStreamFixingDateBusinessCenterGrpLegPaymentStreamFixingDateBusinessCenterGrpUnderlyingPaymentStreamFixingDateBusinessCenterGrp
PaymentStreamFixingDateGrpLegPaymentStreamFixingDateGrpUnderlyingPaymentStreamFixingDateGrp
PaymentStreamFloatingRateLegPaymentStreamFloatingRateUnderlyingPaymentStreamFloatingRate
PaymentStreamFormulaLegPaymentStreamFormulaUnderlyingPaymentStreamFormula
PaymentStreamFormulaImageLegPaymentStreamFormulaImageUnderlyingPaymentStreamFormulaImage
PaymentStreamFormulaMathGrpLegPaymentStreamFormulaMathGrpUnderlyingPaymentStreamFormulaMathGrp
PaymentStreamInitialFixingDateBusinessCenterGrpLegPaymentStreamInitialFixingDateBusinessCenterGrpUnderlyingPaymentStreamInitialFixingDateBusinessCenterGrp
PaymentStreamNonDeliverableFixingDateGrpLegPaymentStreamNonDeliverableFixingDateGrpUnderlyingPaymentStreamNonDeliverableFixingDateGrp
PaymentStreamNonDeliverableFixingDatesBusinessCenterGrpLegPaymentStreamNonDeliverableFixingDatesBusinessCenterGrpUnderlyingPaymentStreamNonDeliverableFixingDatesBusinessCenterGrp
PaymentStreamNonDeliverableSettlRateSourceLegPaymentStreamNonDeliverableSettlRateSourceUnderlyingPaymentStreamNonDeliverableSettlRateSource
PaymentStreamNonDeliverableSettlTermsLegPaymentStreamNonDeliverableSettlTermsUnderlyingPaymentStreamNonDeliverableSettlTerms
PaymentStreamPaymentDateBusinessCenterGrpLegPaymentStreamPaymentDateBusinessCenterGrpUnderlyingPaymentStreamPaymentDateBusinessCenterGrp
PaymentStreamPaymentDateGrpLegPaymentStreamPaymentDateGrpUnderlyingPaymentStreamPaymentDateGrp
PaymentStreamPaymentDatesLegPaymentStreamPaymentDatesUnderlyingPaymentStreamPaymentDates
PaymentStreamPricingBusinessCenterGrpLegPaymentStreamPricingBusinessCenterGrpUnderlyingPaymentStreamPricingBusinessCenterGrp
PaymentStreamPricingDateGrpLegPaymentStreamPricingDateGrpUnderlyingPaymentStreamPricingDateGrp
PaymentStreamPricingDayGrpLegPaymentStreamPricingDayGrpUnderlyingPaymentStreamPricingDayGrp
PaymentStreamResetDateBusinessCenterGrpLegPaymentStreamResetDateBusinessCenterGrpUnderlyingPaymentStreamResetDateBusinessCenterGrp
PaymentStreamResetDatesLegPaymentStreamResetDatesUnderlyingPaymentStreamResetDates
PaymentStubEndDateLegPaymentStubEndDateUnderlyingPaymentStubEndDate
PaymentStubEndDateBusinessCenterGrpLegPaymentStubEndDateBusinessCenterGrpUnderlyingPaymentStubEndDateBusinessCenterGrp
PaymentStubGrpLegPaymentStubGrpUnderlyingPaymentStubGrp
PaymentStubStartDateLegPaymentStubStartDateUnderlyingPaymentStubStartDate
PaymentStubStartDateBusinessCenterGrpLegPaymentStubStartDateBusinessCenterGrpUnderlyingPaymentStubStartDateBusinessCenterGrp
PhysicalSettlDeliverableObligationGrpLegPhysicalSettlDeliverableObligationGrpUnderlyingPhysicalSettlDeliverableObligationGrp
PhysicalSettlTermGrpLegPhysicalSettlTermGrpUnderlyingPhysicalSettlTermGrp
PricingDateBusinessCenterGrpLegPricingDateBusinessCenterGrpUnderlyingPricingDateBusinessCenterGrp
PricingDateTimeLegPricingDateTimeUnderlyingPricingDateTime
ProtectionTermGrpLegProtectionTermGrpUnderlyingProtectionTermGrp
ProtectionTermEventGrpLegProtectionTermEventGrpUnderlyingProtectionTermEventGrp
ProtectionTermEventNewsSourceGrpLegProtectionTermEventNewsSourceGrpUnderlyingProtectionTermEventNewsSourceGrp
ProtectionTermEventQualifierGrpLegProtectionTermEventQualifierGrpUnderlyingProtectionTermEventQualifierGrp
ProtectionTermObligationGrpLegProtectionTermObligationGrpUnderlyingProtectionTermObligationGrp
ProvisionGrpLegProvisionGrpUnderlyingProvisionGrp
ProvisionCashSettlPaymentDateBusinessCenterGrpLegProvisionCashSettlPaymentDateBusinessCenterGrpUnderlyingProvisionCashSettlPaymentDateBusinessCenterGrp
ProvisionCashSettlPaymentDatesLegProvisionCashSettlPaymentDatesUnderlyingProvisionCashSettlPaymentDates
ProvisionCashSettlPaymentFixedDateGrpLegProvisionCashSettlPaymentFixedDateGrpUnderlyingProvisionCashSettlPaymentFixedDateGrp
ProvisionCashSettlQuoteSourceLegProvisionCashSettlQuoteSourceUnderlyingProvisionCashSettlQuoteSource
ProvisionCashSettlValueDateBusinessCenterGrpLegProvisionCashSettlValueDateBusinessCenterGrpUnderlyingProvisionCashSettlValueDateBusinessCenterGrp
ProvisionCashSettlValueDatesLegProvisionCashSettlValueDatesUnderlyingProvisionCashSettlValueDates
ProvisionDateBusinessCenterGrpLegProvisionDateBusinessCenterGrpUnderlyingProvisionDateBusinessCenterGrp
ProvisionOptionExerciseBusinessCenterGrpLegProvisionOptionExerciseBusinessCenterGrpUnderlyingProvisionOptionExerciseBusinessCenterGrp
ProvisionOptionExerciseDatesLegProvisionOptionExerciseDatesUnderlyingProvisionOptionExerciseDates
ProvisionOptionExerciseFixedDateGrpLegProvisionOptionExerciseFixedDateGrpUnderlyingProvisionOptionExerciseFixedDateGrp
ProvisionOptionExpirationDateLegProvisionOptionExpirationDateUnderlyingProvisionOptionExpirationDate
ProvisionOptionExpirationDateBusinessCenterGrpLegProvisionOptionExpirationDateBusinessCenterGrpUnderlyingProvisionOptionExpirationDateBusinessCenterGrp
ProvisionOptionRelevantUnderlyingDateLegProvisionOptionRelevantUnderlyingDateUnderlyingProvisionOptionRelevantUnderlyingDate
ProvisionOptionRelevantUnderlyingDateBusinessCenterGrpLegProvisionOptionRelevantUnderlyingDateBusinessCenterGrpUnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenterGrp
ProvisionPartiesLegProvisionPartiesUnderlyingProvisionParties
ProvisionPtysSubGrpLegProvisionPtysSubGrpUnderlyingProvisionPtysSubGrp
N/AN/AUnderlyingRateSpreadSchedule
N/AN/AUnderlyingRateSpreadStepGrp
ReturnRateDateGrpLegReturnRateDateGrpUnderlyingReturnRateDateGrp
ReturnRateFXConversionGrpLegReturnRateFXConversionGrpUnderlyingReturnRateFXConversionGrp
ReturnRateGrpLegReturnRateGrpUnderlyingReturnRateGrp
ReturnRateInformationSourceGrpLegReturnRateInformationSourceGrpUnderlyingReturnRateInformationSourceGrp
ReturnRatePriceGrpLegReturnRatePriceGrpUnderlyingReturnRatePriceGrp
ReturnRateValuationDateBusinessCenterGrpLegReturnRateValuationDateBusinessCenterGrpUnderlyingReturnRateValuationDateBusinessCenterGrp
ReturnRateValuationDateGrpLegReturnRateValuationDateGrpUnderlyingReturnRateValuationDateGrp
SecAltIDGrpLegSecAltIDGrpUndSecAltIDGrp
SecondaryAssetGrpLegSecondaryAssetGrpUnderlyingSecondaryAssetGrp
SecurityXMLLegSecurityXMLUnderlyingSecurityXML
SettlMethodElectionDateLegSettlMethodElectionDateUnderlyingSettlMethodElectionDate
SettlMethodElectionDateBusinessCenterGrpLegSettlMethodElectionDateBusinessCenterGrpUnderlyingSettlMethodElectionDateBusinessCenterGrp
SettlRateDisruptionFallbackGrpLegSettlRateDisruptionFallbackGrpUnderlyingSettlRateDisruptionFallbackGrp
SettlRateFallbackRateSourceLegSettlRateFallbackRateSourceUnderlyingSettlRateFallbackRateSource
StreamAssetAttributeGrpLegStreamAssetAttributeGrpUnderlyingStreamAssetAttributeGrp
StreamCalculationPeriodDatesLegStreamCalculationPeriodDatesUnderlyingStreamCalculationPeriodDates
StreamCommodityLegStreamCommodityUnderlyingStreamCommodity
StreamCommodityAltIDGrpLegStreamCommodityAltIDGrpUnderlyingStreamCommodityAltIDGrp
StreamCommodityDataSourceGrpLegStreamCommodityDataSourceGrpUnderlyingStreamCommodityDataSourceGrp
StreamCommoditySettlBusinessCenterGrpLegStreamCommoditySettlBusinessCenterGrpUnderlyingStreamCommoditySettlBusinessCenterGrp
StreamCommoditySettlDayGrpLegStreamCommoditySettlDayGrpUnderlyingStreamCommoditySettlDayGrp
StreamCommoditySettlPeriodGrpLegStreamCommoditySettlPeriodGrpUnderlyingStreamCommoditySettlPeriodGrp
StreamCommoditySettlTimeGrpLegStreamCommoditySettlTimeGrpUnderlyingStreamCommoditySettlTimeGrp
StreamEffectiveBusinessCenterGrpLegStreamEffectiveDateBusinessCenterGrpUnderlyingStreamEffectiveDateBusinessCenterGrp
StreamEffectiveDateLegStreamEffectiveDateUnderlyingStreamEffectiveDate
StreamGrpLegStreamGrpUnderlyingStreamGrp
StreamTerminationDateLegStreamTerminationDateUnderlyingStreamTerminationDate
StreamTerminationDateBusinessCenterGrpLegStreamTerminationDateBusinessCenterGrpUnderlyingStreamTerminationDateBusinessCenterGrp

Additional contract terms

AdditionalTermBondRefGrp

This component is a repeating group that is part of the AdditionalTermGrp component and used to identify an underlying reference bond for a swap. The component layouts are available here: AdditionalTermBondRefGrp, LegAdditionalTermBondRefGrp, UnderlyingAdditionalTermBondRefGrp.

AdditionalTermGrp

This component is a repeating group that is part of the Instrument component and used to report additional contract terms. The component layouts are available here: AdditionalTermGrp, LegAdditionalTermGrp, UnderlyingAdditionalTermGrp.

Assets

AssetAttributeGrp

This component is a repeating group that is part of the Instrument component and is used to detail attributes of the instrument asset. The component layouts are available here: AssetAttributeGrp, LegAssetAttributeGrp, UnderlyingAssetAttributeGrp.

SecondaryAssetGrp

This component is a repeating group that is part of the Instrument component. It is used to specify secondary assets of a multi-asset swap. The component layouts are available here: SecondaryAssetGrp, LegSecondaryAssetGrp, UnderlyingSecondaryAssetGrp.

Cash Settlement Terms

This section describes global components related to cash settlement terms of an instrument. The components are listed in alphabetical order with the exception of the main (root) component.

Overview

CashSettlTermGrp

This component is a repeating group that is part of the Instrument component. It is used to report cash settlement terms referenced from underlying instruments.

Usage of CashSettlTermGrp must either include a known CashSettlAmount(40034) or provide the cash settlement term parameters needed to derive the cash settlement amount. CashSettlTermXID(40039) is provided for cross-referencing from an instance of the UnderlyingInstrument component through the UnderlyingSettlTermXIDRef(41315) field.

The component layouts are available here: CashSettlTermGrp, LegCashSettlTermGrp, UnderlyingCashSettlTermGrp.

CashSettlDate

This component is part of the CashSettlTermGrp component. It is used to report the cash settlement date defined in the settlement provision. The component layouts are available here: CashSettlDate, LegCashSettlDate, UnderlyingCashSettlDate.

CashSettlDateBusinessCenterGrp

This component is a repeating group that is part of the CashSettlDate component and conceptually identical to the BusinessCenterGrp component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: CashSettlDateBusinessCenterGrp, LegCashSettlDateBusinessCenterGrp, UnderlyingCashSettlDateBusinessCenterGrp.

CashSettlDealerGrp

This component is a repeating group that is part of the CashSettlTermGrp component. It is used to specify the dealers from whom price quotations for the reference obligation are obtained for the purpose of cash settlement valuation. The component layouts are available here: CashSettlDealerGrp, LegCashSettlDealerGrp, UnderlyingCashSettlDealerGrp.

Complex Events

This section describes global components related to complex events of an instrument. The components are listed in alphabetical order with the exception of the main (root) component.

Overview

ComplexEvents

This component is a repeating group that is part of the Instrument component. It allows specifying an unlimited number and types of advanced events, such as observation and pricing over the lifetime of an option, futures, commodities or equity swap contract. Use the EvntGrp to specify more straightforward events. The component layouts are available here: ComplexEvents, LegComplexEvents, UnderlyingComplexEvents.

ComplexEventAveragingObservationGrp

This component is a repeating group that is part of the ComplexEventPeriodGrp component. It is used for specifying the weight of each of the dated observations. The component layouts are available here: ComplexEventAveragingObservationGrp, LegComplexEventAveragingObservationGrp, UnderlyingComplexEventAveragingObservationGrp.

ComplexEventCreditEventGrp

This component is a repeating group that is part of the ComplexEvents component. It is used to report applicable option credit events. The component layouts are available here: ComplexEventCreditEventGrp, LegComplexEventCreditEventGrp, UnderlyingComplexEventCreditEventGrp.

ComplexEventCreditEventQualifierGrp

This component is a repeating group that is part of the ComplexEventCreditEventGrp component. It is used to specify qualifying attributes to an event. The component layouts are available here: ComplexEventCreditEventQualifierGrp, LegComplexEventCreditEventQualifierGrp, UnderlyingComplexEventCreditEventQualifierGrp.

ComplexEventCreditEventSourceGrp

This component is a repeating group that is part of the ComplexEvents component. It is used to specify the particular newspapers or electronic news services that may publish relevant information used in the determination of whether or not a credit event has occurred. The component layouts are available here: ComplexEventCreditEventSourceGrp, LegComplexEventCreditEventSourceGrp, UnderlyingComplexEventCreditEventSourceGrp.

ComplexEventDateBusinessCenterGrp

This component is a repeating group that is part of the ComplexEventRelativeDate component and conceptually identical to the BusinessCenterGrp component. It is used to specify the set of business centers whose calendars drive date adjustment. Used only to override the business centers defined in the DateAdjustment component in the Instrument component. The component layouts are available here: ComplexEventDateBusinessCenterGrp, LegComplexEventDateBusinessCenterGrp, UnderlyingComplexEventDateBusinessCenterGrp.

ComplexEventDates

This component is a repeating group that is part of the ComplexEvents component. It is used to constrain a complex event to a specific date range or time range. If specified the event is only effective on or within the specified dates and times. The component layouts are available here: ComplexEventDates, LegComplexEventDates, UnderlyingComplexEventDates.

ComplexEventPeriodDateGrp

This component is a repeating group that is part of the ComplexEventPeriodGrp component. It is used for specifying fixed period dates and times for complex or exotic options, such as an Asian or Strike Schedule option or trigger dates for a Barrier or Knock option. The component layouts are available here: ComplexEventPeriodDateGrp, LegComplexEventPeriodDateGrp, UnderlyingComplexEventPeriodDateGrp.

ComplexEventPeriodGrp

This component is a repeating group that is part of the ComplexEvents component. It is used for specifying the periods or schedules for Asian, Barrier, Knock or Strike Schedule option features. The component layouts are available here: ComplexEventPeriodGrp, LegComplexEventPeriodGrp, UnderlyingComplexEventPeriodGrp.

ComplexEventRateSourceGrp

This component is a repeating group that is part of the ComplexEvents component. It is used for specifying primary and secondary rate sources. The component layouts are available here: ComplexEventRateSourceGrp, LegComplexEventRateSourceGrp, UnderlyingComplexEventRateSourceGrp.

ComplexEventRelativeDate

This component is part of the ComplexEvents component. It is used for specifying the event date and time for an FX or Calendar Spread option or the payout date for a Barrier or Knock option. The component layouts are available here: ComplexEventRelativeDate, LegComplexEventRelativeDate, UnderlyingComplexEventRelativeDate.

ComplexEventScheduleGrp

This component is a repeating group that is part of the ComplexEventPeriodGrp component. It is used for specifying a periodic schedule for an Asian, Barrier or Strike Schedule option feature. The component layouts are available here: ComplexEventScheduleGrp, LegComplexEventScheduleGrp, UnderlyingComplexEventScheduleGrp.

ComplexEventTimes

This component is a repeating group that is part of the ComplexEventDates component. It is used to further qualify any dates placed on the event and is used to specify time ranges for which a complex event is effective. It is always provided within the context of start and end dates. The time range is assumed to be in effect for the entirety of the date or date range specified. The component layouts are available here: ComplexEventTimes, LegComplexEventTimes, UnderlyingComplexEventTimes.

Date adjustments

The following table links directly to the layout of all related components available to specify the set of business centers whose calendars drive the date adjustment. They may be used to override the information from BusinessCenterGrp defined in this section.

Business Center Components
Instrument ComponentInstrument Leg ComponentUnderlying Instrument Component
CashSettlDateBusinessCenterGrpLegCashSettlDateBusinessCenterGrpUnderlyingCashSettlDateBusinessCenterGrp
ComplexEventDateBusinessCenterGrpLegComplexEventDateBusinessCenterGrpUnderlyingComplexEventDateBusinessCenterGrp
DividendAccrualPaymentDateBusinessCenterGrpLegDividendAccrualPaymentDateBusinessCenterGrpUnderlyingDividendAccrualPaymentDateBusinessCenterGrp
DividendFXTriggerDateBusinessCenterGrpLegDividendFXTriggerDateBusinessCenterGrpUnderlyingDividendFXTriggerDateBusinessCenterGrp
DividendPeriodBusinessCenterGrpLegDividendPeriodBusinessCenterGrpUnderlyingDividendPeriodBusinessCenterGrp
OptionExerciseBusinessCenterGrpLegOptionExerciseBusinessCenterGrpUnderlyingOptionExerciseBusinessCenterGrp
OptionExerciseExpirationDateBusinessCenterGrpLegOptionExerciseExpirationDateBusinessCenterGrpUnderlyingOptionExerciseExpirationDateBusinessCenterGrp
PaymentBusinessCenterGrpN/AN/A
PaymentStreamCompoundingDatesBusinessCenterGrpLegPaymentStreamCompoundingDatesBusinessCenterGrpUnderlyingPaymentStreamCompoundingDatesBusinessCenterGrp
PaymentStreamFixingDateBusinessCenterGrpLegPaymentStreamFixingDateBusinessCenterGrpUnderlyingPaymentStreamFixingDateBusinessCenterGrp
PaymentStreamInitialFixingDateBusinessCenterGrpLegPaymentStreamInitialFixingDateBusinessCenterGrpUnderlyingPaymentStreamInitialFixingDateBusinessCenterGrp
PaymentStreamNonDeliverableFixingDatesBusinessCenterGrpLegPaymentStreamNonDeliverableFixingDatesBusinessCenterGrpUnderlyingPaymentStreamNonDeliverableFixingDatesBusinessCenterGrp
PaymentStreamPaymentDateBusinessCenterGrpLegPaymentStreamPaymentDateBusinessCenterGrpUnderlyingPaymentStreamPaymentDateBusinessCenterGrp
PaymentStreamPricingBusinessCenterGrpLegPaymentStreamPricingBusinessCenterGrpUnderlyingPaymentStreamPricingBusinessCenterGrp
PaymentStreamResetDateBusinessCenterGrpLegPaymentStreamResetDateBusinessCenterGrpUnderlyingPaymentStreamResetDateBusinessCenterGrp
PaymentStubEndDateBusinessCenterGrpLegPaymentStubEndDateBusinessCenterGrpUnderlyingPaymentStubEndDateBusinessCenterGrp
PaymentStubStartDateBusinessCenterGrpLegPaymentStubStartDateBusinessCenterGrpUnderlyingPaymentStubStartDateBusinessCenterGrp
PricingDateBusinessCenterGrpLegPricingDateBusinessCenterGrpUnderlyingPricingDateBusinessCenterGrp
ProvisionCashSettlPaymentDateBusinessCenterGrpLegProvisionCashSettlPaymentDateBusinessCenterGrpUnderlyingProvisionCashSettlPaymentDateBusinessCenterGrp
ProvisionCashSettlValueDateBusinessCenterGrpLegProvisionCashSettlValueDateBusinessCenterGrpUnderlyingProvisionCashSettlValueDateBusinessCenterGrp
ProvisionDateBusinessCenterGrpLegProvisionDateBusinessCenterGrpUnderlyingProvisionDateBusinessCenterGrp
ProvisionOptionExerciseBusinessCenterGrpLegProvisionOptionExerciseBusinessCenterGrpUnderlyingProvisionOptionExerciseBusinessCenterGrp
ProvisionOptionExpirationDateBusinessCenterGrpLegProvisionOptionExpirationDateBusinessCenterGrpUnderlyingProvisionOptionExpirationDateBusinessCenterGrp
ProvisionOptionRelevantUnderlyingDateBusinessCenterGrpLegProvisionOptionRelevantUnderlyingDateBusinessCenterGrpUnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenterGrp
ReturnRateValuationDateBusinessCenterGrpLegReturnRateValuationDateBusinessCenterGrpUnderlyingReturnRateValuationDateBusinessCenterGrp
SettlMethodElectionDateBusinessCenterGrpLegSettlMethodElectionDateBusinessCenterGrpUnderlyingSettlMethodElectionDateBusinessCenterGrp
StreamCommoditySettlBusinessCenterGrpLegStreamCommoditySettlBusinessCenterGrpUnderlyingStreamCommoditySettlBusinessCenterGrp
StreamEffectiveBusinessCenterGrpLegStreamEffectiveDateBusinessCenterGrpUnderlyingStreamEffectiveDateBusinessCenterGrp
StreamTerminationDateBusinessCenterGrpLegStreamTerminationDateBusinessCenterGrpUnderlyingStreamTerminationDateBusinessCenterGrp

BusinessCenterGrp

This component is a repeating group that is part of the DateAdjustment component. It is the primary component used to specify the set of business centers whose calendars drive the date adjustment. The business centers defined here apply to all adjustable dates in the instrument unless specifically overridden in the respective specified components elsewhere. The component layouts are available here: BusinessCenterGrp, LegBusinessCenterGrp, UnderlyingBusinessCenterGrp.

DateAdjustment

This component is part of the Instrument component. It is the primary component used to specify date adjustment parameters and rules. The date adjustments specified here applies to all adjustable dates for the instrument, unless specifically overridden in the respective specified components elsewhere. The component layouts are available here: DateAdjustment, LegDateAdjustment, UnderlyingDateAdjustment.

Events

EvntGrp

This component is a repeating group that is part of the Instrument component and used to specify straightforward events associated with the instrument. Examples include put and call dates for bonds and options; first exercise date for options; inventory and delivery dates for commodities; start, end and roll dates for swaps. Use the ComplexEvents component for more advanced dates and events such as option, futures, commodities and equity swap observation and pricing events.

The EvntGrp component contains three different methods to express a “time” associated with the event using the EventDate(866) and EventTime(1145) pair of fields or the EventTimeUnit(1827) and EventTimePeriod(1826) pair of fields or EventMonthYear(2340).

The EventDate(866), and optional EventTime(1145), may be used to specify an exact date and optional time for the event. The EventTimeUnit(1827) and EventTimePeriod(1826) may be used to express a time period associated with the event, e.g. 3-month, 4-years, 2-weeks. The EventMonthYear(2340), and optional EventTime(1145), may be used to express the event as a month of year, with optional day of month or week of month.

Either EventDate(866) or EventMonthYear(2340), and the optional EventTime(1145), must be specified or EventTimeUnit(1827) and EventTimePeriod(1826) must be specified.

The EventMonthYear(2340) may be used instead of EventDate(866) when month-year, with optional day of month or week of month, is required instead of a date.

The component layouts are available here: EvntGrp, LegEvntGrp, UnderlyingEvntGrp.

ExtraordinaryEventGrp

This component is a repeating group that is part of the Instrument component. It is used to report extraordinary and disruptive events applicable to the reference entity that affects the contract. The component layouts are available here: ExtraordinaryEventGrp, LegExtraordinaryEventGrp, UnderlyingExtraordinaryEventGrp.

InstrmtGrp

This component is a repeating group that allows one or more securities to be conveyed. The component layout is available here.

Instrument

This component is used as part of many messages as well as repeating groups and contains all the fields commonly used to describe a security or instrument. Typically, the data elements in this component block are considered the static data of a security, data that may be commonly found in a security master database. The Instrument component may be used to describe any asset type supported by FIX. The component layout is available here.

Instrument Extensions

InstrumentExtension

This component identifies additional security attributes that are more commonly found for fixed income securities. The component layout is available here.

AttrbGrp

This component is a repeating group that is part of InstrumentExtension component and contains additional attributes of a security related to fixed income. The component layout is available here.

FloatingRateIndex

This component is part of the InstrumentExtension component and may be used to identify the rate index for a floating rate coupon.

In the context of MiFID II RTS 23 Annex I Table 3 reference data, this is used as statement of the attributes of the index/benchmark of a floating rate security. The component layout is available here.

IndexRollMonthGrp

This component is a repeating group that is part of the InstrumentExtension component and may be used to specify multiple roll months in a given year for an index.

In the context of MiFID II RTS 2 Annex IV Table 2 reference data, this is used to specify all months when the roll is expected as established by the CDS index provider for a given year – repeated for each month in the roll. The component layout is available here.

ReferenceDataDateGrp

This component is a repeating group that is part of the InstrumentExtension component and may be used to carry the different dates (and timestamps) related to the reference data entry.

In the context of MiFID II RTS 23 Annex I Table 3 reference data, this is used as statement of the attributes of the index/benchmark of a floating rate security. The component layout is available here.

Instrument Identifier

RelatedInstrumentGrp

This component is a repeating group that is at the same hierarchical level as the Instrument component, describing relationships and linkages between the security, leg security and underlying security entries. If all instances of the UnderlyingInstrument component in the message are true underliers of the Instrument component, then the RelatedInstrumentGrp component is not needed. If any instance of the UnderlyingInstrument component has a different relationship, e.g. underlier of an instance of the InstrumentLeg component, stream, equity equivalent or nearest exchange-traded contract or if there are multiple instances of the InstrumentLeg component, then an entry for every relationship should be included in this component. When the RelatedInstrumentGrp component appears within a repeating group, each entry only applies to the Instrument component at the same hierarchical level.

In messages such as Email(35=C) and News(35=B), where the Instrument and the InstrumentLeg component are within their repeating groups, the RelatedInstrumentGrp component may be used to link legs and underliers to their appropriate base security.

For simple relationships such as identifying a “hedges for” security, the entry simply defines the symbol or identifier of an externally known security. For relationships within strategies and swaps, the entry refers up through one of the “related to” fields to the security, leg security, underlying security, stream or dividend period with which the related security has correlation. It then points down through RelatedSecurityID(1650) or RelatedSymbol(1649) to an UnderlyingInstrument instance in the current message defining the related security. The nature of the relationship is given in RelatedInstrumentType(1648).

The component layout is available here.

SecAltIDGrp

This component is a repeating group that is part of the Instrument component. It is used to provide alternate identifiers for a given security. The component layouts are available here: SecAltIDGrp, LegSecAltIDGrp, UndSecAltIDGrp.

SecurityXML

This component is used to provide a definition in an XML format for the instrument. The component layouts are available here: SecurityXML, LegSecurityXML, UnderlyingSecurityXML.

Instrument Parties

InstrumentParties

This component is a repeating group that is conceptually identical to the Parties component. It is used to identify the party(-ies) that are part of the instrument’s reference data (e.g. the issuer) within the context of the instrument component it appears in. It is not permitted to use this component to contain transactional information (i.e. parties in the transaction). Only a specified subset of party roles will be supported within the InstrumentParties component. The component layouts are available here: InstrumentParties, LegInstrumentParties, UndlyInstrumentParties.

InstrumentPtysSubGrp

This component is a repeating group that is part of the InstrumentParties component and conceptually identical to the PtysSubGrp component. It is used to provide additional or supplemental information related to the instance of the party identifier it is attached to. The component layouts are available here: InstrumentPtysSubGrp, LegInstrumentPtysSubGrp, UndlyInstrumentPtysSubGrp.

Market Disruptions

MarketDisruption

This component is part of the Instrument component and used to specify the market disruption provisions of the swap. The component layouts are available here: MarketDisruption, LegMarketDisruption, UnderlyingMarketDisruption.

MarketDisruptionEventGrp

This component is a repeating group that is part of the MarketDisruption component and used to specify the market disruption events. The component layouts are available here: MarketDisruptionEventGrp, LegMarketDisruptionEventGrp, UnderlyingMarketDisruptionEventGrp.

MarketDisruptionFallbackGrp

This component is a repeating group that is part of the MarketDisruption component and used to specify the market disruption fallback provisions. The component layouts are available here: MarketDisruptionFallbackGrp, LegMarketDisruptionFallbackGrp, UnderlyingMarketDisruptionFallbackGrp.

MarketDisruptionFallbackReferencePriceGrp

This component is a repeating group that is part of the MarketDisruption component and used to specify fallback reference price and underlying security provisions. The component layouts are available here: MarketDisruptionFallbackReferencePriceGrp, LegMarketDisruptionFallbackReferencePriceGrp, UnderlyingMarketDisruptionFallbackReferencePriceGrp.

Option Exercise Provisions

This section describes global components related to option exercise provisions of an instrument. The components are listed in alphabetical order with the exception of the main (root) component.

Overview

OptionExercise

This component is part of the Instrument component and used to specify option exercise provisions. Its purpose is to identify the opportunities and conditions for exercise, e.g. the schedule of dates on which exercise is allowed. The embedded OptionExerciseExpiration component is used to terminate the opportunity for exercise. The component layouts are available here: OptionExercise, LegOptionExercise, UnderlyingOptionExercise.

OptionExerciseBusinessCenterGrp

This component is a repeating group that is part of the OptionExerciseDates component. It is used to specify the set of business centers whose calendars drive date adjustment. Used only to override the business centers defined in the DateAdjustment component in the Instrument component. The component layouts are available here: OptionExerciseBusinessCenterGrp, LegOptionExerciseBusinessCenterGrp, UnderlyingOptionExerciseBusinessCenterGrp.

OptionExerciseDateGrp

This component is a repeating group that is part of the OptionExerciseDates component. It is used to specify fixed dates for exercise. The component layouts are available here: OptionExerciseDateGrp, LegOptionExerciseDateGrp, UnderlyingOptionExerciseDateGrp.

OptionExerciseDates

This component is part of the OptionExercise component. It is used to specify option exercise dates. The component layouts are available here: OptionExerciseDates, LegOptionExerciseDates, UnderlyingOptionExerciseDates.

OptionExerciseExpiration

This component is part of the OptionExercise component. It is used to specify option exercise expiration dates and times. The purpose of OptionExerciseDates is to identify the scheduled opportunities for exercise. The OptionExerciseExpiration component identifies the end of the schedule. The component layouts are available here: OptionExerciseExpiration, LegOptionExerciseExpiration, UnderlyingOptionExerciseExpiration.

OptionExerciseExpirationDateGrp

This component is a repeating group that is part of the OptionExerciseExpiration component. It is used to specify fixed dates for expiration. The component layouts are available here: OptionExerciseExpirationDateGrp, LegOptionExerciseExpirationDateGrp, UnderlyingOptionExerciseExpirationDateGrp.

OptionExerciseExpirationDateBusinessCenterGrp

This component is a repeating group that is part of the OptionExerciseExpiration component. It is used to specify the set of business centers whose calendars drive date adjustment. Used only to override the business centers defined in the DateAdjustment component in the Instrument component. The component layouts are available here: OptionExerciseExpirationDateBusinessCenterGrp, LegOptionExerciseExpirationDateBusinessCenterGrp, UnderlyingOptionExerciseExpirationDateBusinessCenterGrp.

OptionExerciseMakeWholeProvision

This component is part of the OptionExercise component. It is used to specify the set of rules of maintaining balance when an option is exercised. A “make whole” provision seeks to penalize the option buyer, i.e. make the seller “whole”, if the buyer exercises the option prior to the make whole date, e.g. the early call date of a convertible bond. The component layouts are available here: OptionExerciseMakeWholeProvision, LegOptionExerciseMakeWholeProvision, UnderlyingOptionExerciseMakeWholeProvision.

SettlMethodElectionDate

This component is part of the OptionExercise component. It is used to report the settlement method election date. The component layouts are available here: SettlMethodElectionDate, LegSettlMethodElectionDate, UnderlyingSettlMethodElectionDate.

SettlMethodElectionDateBusinessCenterGrp

This component is a repeating group that is part of the SettlMethodElectionDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component in the Instrument component. The component layouts are available here: SettlMethodElectionDateBusinessCenterGrp, LegSettlMethodElectionDateBusinessCenterGrp, UnderlyingSettlMethodElectionDateBusinessCenterGrp.

Physical Settlement Terms

PhysicalSettlDeliverableObligationGrp

This component is a repeating group that is part of the PhysicalSettlTermGrp component. It is used to report CDS physical settlement delivery obligations. The component layouts are available here: PhysicalSettlDeliverableObligationGrp, LegPhysicalSettlDeliverableObligationGrp, UnderlyingPhysicalSettlDeliverableObligationGrp.

PhysicalSettlTermGrp

This component is a repeating group that is part of the Instrument component. It is used to report physical settlement terms referenced from underlying instruments. PhysicalSettlTermXID(40208) is provided for cross-referencing from an instance of the UnderlyingInstrument component through the UnderlyingSettlTermXIDRef(41315) field. The component layouts are available here: PhysicalSettlTermGrp, LegPhysicalSettlTermGrp, UnderlyingPhysicalSettlTermGrp.

Pricing Dates and Times

PricingDateBusinessCenterGrp

This component is a repeating group that is part of the PricingDateTime component. It is used to specify the set of business centers whose calendars drive date adjustment. Used only to override the business centers defined in the DateAdjustment component in the Instrument component. The component layouts are available here: PricingDateBusinessCenterGrp, LegPricingDateBusinessCenterGrp, UnderlyingPricingDateBusinessCenterGrp.

PricingDateTime

This component is part of the Instrument component. It is used to specify an adjusted or unadjusted pricing or fixing date and optionally the time, e.g. for a commodity or FX forward trade. The component layouts are available here: PricingDateTime, LegPricingDateTime, UnderlyingPricingDateTime.

Protection Terms

ProtectionTermGrp

This component is a repeating group that is part of the Instrument component. It is used to report protection term details referenced from underlying instruments. ProtectionTermXID(40190) is provided for cross-referencing from an instance of the UnderlyingInstrument component through the UnderlyingProtectionXIDRef(41314) field. The component layouts are available here: ProtectionTermGrp, LegProtectionTermGrp, UnderlyingProtectionTermGrp.

ProtectionTermEventGrp

This component is a repeating group that is part of the ProtectionTermGrp component. It is used to report applicable credit events for a Credit Default Swap (CDS). The component layouts are available here: ProtectionTermEventGrp, LegProtectionTermEventGrp, UnderlyingProtectionTermEventGrp.

ProtectionTermEventNewsSourceGrp

This component is a repeating group that is part of the ProtectionTermGrp component. It is used to specify the particular newspapers or electronic news services and sources that may publish relevant information used in the determination of whether or not a credit event has occurred. The component layouts are available here: ProtectionTermEventNewsSourceGrp, LegProtectionTermEventNewsSourceGrp, UnderlyingProtectionTermEventNewsSourceGrp.

ProtectionTermEventQualifierGrp

This component is a repeating group that is part of the ProtectionTermEventGrp component. It is used to specify qualifying attributes to the event. The component layouts are available here: ProtectionTermEventQualifierGrp, LegProtectionTermEventQualifierGrp, UnderlyingProtectionTermEventQualifierGrp.

ProtectionTermObligationGrp

This component is a repeating group that is part of the ProtectionTermGrp component. It is used to report applicable CDS obligations. The component layouts are available here: ProtectionTermObligationGrp, LegProtectionTermObligationGrp, UnderlyingProtectionTermObligationGrp.

Provisions

This section describes global components related to additional terms, provisions and conditions associated with an instrument. The components are listed in alphabetical order with the exception of the main (root) component.

Overview

ProvisionGrp

This component is a repeating group that is part of the Instrument component. It is used to detail additional terms, provisions and conditions associated with the instrument. A swap may have one or more provisions defined. The component layouts are available here: ProvisionGrp, LegProvisionGrp, UnderlyingProvisionGrp.

ProvisionCashSettlPaymentDateBusinessCenterGrp

This component is a repeating group that is part of the ProvisionCashSettlPaymentDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ProvisionCashSettlPaymentDateBusinessCenterGrp, LegProvisionCashSettlPaymentDateBusinessCenterGrp, UnderlyingProvisionCashSettlPaymentDateBusinessCenterGrp.

ProvisionCashSettlPaymentDates

This component is part of the ProvisionGrp component. It is used to report the cash settlement payment dates associated with the provision type. The component layouts are available here: ProvisionCashSettlPaymentDates, LegProvisionCashSettlPaymentDates, UnderlyingProvisionCashSettlPaymentDates.

ProvisionCashSettlPaymentFixedDateGrp

This component is a repeating group that is part of the ProvisionCashSettlPaymentDates component. It is used to report fixed cash settlement payment dates associated with the provision. For the purpose of optimization, the ProvisionCashSettlPaymentDateType(40173) field may optionally be omitted after the first instance provided the instance(s) which immediately follow is(are) of the same date type. When the next instance requires a different date type from the prior instance, the ProvisionCashSettlPaymentDateType(40173) is required to specify the date type. The component layouts are available here: ProvisionCashSettlPaymentFixedDateGrp, LegProvisionCashSettlPaymentFixedDateGrp, UnderlyingProvisionCashSettlPaymentFixedDateGrp.

ProvisionCashSettlQuoteSource

This component is part of the ProvisionGrp component. It is used to specify the reference source for currency or rate quote for cash settlement purposes. The component layouts are available here: ProvisionCashSettlQuoteSource, LegProvisionCashSettlQuoteSource, UnderlyingProvisionCashSettlQuoteSource.

ProvisionCashSettlValueDateBusinessCenterGrp

This component is a repeating group that is part of the ProvisionCashSettlValueDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ProvisionCashSettlValueDateBusinessCenterGrp, LegProvisionCashSettlValueDateBusinessCenterGrp, UnderlyingProvisionCashSettlValueDateBusinessCenterGrp.

ProvisionCashSettlValueDates

This component is part of the ProvisionGrp component. It is used to report the cash settlement value date and time associated with the provision. The component layouts are available here: ProvisionCashSettlValueDates, LegProvisionCashSettlValueDates, UnderlyingProvisionCashSettlValueDates.

ProvisionDateBusinessCenterGrp

This component is a repeating group that is part of the ProvisionGrp component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ProvisionDateBusinessCenterGrp, LegProvisionDateBusinessCenterGrp, UnderlyingProvisionDateBusinessCenterGrp.

ProvisionOptionExerciseBusinessCenterGrp

This component is a repeating group that is part of the ProvisionOptionExerciseDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ProvisionOptionExerciseBusinessCenterGrp, LegProvisionOptionExerciseBusinessCenterGrp, UnderlyingProvisionOptionExerciseBusinessCenterGrp.

ProvisionOptionExerciseDates

This component is part of the ProvisionGrp component. It is used to report the option exercise dates and times defined in the provision. The component layouts are available here: ProvisionOptionExerciseDates, LegProvisionOptionExerciseDates, UnderlyingProvisionOptionExerciseDates.

ProvisionOptionExerciseFixedDateGrp

This component is a repeating group that is part of the ProvisionOptionExerciseDates component. It is used to report an array of unadjusted or adjusted fixed exercise dates. For the purpose of optimization, the ProvisionOptionExerciseFixedDateType(40144) field may optionally be omitted after the first instance provided the instance(s) which immediately follow is(are) of the same date type. When the next instance requires a different date type from the prior instance, the ProvisionOptionExerciseFixedDateType(40144) is required to specify the date type. The component layouts are available here: ProvisionOptionExerciseFixedDateGrp, LegProvisionOptionExerciseFixedDateGrp, UnderlyingProvisionOptionExerciseFixedDateGrp.

ProvisionOptionExpirationDate

This component is part of the ProvisionGrp component. It is used to report the option expiration date and times associated with the provision. The component layouts are available here: ProvisionOptionExpirationDate, LegProvisionOptionExpirationDate, UnderlyingProvisionOptionExpirationDate.

ProvisionOptionExpirationDateBusinessCenterGrp

This component is a repeating group that is part of the ProvisionOptionExpirationDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ProvisionOptionExpirationDateBusinessCenterGrp, LegProvisionOptionExpirationDateBusinessCenterGrp, UnderlyingProvisionOptionExpirationDateBusinessCenterGrp.

ProvisionOptionRelevantUnderlyingDate

This component is part of the ProvisionGrp component. It is used to report the option relevant underlying date associated with the provision. The component layouts are available here: ProvisionOptionRelevantUnderlyingDate, LegProvisionOptionRelevantUnderlyingDate, UnderlyingProvisionOptionRelevantUnderlyingDate.

ProvisionOptionRelevantUnderlyingDateBusinessCenterGrp

This component is a repeating group that is part of the ProvisionOptionExpirationDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ProvisionOptionRelevantUnderlyingDateBusinessCenterGrp, LegProvisionOptionRelevantUnderlyingDateBusinessCenterGrp, UnderlyingProvisionOptionRelevantUnderlyingDateBusinessCenterGrp.

ProvisionParties

This component is a repeating group that is part of the ProvisionGrp component and conceptually identical to the Parties component. It is used to report the parties identified in the contract provision. The fields ProvisionPartyID(40175), ProvisionPartyIDSource(40176) and ProvisionPartyIDRole(40177) are conditionally required when any one these fields is specified. The component layouts are available here: ProvisionParties, LegProvisionParties, UnderlyingProvisionParties.

ProvisionPtysSubGrp

This component is a repeating group that is part of the ProvisionParties component and conceptually identical to the PtysSubGrp component. It is used to provide additional or supplemental information related to the instance of the party identifier it is attached to. The component layouts are available here: ProvisionPtysSubGrp, LegProvisionPtysSubGrp, UnderlyingProvisionPtysSubGrp.

Streams

This section describes global components related to swap streams of an instrument. The components are listed in alphabetical order with the exception of the main (root) component.

Overview

StreamGrp

This component is a repeating group that is part of the Instrument component. It is used to detail the swap streams associated with the instrument.

A swap will ordinarily have one or two streams. Each one may contain a StreamDesc(40051) with a descriptive string such as “Float” or “Fixed”. However, the choice of description should have no effect on the stream’s purpose. StreamPaySide(40052) and StreamReceiveSide(40053) may be used to link the appropriate swap parties to their role in the stream. In pre-trade messages the side value (e.g. Side(54) field) of the request or order should be set to the same side value indicating the aggressor’s desired role. On fills and post-trade messages the executing firm takes the opposite side and indicates its role by setting StreamPaySide(40052) and StreamReceiveSide(40053) to the opposite side of the aggressor’s role.

The component layouts are available here: StreamGrp, LegStreamGrp, UnderlyingStreamGrp.

DeliveryScheduleGrp

This component is a repeating group that is part of the StreamGrp component. It is used to detail step schedules associated with a delivery stream. Note: Holiday schedule is standard for the country and time zone and need not be specified. The component layouts are available here: DeliveryScheduleGrp, LegDeliveryScheduleGrp, UnderlyingDeliveryScheduleGrp.

DeliveryScheduleSettlDayGrp

This component is a repeating group that is part of the DeliveryScheduleGrp component. It is used to detail commodity delivery days. The component layouts are available here: DeliveryScheduleSettlDayGrp, LegDeliveryScheduleSettlDayGrp, UnderlyingDeliveryScheduleSettlDayGrp.

DeliveryScheduleSettlTimeGrp

This component is a repeating group that is part of the DeliveryScheduleSettlDayGrp component. It is used to detail commodity delivery time periods. The component layouts are available here: DeliveryScheduleSettlTimeGrp, LegDeliveryScheduleSettlTimeGrp, UnderlyingDeliveryScheduleSettlTimeGrp.

DeliveryStream

This component is part of the StreamGrp component. It is used to optionally specify the attributes of a physical delivery stream in a swap. The component layouts are available here: DeliveryStream, LegDeliveryStream, UnderlyingDeliveryStream.

DividendAccrualFloatingRate

This component is part of the DividendConditions component. It is used to define the dividend accrual floating rate attributes of dividend payment conditions. The component layouts are available here: DividendAccrualFloatingRate, LegDividendAccrualFloatingRate, UnderlyingDividendAccrualFloatingRate.

DividendAccrualPaymentDate

This component is part of the DividendConditions component. It is used to report the dividend accrual payment date. The component layouts are available here: DividendAccrualPaymentDate, LegDividendAccrualPaymentDate, UnderlyingDividendAccrualPaymentDate.

DividendAccrualPaymentDateBusinessCenterGrp

This component is a repeating group that is part of the DividendAccrualPaymentDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: DividendAccrualPaymentDateBusinessCenterGrp, LegDividendAccrualPaymentDateBusinessCenterGrp, UnderlyingDividendAccrualPaymentDateBusinessCenterGrp.

DividendConditions

This component is part of the PaymentStreamFloatingRate component. It is used to specify the conditions’ valuations and dates governing the payment of dividends. The component layouts are available here: DividendConditions, LegDividendConditions, UnderlyingDividendConditions.

DividendFXTriggerDate

This component is part of the DividendConditions component. It is used to report the dividend date when a foreign exchange trade is triggered. The component layouts are available here: DividendFXTriggerDate, LegDividendFXTriggerDate, UnderlyingDividendFXTriggerDate.

DividendFXTriggerDateBusinessCenterGrp

This component is a repeating group that is part of the DividendFXTriggerDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: DividendFXTriggerDateBusinessCenterGrp, LegDividendFXTriggerDateBusinessCenterGrp, UnderlyingDividendFXTriggerDateBusinessCenterGrp.

DividendPeriodBusinessCenterGrp

This component is a repeating group that is part of the DividendPeriodGrp component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: DividendPeriodBusinessCenterGrp, LegDividendPeriodBusinessCenterGrp, UnderlyingDividendPeriodBusinessCenterGrp.

DividendPeriodGrp

This component is a repeating group that is part of the DividendConditions component. It is used to specify the valuation and payment dates of the dividend leg of a dividend swap. The component layouts are available here: DividendPeriodGrp, LegDividendPeriodGrp, UnderlyingDividendPeriodGrp.

PaymentScheduleGrp

This component is a repeating group that is part of the StreamGrp component. It is used to specify notional and rate steps of the payment stream.

The Fixing Lag Interval (PaymentScheduleFixingLagPeriod(41176) and PaymentScheduleFixingLagUnit(41177)) and the First Observation Offset Duration (PaymentScheduleFixingFirstObservationOffsetPeriod(41178) and PaymentScheduleFixingFirstObservationOffsetUnit(41179)) are used together. If the First Observation Offset Duration is specified, the observation starts the Fixing Lag Interval prior to each calculation. If the First Observation Offset Duration is not specified, the observation starts immediately preceding each calculation.

The component layouts are available here: PaymentScheduleGrp, LegPaymentScheduleGrp, UnderlyingPaymentScheduleGrp.

PaymentStream

This component is part of the StreamGrp component. It is used to detail the attributes of a payment stream in a swap. The component layouts are available here: PaymentStream, LegPaymentStream, UnderlyingPaymentStream.

PaymentStreamCompoundingDateGrp

This component is a repeating group that is part of the PaymentStreamCompoundingDates component. It is used to specify predetermined compounding dates. The component layouts are available here: PaymentStreamCompoundingDateGrp, LegPaymentStreamCompoundingDateGrp, UnderlyingPaymentStreamCompoundingDateGrp.

PaymentStreamCompoundingDates

This component is part of the PaymentStream component. It is used to specify the compounding dates associated with the stream – either specific, relative or periodic dates. The component layouts are available here: PaymentStreamCompoundingDates, LegPaymentStreamCompoundingDates, UnderlyingPaymentStreamCompoundingDates.

PaymentStreamCompoundingDatesBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamCompoundingDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamCompoundingDatesBusinessCenterGrp, LegPaymentStreamCompoundingDatesBusinessCenterGrp, UnderlyingPaymentStreamCompoundingDatesBusinessCenterGrp.

PaymentStreamCompoundingEndDate

This component is part of the PaymentStreamCompoundingDates component. It is used to specify the end date for compounding. The component layouts are available here: PaymentStreamCompoundingEndDate, LegPaymentStreamCompoundingEndDate, UnderlyingPaymentStreamCompoundingEndDate.

PaymentStreamCompoundingFloatingRate

This component is part of the PaymentStream component. It is used to report the parameters for determining the compounding floating rate of the stream. The component layouts are available here: PaymentStreamCompoundingFloatingRate, LegPaymentStreamCompoundingFloatingRate, UnderlyingPaymentStreamCompoundingFloatingRate.

PaymentStreamCompoundingStartDate

This component is part of the PaymentStreamCompoundingDates component. It is used to specify the start date for compounding. The component layouts are available here: PaymentStreamCompoundingStartDate, LegPaymentStreamCompoundingStartDate, UnderlyingPaymentStreamCompoundingStartDate.

PaymentStreamFinalPricePaymentDate

This component is part of the PaymentStreamPaymentDates component. It is used to specify the final price payment date, e.g. for an equity return swap. The component layouts are available here: PaymentStreamFinalPricePaymentDate, LegPaymentStreamFinalPricePaymentDate, UnderlyingPaymentStreamFinalPricePaymentDate.

PaymentStreamFixingDateBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamResetDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamFixingDateBusinessCenterGrp, LegPaymentStreamFixingDateBusinessCenterGrp, UnderlyingPaymentStreamFixingDateBusinessCenterGrp.

PaymentStreamFixingDateGrp

This component is a repeating group that is part of the PaymentStreamResetDates component. It is used to specify predetermined fixing dates. The component layouts are available here: PaymentStreamFixingDateGrp, LegPaymentStreamFixingDateGrp, UnderlyingPaymentStreamFixingDateGrp.

PaymentStreamFloatingRate

This component is part of the PaymentStream component. It is used to report the floating rate attributes of the stream.

Note that if the floating rate index or the rate calculation goes negative for a calculation period and PaymentStreamNegativeRateTreatment(40807)=1 (Negative interest rate method) the Receiver pays the Payer the absolute floating rate, i.e. the Receiver pays the cash flow amount to the Payer. The Calculation Lag Interval (PaymentStreamCalculationLagPeriod(41209) and PaymentStreamCalculationLagUnit(41210)) and the First Observation Offset Duration (PaymentStreamFirstObservationOffsetPeriod(41211) and PaymentStreamFirstObservationOffsetUnit(41212)) are used together. If the First Observation Offset Duration is specified, the Fixing Lag Interval prior to each calculation starts with the observation. If the First Observation Offset Duration is not specified, the observation starts immediately before each calculation.

The component layouts are available here: PaymentStreamFloatingRate, LegPaymentStreamFloatingRate, UnderlyingPaymentStreamFloatingRate.

PaymentStreamFormula

This component is part of the PaymentStreamFloatingRate component. It is used to report the parameters for determining the floating rate of the stream, e.g. for equity swaps. The component layouts are available here: PaymentStreamFormula, LegPaymentStreamFormula, UnderlyingPaymentStreamFormula.

PaymentStreamFormulaImage

This component is part of the PaymentStreamFormula component. It is used to include a base64Binary-encoded image clip of the formula. The component layouts are available here: PaymentStreamFormulaImage, LegPaymentStreamFormulaImage, UnderlyingPaymentStreamFormulaImage.

PaymentStreamFormulaMathGrp

This component is a repeating group that is part of the PaymentStreamFormula component. It is used to specify the set of formulas, sub-formulas and descriptions from which the rate is derived. The component layouts are available here: PaymentStreamFormulaMathGrp, LegPaymentStreamFormulaMathGrp, UnderlyingPaymentStreamFormulaMathGrp.

PaymentStreamInitialFixingDateBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamResetDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamInitialFixingDateBusinessCenterGrp, LegPaymentStreamInitialFixingDateBusinessCenterGrp, UnderlyingPaymentStreamInitialFixingDateBusinessCenterGrp.

PaymentStreamNonDeliverableFixingDateGrp

This component is a repeating group that is part of the PaymentStreamNonDeliverableSettlTerms component. It is used to specify predetermined fixing dates.

For the purpose of optimization, the NonDeliverableFixingDateType(40827) field may optionally be omitted after the first instance provided the instance(s) which immediately follow is of the same date type. When the next instance requires a different date type from the prior instance, the NonDeliverableFixingDateType(40827) is required to specify the date type.

The component layouts are available here: PaymentStreamNonDeliverableFixingDateGrp, LegPaymentStreamNonDeliverableFixingDateGrp, UnderlyingPaymentStreamNonDeliverableFixingDateGrp.

PaymentStreamNonDeliverableFixingDatesBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamNonDeliverableSettlTerms component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamNonDeliverableFixingDatesBusinessCenterGrp, LegPaymentStreamNonDeliverableFixingDatesBusinessCenterGrp, UnderlyingPaymentStreamNonDeliverableFixingDatesBusinessCenterGrp.

PaymentStreamNonDeliverableSettlRateSource

This component is part of the PaymentStreamNonDeliverableSettlTerms component. It is used to specify the rate source if the payment currency is non-deliverable. The component layouts are available here: PaymentStreamNonDeliverableSettlRateSource, LegPaymentStreamNonDeliverableSettlRateSource, UnderlyingPaymentStreamNonDeliverableSettlRateSource.

PaymentStreamNonDeliverableSettlTerms

This component is part of the PaymentStream component. It is used to specify the non-deliverable currency settlement terms of the payment stream. The component layouts are available here: PaymentStreamNonDeliverableSettlTerms, LegPaymentStreamNonDeliverableSettlTerms, UnderlyingPaymentStreamNonDeliverableSettlTerms.

PaymentStreamPaymentDateBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamPaymentDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamPaymentDateBusinessCenterGrp, LegPaymentStreamPaymentDateBusinessCenterGrp, UnderlyingPaymentStreamPaymentDateBusinessCenterGrp.

PaymentStreamPaymentDateGrp

This component is a repeating group that is part of the PaymentStreamPaymentDates component. It is used to detail fixed dates for swap stream payments. The component layouts are available here: PaymentStreamPaymentDateGrp, LegPaymentStreamPaymentDateGrp, UnderlyingPaymentStreamPaymentDateGrp.

PaymentStreamPaymentDates

This component is part of the PaymentStream component. It is used to specify the payment dates of the stream.

For equity return swaps this component is used to specify the interim price payment dates and the PaymentStreamFinalPricePaymentDate component is used to specify the final price payment date.

The component layouts are available here: PaymentStreamPaymentDates, LegPaymentStreamPaymentDates, UnderlyingPaymentStreamPaymentDates.

PaymentStreamPricingBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamFloatingRate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamPricingBusinessCenterGrp, LegPaymentStreamPricingBusinessCenterGrp, UnderlyingPaymentStreamPricingBusinessCenterGrp.

PaymentStreamPricingDateGrp

This component is a repeating group that is part of the PaymentStreamFloatingRate component. It is used to detail fixed pricing dates. The component layouts are available here: PaymentStreamPricingDateGrp, LegPaymentStreamPricingDateGrp, UnderlyingPaymentStreamPricingDateGrp.

PaymentStreamPricingDayGrp

This component is a repeating group that is part of the PaymentStreamFloatingRate component. It is used to detail periodic pricing days.

If the fixing days are not specified, then every day of the week will be a fixing day.

The component layouts are available here: PaymentStreamPricingDayGrp, LegPaymentStreamPricingDayGrp, UnderlyingPaymentStreamPricingDayGrp.

PaymentStreamResetDateBusinessCenterGrp

This component is a repeating group that is part of the PaymentStreamResetDates component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStreamResetDateBusinessCenterGrp, LegPaymentStreamResetDateBusinessCenterGrp, UnderlyingPaymentStreamResetDateBusinessCenterGrp.

PaymentStreamResetDates

This component is part of the PaymentStream component. It is used to specify the floating rate reset dates of the stream. The component layouts are available here: PaymentStreamResetDates, LegPaymentStreamResetDates, UnderlyingPaymentStreamResetDates.

PaymentStubEndDate

This component is part of the PaymentStubGrp component. It is used to specify the end date of the payment stub. The component layouts are available here: PaymentStubEndDate, LegPaymentStubEndDate, UnderlyingPaymentStubEndDate.

PaymentStubEndDateBusinessCenterGrp

This component is a repeating group that is part of the PaymentStubEndDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStubEndDateBusinessCenterGrp, LegPaymentStubEndDateBusinessCenterGrp, UnderlyingPaymentStubEndDateBusinessCenterGrp.

PaymentStubGrp

This component is a repeating group that is part of the StreamGrp component. It is used to specify front (initial) and back (final) stubs of the payment stream. The component layouts are available here: PaymentStubGrp, LegPaymentStubGrp, UnderlyingPaymentStubGrp.

PaymentStubStartDate

This component is part of the PaymentStubGrp component. It is used to specify the start date of the payment stub. The component layouts are available here: PaymentStubStartDate, LegPaymentStubStartDate, UnderlyingPaymentStubStartDate.

PaymentStubStartDateBusinessCenterGrp

This component is a repeating group that is part of the PaymentStubStartDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: PaymentStubStartDateBusinessCenterGrp, LegPaymentStubStartDateBusinessCenterGrp, UnderlyingPaymentStubStartDateBusinessCenterGrp.

ReturnRateDateGrp

This component is a repeating group that is part of the ReturnRateGrp component. It is used to specify the equity and dividend valuation dates for an equity return swap payment stream. The component layouts are available here: ReturnRateDateGrp, LegReturnRateDateGrp, UnderlyingReturnRateDateGrp.

ReturnRateFXConversionGrp

This component is a repeating group that is part of the ReturnRateGrp component. It is used to specify the FX conversion rates for an equity return swap payment stream. The component layouts are available here: ReturnRateFXConversionGrp, LegReturnRateFXConversionGrp, UnderlyingReturnRateFXConversionGrp.

ReturnRateGrp

This component is a repeating group that is part of the PaymentStreamFloatingRate component. It is used to specify the multiple return rates for an equity return swap payment stream. The component layouts are available here: ReturnRateGrp, LegReturnRateGrp, UnderlyingReturnRateGrp.

ReturnRateInformationSourceGrp

This component is a repeating group that is part of the ReturnRateGrp component. It is used to specify the information sources for equity prices and FX rates for an equity return swap payment stream. The component layouts are available here: ReturnRateInformationSourceGrp, LegReturnRateInformationSourceGrp, UnderlyingReturnRateInformationSourceGrp.

ReturnRatePriceGrp

This component is a repeating group that is part of the ReturnRateGrp component. It is used to specify the return rate prices for an equity return swap payment stream. The component layouts are available here: ReturnRatePriceGrp, LegReturnRatePriceGrp, UnderlyingReturnRatePriceGrp.

ReturnRateValuationDateBusinessCenterGrp

This component is a repeating group that is part of the ReturnRateDateGrp component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: ReturnRateValuationDateBusinessCenterGrp, LegReturnRateValuationDateBusinessCenterGrp, UnderlyingReturnRateValuationDateBusinessCenterGrp.

ReturnRateValuationDateGrp

This component is a repeating group that is part of the ReturnRateDateGrp component. It is used to specify the fixed valuation dates for an equity return swap payment stream. The component layouts are available here: ReturnRateValuationDateGrp, LegReturnRateValuationDateGrp, UnderlyingReturnRateValuationDateGrp.

SettlRateDisruptionFallbackGrp

This component is a repeating group that is part of the PaymentStreamNonDeliverableSettlTerms component. It is used to specify the method, prioritized by the order it is listed, to get a replacement rate for a disrupted settlement rate option for a non-deliverable settlement currency. The component layouts are available here: SettlRateDisruptionFallbackGrp, LegSettlRateDisruptionFallbackGrp, UnderlyingSettlRateDisruptionFallbackGrp.

SettlRateFallbackRateSource

This component is part of the SettlRateDisruptionFallbackGrp component. It is used to specify the rate source in the event of rate disruption fallback. The component layouts are available here: SettlRateFallbackRateSource, LegSettlRateFallbackRateSource, UnderlyingSettlRateFallbackRateSource.

StreamAssetAttributeGrp

This component is a repeating group that is part of the StreamCommodity component. It is used to detail commodity attributes, quality standards and reject limits. The component layouts are available here: StreamAssetAttributeGrp, LegStreamAssetAttributeGrp, UnderlyingStreamAssetAttributeGrp.

StreamCalculationPeriodDates

This component is part of the StreamGrp component. It is used to specify the calculation period dates of the stream. The component layouts are available here: StreamCalculationPeriodDates, LegStreamCalculationPeriodDates, UnderlyingStreamCalculationPeriodDates.

StreamCommodity

This component is part of the StreamGrp component. It is used to identify and describe the underlying commodity. The component layouts are available here: StreamCommodity, LegStreamCommodity, UnderlyingStreamCommodity.

StreamCommodityAltIDGrp

This component is a repeating group that is part of the StreamCommodity component. It is used to specify alternate identifiers. The component layouts are available here: StreamCommodityAltIDGrp, LegStreamCommodityAltIDGrp, UnderlyingStreamCommodityAltIDGrp.

StreamCommodityDataSourceGrp

This component is a repeating group that is part of the StreamCommodity component. It is used to specify sources of data, e.g. weather stations. The order of entry determines priority – first is the main source, second is fallback, third is second fallback. The component layouts are available here: StreamCommodityDataSourceGrp, LegStreamCommodityDataSourceGrp, UnderlyingStreamCommodityDataSourceGrp.

StreamCommoditySettlBusinessCenterGrp

This component is a repeating group that is part of the StreamCommodity component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: StreamCommoditySettlBusinessCenterGrp, LegStreamCommoditySettlBusinessCenterGrp, UnderlyingStreamCommoditySettlBusinessCenterGrp.

StreamCommoditySettlDayGrp

This component is a repeating group that is part of the StreamCommoditySettlPeriodGrp component. It is used to define the settlement days associated with the commodity contract. The component layouts are available here: StreamCommoditySettlDayGrp, LegStreamCommoditySettlDayGrp, UnderlyingStreamCommoditySettlDayGrp.

StreamCommoditySettlPeriodGrp

This component is a repeating group that is part of the StreamCommodity component. It is used to define the settlement period details associated with the commodity contract. The component layouts are available here: StreamCommoditySettlPeriodGrp, LegStreamCommoditySettlPeriodGrp, UnderlyingStreamCommoditySettlPeriodGrp.

StreamCommoditySettlTimeGrp

This component is a repeating group that is part of the StreamCommoditySettlDayGrp component. It is used to define the settlement time periods associated with the commodity contract. The component layouts are available here: StreamCommoditySettlTimeGrp, LegStreamCommoditySettlTimeGrp, UnderlyingStreamCommoditySettlTimeGrp.

StreamEffectiveBusinessCenterGrp

This component is a repeating group that is part of the StreamEffectiveDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: StreamEffectiveBusinessCenterGrp, LegStreamEffectiveDateBusinessCenterGrp, UnderlyingStreamEffectiveDateBusinessCenterGrp.

StreamEffectiveDate

This component is part of the StreamGrp component. It is used to specify the effective date of the stream. The component layouts are available here: StreamEffectiveDate, LegStreamEffectiveDate, UnderlyingStreamEffectiveDate.

StreamTerminationDate

This component is part of the StreamGrp component. It is used to specify the termination date of the stream. The component layouts are available here: StreamTerminationDate, LegStreamTerminationDate, UnderlyingStreamTerminationDate.

StreamTerminationDateBusinessCenterGrp

This component is a repeating group that is part of the StreamTerminationDate component. It is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the DateAdjustment component within the Instrument component. The component layouts are available here: StreamTerminationDateBusinessCenterGrp, LegStreamTerminationDateBusinessCenterGrp, UnderlyingStreamTerminationDateBusinessCenterGrp.

Global Components for Leg Securities

This section only contains global components for the instrument leg level that are not already included as part of the description of the Instrument component because they are conceptually identical to a global component on the instrument level.

InstrmtLegGrp

This component is a repeating group used to convey the legs of a multileg security. The component layout is available here.

InstrumentLeg

This component, like the Instrument component, contains all the fields commonly used to describe a security or instrument. In the case of the InstrumentLeg component it describes a security used in multileg-oriented messages. The component layout is available here.

LegOrdGrp

This component is a repeating group that is used on a multileg order or risk limit check and contains the full definition of the individual legs of a multi-legged instrument. This includes pre-allocation information as well as stipulations for each leg. The component layout is available here.

LegPreAllocGrp

This common component is a repeating group and conceptually identical to the PreAllocGrp component. It is used on a multileg order to convey the allocation information prior to an execution at each instrument leg level. The component layout is available here.

Global Components for Underlying Securities

This section only contains global components for the underlying instrument level that are not already included in the description of the Instrument component because they are conceptually identical to a global component on the instrument level.

UnderlyingDividendPaymentGrp

This component is a repeating group that is part of the UnderlyingDividendPayout. It is used to specify the anticipated dividend or coupon payment dates and amounts of an equity or bond underlier. The component layout is available here.

UnderlyingDividendPayout

This component is part of the UnderlyingInstrument component. It is used to specify the dividend or coupon payout parameters of an equity or bond underlier. The component layout is available here.

UnderlyingInstrument

Note: The UnderlyingStipulations component is nested inside the UnderlyingInstrument component. This is not the case for the Instrument and InstrumentLeg components where the stipulations are defined outside of it.

This component, like the Instrument component, contains all the fields commonly used to describe a security or instrument. The UnderlyingInstrument component describes an instrument which underlies the primary instrument identified in the Instrument component. For example, it may be used to convey the underlying instrument of an option, or the collateral of a repurchase agreement or security loan. The component layout is available here.

UnderlyingRateSpreadSchedule

This component is part of the UnderlyingInstrument component. It is used to specify the rate spread schedule for a basket underlier. The component layout is available here.

UnderlyingRateSpreadStepGrp

This component is a repeating group that is part of the UnderlyingRateSpreadSchedule component. It is used to specify the step dates and amounts of a basket spread schedule. The component layout is available here.

UndInstrmtGrp

This component is a repeating group used to convey one or more underlying securities. The component layout is available here.

Global Components for Parties

This section describes the global components for parties. Some of these are only used as part of a single component and described in the respective section of the related business entity. The following table provides references to all parties components, including those that are only used in a single business area where they are also described.

Parties components of business entities
Business EntityParties Component
InstrumentDerivativeInstrumentParties10
InstrumentDerivativeInstrumentPartySubIDsGrp11
InstrumentInstrumentParties
InstrumentInstrumentPtysSubGrp
InstrumentLegInstrumentParties
InstrumentLegInstrumentPtysSubGrp
InstrumentLegProvisionParties
InstrumentLegProvisionPtysSubGrp
InstrumentProvisionParties
InstrumentProvisionPtysSubGrp
InstrumentUnderlyingProvisionParties
InstrumentUnderlyingProvisionPtysSubGrp
InstrumentUndlyInstrumentParties
InstrumentUndlyInstrumentPtysSubGrp
PartiesNestedParties
PartiesNestedParties2
PartiesNestedParties3
PartiesNestedParties412
PartiesNstdPtysSubGrp
PartiesNstdPtys2SubGrp
PartiesNstdPtys3SubGrp
PartiesNstdPtys4SubGrp13
PartiesParties
PartiesPartyDetailGrp
PartiesPartyDetailAltIDGrp
PartiesPartyDetailAltSubGrp
PartiesPartyRelationshipGrp
PartiesPtysSubGrp
PartiesRelatedPartyDetailGrp
PartiesRelatedPartyDetailAltIDGrp
PartiesRelatedPartyDetailAltSubGrp
PartiesRelatedPartyDetailSubGrp
PartiesRootParties
PartiesRootSubParties
PartiesTargetParties
PartiesTargetPtysSubGrp
PaymentsPaymentSettlParties
PaymentsPaymentSettlPtysSubGrp
SettlementSettlParties14
SettlementSettlPtysSubGrp15

Parties Identification

Parties

This component is a repeating group used to identify and convey information on the entities both central and peripheral to the financial transaction represented by the FIX message containing the Parties component. The Parties component allows many different types of entities to be expressed through use of the PartyRole(452) field and identifies the source scheme of the PartyID(448) through the PartyIDSource(447).

There are a number of conceptually identical components with different names due to the uniqueness constraints of the tagvalue encoding. The component layouts are available here: Parties, NestedParties, NestedParties2, NestedParties3, RootParties3.

Note: NestedParties4 is another conceptually identical component. It is not a global component but a local component in the single/general order handling category of the trade area.

PtysSubGrp

This component is a repeating group that is part of the repeating group Parties. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to.

There are a number of conceptually identical components with different names due to the uniqueness constraints of the tagvalue encoding. The component layouts are available here: PtysSubGrp, NstdPtysSubGrp, NstdPtys2SubGrp, NstdPtys3SubGrp, RootSubParties.

Note: NstdPtys4SubGrp is another conceptually identical component. It is not a global component but a local component in the single/general order handling category of the trade area.

TargetParties

This component is a repeating group that is conceptually identical to the Parties component. It provides information about one or more party(-ies) within the context of where this component appears in. It may be used to represent a list of parties subject to the action of the message this component appears in. The component layout is available here.

TargetPtysSubGrp

This component is a repeating group that is part of the repeating group TargetParties and conceptually identical to the PtysSubGrp. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to. The component layout is available here.

Parties Reference Data

PartyDetailGrp

This component is a repeating group used to convey details for a party, including related parties and alternative party identifiers. It provides more information about a party compared to the Parties component and is primarily used to provide reference data. The component layout is available here.

PartyDetailAltIDGrp

This component is a repeating group that is part of the repeating group PartyDetailGrp. It is used to provide alternative identifiers for a party for the instance of the identified party it is attached to. The component layout is available here.

PartyDetailAltSubGrp

This component is a repeating group that is part of the repeating group PartyDetailAltIDGrp. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to. The component layout is available here.

PartyDetailSubGrp

This component is a repeating group that is part of the repeating group PartyDetailGrp. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to. The component layout is available here.

PartyRelationshipGrp

This component is a repeating group that is part of the repeating group RelatedPartyDetailGrp. It is used to convey different types of relationships between two parties. Party relationships can either be inferred based on PartyDetailRole(1693), or made explicit. For example, if PartyDetailRole(1693) = 1 (Executing Firm) and RelatedPartyDetailRole(1565) = 24 (Customer Account), it can be inferred that the executing firm trades for the customer account. This relationship can also be made explicit by using the PartyRelationshipGrp component and specifying PartyRelationship(1515) = 3 (Trades for).

Relationships between parties are modeled as a web or mesh. PartyRelationship(1515) = 0 (Is also) indicates that an entity of a specific party role is also an entity of different party role, e.g. an Executing Firm with one ID is also a Clearing Firm with another ID. With the exception of “Is also,” PartyRelationship(1515) is specified as a list of reciprocal relationships. This enables a relationship to be conveyed regardless of which party is specified in PartyDetailID(1691) and which is specified in RelatedPartyDetailID(1563).

The component layout is available here.

RelatedPartyDetailGrp

This component is a repeating group that is part of the repeating group PartyDetailGrp. It is used to convey details for parties related to the instance of the identified party it is attached to. It contains the PartyRelationshipGrp component to define a relationship between the parties. The component layout is available here.

RelatedPartyDetailAltIDGrp

This component is a repeating group that is part of the repeating group RelatedPartyDetailGrp. It is used to provide alternative identifiers for a party for the instance of the identified party it is attached to. The component layout is available here.

RelatedPartyDetailAltSubGrp

This component is a repeating group that is part of the repeating group RelatedPartyDetailAltIDGrp. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to. The component layout is available here.

RelatedPartyDetailSubGrp

This component is a repeating group that is part of the repeating group RelatedPartyDetailGrp. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to. The component layout is available here.

Global Components for Orders and Quotes

DisplayInstruction

This component is used to convey instructions on how a reserved order is to be handled in terms of when and how much of the order quantity is to be displayed to the market. The component layout is available here.

MatchingInstructions

This component is a repeating group that may be used to allow or prevent an order from matching based on the value of one or more tags. The component layout is available here.

OrderAttributeGrp

This component is a repeating group that provides additional attributes about an order. Attributes included in this component are primarily “indicators” that may be associated with regulatory requirements and are typically not part of normal trading activities. The component layout is available here.

OrderQtyData

This component contains the fields commonly used for indicating the amount or quantity of an order. Note that when this component is marked as “required” in a message, either one of these three fields must be used to identify the order amount: OrderQty(38), CashOrderQty(152) or OrderPercent(516) (in the case of CIV). The component layout is available here.

TrdgSesGrp

This component is a repeating group that is used to convey trading sessions, optionally limited to specific trading phases within a trading session. The component layout is available here.

ValueChecksGrp

This component is a repeating group that may be used by the message submitter to provide a list of value types to be checked by the counterparty or message recipient. The component layout is available here.

Global Components for Trades

RegulatoryTradeIDGrp

This component is a repeating group that is used to report the source, value and relationship of multiple identifiers for the same trade or position. This component may be used to meet regulatory trade reporting requirements where identifiers such as the Unique Swaps Identifier (USI) in the US or the Unique Trade Identifier (UTI) in Europe and Canada are required to be reported, showing the chaining of these identifiers as needed. The component layout is available here.

Note: SideRegulatoryTradeIDGrp is a conceptually identical component. It is not a global component but a common component of the post-trade area.

RelatedTradeGrp

This component is a repeating group that may be used to identify trades that are related to each other for a business purpose, such as netting of forwards. This component should not be used in lieu of explicit FIX fields that denote specific semantic relationships, but rather should be used when no such fields exist. The component layout is available here.

TradePriceConditionGrp

This component is a repeating group that is used to convey price conditions associated with a trade that impact trade price. The component layout is available here.

TrdRegPublicationGrp

This component is a repeating group that is used to express trade publication reasons that are required by regulatory agencies. Reasons may include deferrals, exemptions, waivers, etc. Under the MiFID II regulation, this is used for indicating the reduction of pre- (“waivers”) or post-trade transparency. In cases where a trade has been made outside an open order book venue or publication of trade data has been deferred, pertinent reason indicators are set in the TrdRegPublicationReason(2670) to further qualify the TrdRegPublicationType(2669). The component layout is available here.

TrdRegTimestamps

This component is a repeating group that is used to express timestamps for an order or trade that is required by regulatory agencies. These timestamps are used to identify the timeframes for when an order or trade is received on the floor, received and executed by the broker, etc. The component layout is available here.

Global Components for Commissions and Fees

CommissionData

This component is used to carry commission information such as the type of commission and the rate. Use the CommissionDataGrp component as an alternative if multiple commissions or enhanced attributes are needed.

This component may be used to provide aggregated commission data of a given CommType(13) whereas the repeating group CommissionDataGrp may be used to include the detail splits provided the commission is of the same commission basis type. For example, CommissionData may contain CommType(13) of 3 (Absolute) and a Commission(12) value of “15”. CommissionDataGrp may be used to show how this Commission(12) value of “15” is split up as long as the CommissionBasis(2642) is also 3 (Absolute) for each of the instances added together. This method of aggregated commission data may also be applied to this component to provide a total when the instances of the detail splits in CommissionDataGrp contain leg level information (indicated by the usage of CommissionLegRefID(2649) in CommissionDataGrp). Note that it is only possible to aggregate values for a single commission basis type.

The component layout is available here.

CommissionDataGrp

This component is a repeating group that is used to carry commission information such as the type of commission and the rate. It provides an alternative to the CommissionData component if multiple commissions or enhanced attributes are needed.

The CommissionLegRefID(2649) field is used to reference the LegID(1788) within the InstrumentLeg component, allowing for specifying instrument leg specific commission values when a multilegged security is fully expressed in the same message. This component is not intended for non-leg instances of the CommissionDataGrp component to represent aggregated values of the leg instances within the component when both leg and non-leg instances are included.

The component layout is available here.

Note: AllocCommissionDataGrp is a conceptually identical component. It is not a global component but a common component of the post-trade area.

ContAmtGrp

This component is a repeating group used to convey one or more financial amounts (e.g. commissions or charges) or percentages related to a contract. The component layout is available here.

MiscFeesGrp

This component is a repeating group that is used to provide details of trade and transaction fees other than commissions, e.g. regulatory, exchange, taxes, levies, markup, trade reporting, etc.

MiscFeesGrp should be used to convey fees related to the transaction (e.g. taxes, transaction based fees, etc.) and should not be used to specify payments based on the price or terms of the contract (e.g. upfront fee, premium amount, security lending fee, contract-based rebates, related fee resets, payment frequency, etc.). For contractual payments use the PaymentGrp component instead.

The component layout is available here.

MiscFeesSubGrp

This component is a repeating group that is part of the MiscFeesGrp and used to provide further details for the instance of MiscFeeType(139) and MiscFeeAmt(137) it is attached to. The component layout is available here.

Global Components for Financing

FinancingContractualDefinitionGrp

This component is a repeating group that is part of the FinancingDetails component and is used to report the definitions published by ISDA that define the terms of a derivative trade. The component layout is available here.

Note: LegFinancingContractualDefinitionGrp is a conceptually identical global component.

FinancingContractualMatrixGrp

This component is a repeating group that is part of the FinancingDetails component and is used to report the ISDA Physical Settlement Matrix Transaction Type. The component layout is available here.

Note: LegFinancingContractualMatrixGrp is a conceptually identical global component.

FinancingDetails

This component is optionally used for financial transactions where legal contracts, master agreements or master confirmations are to be referenced. This component identifies the legal agreement under which the deal was made and other unique characteristics of the transaction. For example, the AgreementDesc(913) field refers to base standard documents such as MRA 1996 Repurchase Agreement, GMRA 2000 Bills Transaction (U.K.), MSLA 1993 Securities Loan – Amended 1998. The component layout is available here.

Note: LegFinancingDetails is a conceptually identical global component.

FinancingTermSupplementGrp

This component is a repeating group that is part of the FinancingDetails component and is used to report contractual term supplements of derivative trades. The component layout is available here.

Note: LegFinancingTermSupplementGrp is a conceptually identical global component.

Global Components for Payments

PaymentBusinessCenterGrp

This component is a repeating group that is part of the PaymentGrp component and is used to specify the set of business centers whose calendars drive the date adjustment. Used only to override the business centers defined in the BusinessCenterGrp component of the DateAdjustment component in the Instrument component. The component layout is available here.

PaymentGrp

This component is a repeating group that is used to report additional payments or bullet payments associated with the transaction’s contractual terms. This component is positioned outside the Instrument component as it is used to specify payments based on the price and terms of the contract, e.g. upfront fee, premium amount, security lending fee and contract-based rebates. When PaymentFrequencyUnit(43103) and PaymentFrequencyPeriod(43102) are specified, the payments are deemed to be periodic for the specified PaymentType(40213). The component layout is available here.

PaymentSettlGrp

This component is a repeating group that is part of the PaymentGrp component and is used to report payment settlement as a single or split payment. The component layout is available here.

PaymentSettlParties

This component is a repeating group that is conceptually identical to the Parties component. It is used to report payment settlement routing. The component layout is available here.

PaymentSettlPtysSubGrp

This component is a repeating group that is part of the repeating group PaymentSettlParties and conceptually identical to the PtysSubGrp. It is used to provide additional or supplemental information related to the instance of the identified party it is attached to. The component layout is available here.

Global Components for Stipulations

Stipulations

This component is a repeating group used in fixed income to provide additional information on a given security. The additional information is usually not considered static data information. The component layout is available here.

Note: LegStipulations and UnderlyingStipulations are conceptually identical global components.

Global Components for Header and Trailer

The global components StandardHeader and StandardTrailer are only partially relevant for the application layer. They are mainly linked to the FIX session layer and the tagvalue encoding of messages. A subset of the fields in the StandardHeader component and the CheckSum(10) field in the StandardTrailer component are required for the parsing of tagvalue encoded messages. Other encodings such as FIXML or Simple Binary Encoding (SBE) may use fields in the StandardHeader component, for example to convey the application layer version and extension in use.

HopGrp

This component is a repeating group that is part of the StandardHeader component and used to capture one or more third parties a message passes through to reach its final destination. It is applicable when messages are communicated/re-distributed via third parties that function as service bureaus or “hubs”. The component layout is available here.

StandardHeader

This component is the standard FIX message header required for tagvalue encoding and optional for other encodings. It is not intended to contain business level information. The component layout is available here.

StandardTrailer

This component is the standard FIX message trailer and only required for tagvalue encoding to convey the checksum of a message. The component layout is available here.

Miscellaneous Global Components

ApplicationSequenceControl

This component is used for application sequencing and recovery. FIX application messages that carry this component will be able to use application level sequencing. ApplID(1180), ApplSeqNum(1181) and ApplLastSeqNum(1350) fields identify the application id, application sequence number and the previous application sequence number (in case of intentional gaps) on each application message that carries this component. The component layout is available here.

AttachmentGrp

This component is a repeating group that provides the ability to attach other media type documents to a FIX message for transmission. The media type can be any of the media types (previously referred to as MIME types) that are listed by IANA (www.iana.org) [RFC2046]. It is intended to be used to attach documents in other formats, such as PDF, TIFF, and Microsoft Word, for example, to a FIX message. Note when it is used within a business message, such as the TradeCaptureReport(35=AE) message, the attachment should supplement the data already contained in the business message. It is not intended to replace the content of the business message. The standard (required) fields within the business message should be populated, even if they duplicate data expressed within the attachment(s). The component layout is available here.

AttachmentKeywordGrp

This component is a repeating group that provides a place to associate keywords with an attachment document to support the current approach of tagging to support metadata. The component layout is available here.

LimitAmts

This component is a repeating group that may be used to convey various types of limit amounts, e.g. credit limits. The component layout is available here.

PriceQualifierGrp

This component is a repeating group that clarifies the composition of the price when standard market practice for the security calls for a price that is atypical when traded in other markets, or when a price can be expressed in more than one way. The component layout is available here.

RateSource

This component is a repeating group used to identify the sources of rate information, e.g. for the currency exchange rate of an FX transaction. The component layout is available here.

RelativeValueGrp

This component is a repeating group that is used to convey relative valuation metrics or analytics for a given instrument. Relative valuation metrics or analytics are commonly provided by the trading party providing pricing as part of fixed income cash bonds or OTC derivatives indication or quoting activities. The component layout is available here.

SpreadOrBenchmarkCurveData

This component is primarily used for fixed income to convey spread to a benchmark security or curve. The component layout is available here.

ThrottleResponse

This component is used to convey information about the throttle status on response messages, e.g. ExecutionReport(35=8), QuoteStatusReport(35=AI), etc. The component layout is available here.

YieldData

This component conveys yield information for a given fixed income security. The component layout is available here.

User defined fields

In order to provide maximum flexibility for its users, the FIX Protocol accommodates User Defined Fields (UDFs). These fields are intended to be implemented between consenting trading partners and should be used with caution to avoid conflicts, which will arise as multiple parties begin implementation of the protocol. It is suggested that if trading partners find that particular UDFs would add value to the wider community, they should be submitted as a Gap Analysis to the FIX Global Technical Committee to be standardized in an Extension Pack.

The tag numbers 5000 to 9999 have been reserved for UDFs, which are used as part of inter-firm communication. These tags can be registered/reserved via the FIX website. At this time, the available tag numbers in the user defined range of 5000 to 9999 have all been allocated. In December 2009 the FIX GTC Governance Board approved the use of tag numbers in the 20000 to 39999 range for use as user defined tags to be used bilaterally between parties. These tags do not need to be registered. The FIX GTC Governance Board recommends that fields/tags and enumeration values from FIX Latest which meet the business or implementation of FIX be retro-fitted into the implementation.

The GTC’s policy with regards to UDFs is for the community, where possible, to use tags, components or repeating groups from the latest Extension Pack in their legacy FIX implementation when these meet the requirements, as opposed to customised extensions through user defined fields, components, or repeating groups.

UDFs in the range 8000-8499 are reserved for the FIX Global Technical Committee for the support of regulatory requirements in supported legacy versions of FIX. UDFs in the range 8500-8999 are currently reserved for work-in-progress in China.

The tag numbers greater than or equal to 10000 and less than 20000 have been reserved for internal use (within a single firm) and do not need to be registered/reserved via the FIX website. The tag numbers in the 40000 to 49999 range are reserved for the FIX Global Technical Committee and have been used for standard fields related to the definition of OTC derivative instruments. The tag numbers of 50000 and above are reserved by the FIX Global Technical Committee and should not be used in FIX implementations.


  1. Extension Packs EP161, EP169, EP177, EP187, and EP208 added many new components as part of the Instrument component that are related to swap streams, provisions, complex events and the exercise of options. They have tag numbers of 40000 and above and are described in a separate document.↩︎
  2. By counterparty agreement, a different single-byte character set may be used.↩︎
  3. By counterparty agreement, a different single-byte character set may be used.↩︎
  4. The use of datatype MultipleCharValue is no longer permitted for enhancements or additions to the FIX Protocol. New message designs should use repeating groups for multiple values instead.↩︎
  5. By counterparty agreement, a different single-byte character set may be used.↩︎
  6. The use of datatype MultipleStringValue is no longer permitted for enhancements or additions to the FIX Protocol. New message designs should use repeating groups for multiple values instead.↩︎
  7. By counterparty agreement, a different single-byte character set may be used.↩︎
  8. Note that the number of octets in the encoding may be different than the number of characters, such as in the case of multibyte character sets.↩︎
  9. Datatype data is a union of opaque data and character data in a different encoding. It is recommended that the latter case be distinguished by naming such a field as EncodedXXX, e.g. EncodedSecurityDesc(351).↩︎
  10. Not a global component, shown here for completeness only.↩︎
  11. Not a global component, shown here for completeness only.↩︎
  12. Not a global component, shown here for completeness only.↩︎
  13. Not a global component, shown here for completeness only.↩︎
  14. Not a global component, shown here for completeness only.↩︎
  15. Not a global component, shown here for completeness only.↩︎