As of EP284, November 2023
FIX Global Technical Committee
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.
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 https://staging.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 https://staging.fixtrading.org/member-firms/.
For a current list of active FPL Working Groups, visit https://staging.fixtrading.org/working-groups/.
Links to Product and Regional Committees’ web pages are at https://staging.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:
Standard | Acronym | Layer | Description |
---|---|---|---|
FIX Protocol (a.k.a. FIX Latest) | FIXLatest | Application | The 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 Language | FIXatdl | Application | XML based standard to specify the user interface components for algorithmic trading. |
FIX tag=value | tagvalue | Encoding | Original FIX encoding and the most widely used one. A simple ASCII string format. |
FIX Markup Language | FIXML | Encoding | XML 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 STreaming | FAST | Encoding | Protocol designed to reduce bandwidth use and latency for market data dissemination. |
Simple Binary Encoding | SBE | Encoding | High performance binary encoding in use within the industry for market data dissemination as well as for transactional workflows. |
Encoding FIX using Google Protocol Buffers | GPB | Encoding | FIX encoding using industry standard protocol GPB. Often used within companies as part of internal messaging. |
Encoding FIX using Javascript Object Notation | JSON | Encoding | FIX 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 Notation | ASN.1 | Encoding | FIX encoding using industry standard protocol ASN.1. ISO standard encoding system that includes multiple encodings itself (BER, OER, PER, XER). |
FIX Session Protocol | FIX.4.2 | Session | FIX session protocol with FIX.4.2 session profile for application version FIX 4.2. |
FIX Session Protocol | FIX4 | Session | FIX session protocol with FIX4 session profile for application version FIX 4.4. |
FIX Session Protocol (a.k.a. “FIX Transport”) | FIXT | Session | FIX 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”) | LFIXT | Session | FIX session protocol with FIXT session profile for single application version. It is a restriction of the FIXT session profile. |
FIX Performance Session Protocol | FIXP | Session | High performance session protocol for point-to-point and multicast that supports multiple modes of operation (recoverable, unsequenced, idempotent). |
FIX Simple Open Framing Header | SOFH | Session | Simple 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-TLS | FIXS | Session | Standard 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.
- Introduction to FIX
- FIX Application Messages for Pre-trade
- FIX Application Messages for Orders and Executions (Trade)
- FIX Application Messages for Post-trade
- CATEGORY: ALLOCATION AND READY-TO-BOOK
- CATEGORY: CONFIRMATION
- CATEGORY: SETTLEMENT INSTRUCTIONS
- CATEGORY: TRADE CAPTURE (“STREETSIDE”) REPORTING
- CATEGORY: REGISTRATION INSTRUCTIONS
- CATEGORY: POSITIONS MAINTENANCE
- CATEGORY: COLLATERAL MANAGEMENT
- CATEGORY: MARGIN REQUIREMENT MANAGEMENT
- CATEGORY: ACCOUNT REPORTING
- CATEGORY: TRADE MANAGEMENT
- CATEGORY: PAY MANAGEMENT
- CATEGORY: SETTLEMENT STATUS MANAGEMENT
- APPENDIX: COMPONENTS AND MESSAGES
- FIX Application Messages for Infrastructure
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:
- Extension Packs will be assigned a unique, sequential number at the point they are approved by the GTC.
- Extension Packs are applied to the most recent version of the repository and may be inclusive of prior Extension Packs.
- At the point an Extension Pack has been applied, the updated repository, schema, and message tables will be publicly available.
- When implementing a specific Extension Pack, ApplExtID(1156) may be used to specify the Extension Pack identifier, i.e. its number.
- 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.
EP | Title | Size | Enhancement Summary |
---|---|---|---|
EP098 | FillsGrp Yield Extension | XS | Yield information for partial fills conveyed with the FillsGrp component. |
EP099 | Matching Instructions | S | New component to convey one or more instructions to allow or deny matching based on tags and values. |
EP100 | FX Spot and Forward Swaps Matching | M | Additional 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. |
EP101 | Canadian Market Regulation Feed | M | Additional types of cross orders, order categories, execution instructions, restatement reasons, account types, regulatory timestamps, instrument attributes, trade types. |
EP102 | Margin Requirements | L | New messages to convey margin requirements and related inquiries. |
EP103 | Large Options Positions Reporting | M | New 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. |
EP104 | IIROC Market Regulation Feed | M | Support 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. |
EP105 | Parties Reference Data | XXL | New 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. |
EP106 | Market Data Extensions | L | New messages to support mass status information for securities, specifically options. Additional market data entry types for market order quantities (bid and offer). |
EP107 | OTC Trading and Clearing Extensions | M | Set 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. |
EP108 | New PartyIDSource values for Australia | XXS | Australian Company Number and Australian Registered Body Number. |
EP109 | Contingent Price | XXS | Risk adjusted price used to calculate variation margin on a position. |
EP110 | Long Holdings | XXS | Long holdings as additional type of position transaction |
EP111 | Submission of SLEDS | XS | Alternate price for clearing if it differs from execution price. |
EP112 | Market Center Transparency | XXS | Additional party roles for (related) reporting market centers and away markets. |
EP113 | Trading System Identification | XS | Support for identification of FIX engine and application system during logon. Note: This extension only applies to the FIX Session Layer. |
EP114 | Security Definition and TradeSubType | XS | Reasons for the rejection of security definitions, new unit of measure for Climate Reserve Tonnes, new trade sub-type for auctions. |
EP115 | Order Handling Extensions | XS | Addition of exchange destination information to execution notifications and cancel requests/rejects. Initial display quantity of reserve orders. |
EP116 | Message Throttle Parameters | L | Support for throttle mechanisms that provide a method of slowing down messages, rejecting messages or disconnecting sessions above a certain rate of messages. |
EP117 | Account Summary Reporting | M | Report with margin, settlement, collateral and pay/collect data for each clearing firm level account type. |
EP118 | Clearing House Allocation Workflows | L | Automation 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). |
EP119 | Instrument Definition and Trade Prices for CDS | S | Support for uniform security definitions and price specifications of Credit Default Swaps (CDS), in particular for the OTC clearing process. |
EP120 | SEC Short Sale Restrictions | XXS | Instrument attribute to indicate restrictions applicable to short selling of a security. |
EP121 | SEC Short Sale Exemption Reason Code | XS | Ability to convey information regarding the reason for an exemption to short selling. |
EP122 | Unit of Measure | S | Generalization of units of measure for currencies and a few additional units, e.g. index points. |
EP123 | Short Sale Minimum Price | XS | Support for Short Sale Minimum Price (SSMP), including pegging of orders to SSMP. |
EP124 | Logon | XS | Message recovery, e.g. detection of mismatching sequence numbers at logon. Note: This extension only applies to the FIX Session Layer. |
EP125 | Order and Quote Handling | S | Mapping of orders and quotes to market data entries. Bid/offer quote identifiers. |
EP126 | Tradeable Quotes | M | Total bid and offer sizes (quote entry versus quote modification model). Initially tradeable quotes. Quote status “traded (and removed)”. |
EP127 | Specific Lot Allocation | S | Ability to transmit instructions identifying specific-lots for trade allocations. |
EP128 | Risk limits | XL | Risk limit definitions, utilization monitoring and granular risk limit actions. |
EP129 | Entitlements | XL | New messages and components to support the request for and the distribution of entitlement reference data for parties. |
EP130 | Pre-Trade | XS | Additional reference data information for trading sessions of exchanges. Standard identification of test and dummy instruments, e.g. for business continuity testing. |
EP131 | Order Handling | L | Multiple extensions in the area of single leg, multileg and cross order handling to cover the requirements of equity options trading in the US. |
EP132 | US Tri-Party Repo Task Force | M | Message flows for staged orders and voiced trades; post-allocation messaging with clearing agent and investor. Support for event periods and variance of traded quantity. |
EP133 | FIA Execution Source Code | XS | FIA execution source codes as additional order handling instructions. Support in allocation messages. |
EP134 | Trade | XS | Price and notional value checks. Generic reject text in order/quote messages. |
EP135 | OATS for NMS Stocks | S | Support for the expansion of OATS Rules to all NMS stocks (SR-FINRA-2010-044). |
EP136 | Post-Trade | XS | Support for regulatory reporting in Hong Kong, e.g. one party reporting. |
EP137 | Environment and Electrical Units of Measure | XS | Units of measure for environmental offsets and credits as well as for various electrical units beyond just MWh. Delivery times as additional events. |
EP138 | Securities Reference Data | S | New securities reference data used to define or describe derivatives, e.g. notice dates, tick rules in spreads, negative settlement / strike price indicator. |
EP139 | Originating Market | XXS | Inverse of an away market. |
EP140 | Large Trader Reporting for Commodities Swaps | L | Support for CFTC rules for large trader reporting of physical commodity swaps and swaptions (76 FR 43851). |
EP141 | Trade Reporting | XL | Support 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. |
EP142 | Related Trades and Positions | L | Standard general mechanism for trades to identify related trades or related positions and positions to identify related trades. |
EP143 | Quote Acknowledgements | M | New message QuoteAck(35=CW) as response to a quote submission or cancellation. |
EP144 | Quote extensions | S | Identifiers for bid and offer side. Support for price and notional value checks. |
EP145 | Instrument XML Definitions | XS | New components to convey an XML definition of an instrument leg or underlying instrument. |
EP146 | Parties Reference Data Transactions | XL | New messages to support transactions on parties reference data, including entitlements. |
EP147 | Large Trader Reporting for Commodities Swaps II | XXS | Separate unit of measure fields for settlement prices. |
EP148 | Position Maintenance Report | XXS | Source of request for the dissemination of PositionMaintenanceReport(35=AM) messages. |
EP149 | Order Reject Reason | XXS | Additional order reject reason related to risk management thresholds. |
EP150 | Trade Match Report | L | New message TradeMatchReport(35=DC) for the submission of complex match events from an exchange to a clearing house in a single message. |
EP151 | Position Quantity Types | XXS | Additional position quantity types related to exercises and assignments. |
EP152 | Energy Units of Measure | XXS | Additional units of measure (metric volume, heat energy) for energy trading. |
EP153 | Position Maintenance Report | XXS | Change PosMaintStatus(722) and PositionQty component from required to optional. |
EP154 | Weight Units of Measure | XXS | Additional units of measure (gross tons, kilograms). |
EP155 | Customer Gross Margin Reporting | XXS | Additional party roles for new account types (margin, collateral asset) and party sub ID types for PartyRole(452) = 24 (Customer Account) and 38 (Position Account). |
EP156 | Legal Entity Identifier ISO 17442 | XXS | Additional PartyIDSource(447) for LEI codes. |
EP157 | LSOC Reporting | XS | Support for the Legally Segregated Operationally Commingled (LSOC) Model (haircut indicator and guarantee fund for customer accounts). |
EP158 | Security ID Source | XXS | Bloomberg Open Symbology (BBGID) as additional source for security identifiers. |
EP159 | Multi-Dealer Quote Contribution and Negotiation | S | Support for timer concepts in fixed income trading of cash bonds. Support of multi-dealer quote environments. |
EP160 | Security List | S | Support for Risk Based Haircut (RBH) methodology to compute capital charges. |
EP161 | CFTC Part 43 & 45 Reporting – Credits and Rates | XXL | Support 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. |
EP162 | CFTC Part 39 Reporting | M | Enhancements to the AccountSummaryReport(35=CQ) and position management messages to meet CFTC Part 39 end of day reporting requirements. |
EP163 | Market Model Typology Coverage | M | Support 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. |
EP164 | Short Selling | XS | Enhancements in the context of amendments approved by the Canadian securities regulators to the Universal Market Integrity Rules (UMIR) regarding short sales. |
EP165 | CDS Trade Netting, and Credit & Succession | XS | Support for swap terminations as well as credit and succession events. |
EP166 | Stop Order Types | XXS | Support for SEC rule SR-FINRA-2012-026 relating to the handling of stop and stop limit orders. |
EP167 | AttachmentGrp | S | Support 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. |
EP168 | Spread Based Trading Negotiation | XS | Support for negotiation methods and workups in fixed income trading. |
EP169 | CFTC Part 43 & 45 Reporting – Commodity Swaps | XXL | Support 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. |
EP170 | Equity Post-trade Allocations | XS | Additional reasons to reject allocations and confirmations; gross trade amount at the allocation level; mixed order capacity in confirmations. |
EP171 | Pre-Trade Credit Limit Check | XL | Support for pre-trade clearing certainty for cleared swap transactions through all combinations of trade parties (FIA/ISDA Joint Working Group). |
EP172 | Post-Trade Credit Limit Check | XS | Support for credit limit checks that occur post-trade. |
EP173 | Parties Reference Data | M | Enhancement of entitlements activities between the banks (Dealers) and D2C (Dealer to Customers) execution venues. |
EP174 | Benchmark Price Types | XXS | Support for interest rate price type and market data requests for benchmark data. |
EP175 | Mid-Market Mark & Unique Swap Identifier | S | Enhancement to provide counterparties with pre-trade mid-market marks in the context of swaps transactions that are not cleared through a clearing house. Addition of the RegulatoryTradeIDGrp component to the ExecutionReport(35=8) message. |
EP176 | Regulatory Transaction Type and Block Trade | XS | Support for the regulatory mandate or rule that a transaction complies with. |
EP177 | CFTC Part 43 & 45 Gap – Addendum | XS | Minor enhancements to distinguish notional off-facility swaps and block swap trades executed on-facility and to add more clearing requirement exceptions. |
EP178 | Batch Header | XS | Enhancement of the FIXML batch header to distinguish snapshot files from files with incremental updates. Note: This extension only applies to the FIXML encoding. |
EP179 | European Trade Reporting | L | Support for European Market Infrastructure Regulation (EMIR), requiring clearing houses, dealers and trade participants to report all derivative transactions to Trade Repositories (TRs). Addition of party role qualifier concept. |
EP180 | SEF Credit Limits | S | Support for credit hubs, auto acceptance and limit amount transparency. |
EP181 | Regulatory Trade Identifiers | XS | Support for trades that must be assigned to more than one identifier. |
EP182 | Prime Broker Credit Administration | S | Additional filter criteria for programmatical management of trading activity. |
EP183 | Parties Reference Data | S | Support for deferred entitlement and more granular entitlement definitions. Support for attachments in the Email(35=C) message, e.g. to convey disclaimers. |
EP184 | Quote Model Type & Quote Qualifier | M | Additional quote model (quote modification, i.e. new quote does not replace existing one), e.g. to support reserve quotes. |
EP185 | German HFT Act | S | Support of regulatory requirements from German High Frequency Trading Act. |
EP186 | Flagging of Automated OTC Trades | XS | Support of MMT Automated Trade Indicator. |
EP187 | CFTC Part 43 & 45 Reporting – Foreign Exchange | XL | Support 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. |
EP188 | Application Layer | L | Optimizations for the application layer to support high performance interfaces. Addition of a generic identifier (OrderRequestID(2422))for order handling messages. |
EP189 | Transfers | L | Transfer of customers’ positions from a defaulting clearing firm to the appropriate target clearing firm. |
EP190 | Market Data | M | Various minor enhancements of the market data messages. |
EP191 | Market Data Statistics | XL | Standardization of value added market data, especially historical data. |
EP192 | Regulatory Trade Reporting | L | Enhancements 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. |
EP193 | Regulatory Trade Reporting Phase 2 | S | Enhancements related to collateral management, regulatory reporting to trade repositories, allocation of bunched FX trades. |
EP194 | Pre-Trade Indication | XS | Support for relative valuation metrics and indication of a bid/ask pricing spread to a specified benchmark in the context of cash bond trading. |
EP195 | Reference Data | L | Various extensions to the standard FIX reference data messages for parties, entitlements, risk limits, securities and market structures. |
EP196 | Equity Post-Trade – Part 2 | S | Enhancement of the clearing submission workflow and additional granularity for fees. |
EP197 | Collateral Management | XS | Support for multi-party collateral pledge. |
EP198 | Indicative Execution | XS | Support for executions that arise from a match against orders or quotes requiring a confirmation, also referred to as conditional orders. |
EP199 | Position Identifier | M | Support for a unique position identifier and additional position transaction types. |
EP200 | Day Count Convention Description | XXS | Harmonization of the FIX naming and description of day count methods with the ISDA 2006 definitions. |
EP201 | Trade Capture and Market Data | M | Support for voice-brokered trades and multilateral compression in trade reporting. Support for option strategies in market data distribution. |
EP202 | Bloomberg SecurityIDSource | XXS | Change source name Bloomberg Open Symbology (BBGID) to OMG Financial Instrument Global Identifier (FIGI) security identifier. |
EP203 | CFTC PositionReport | XS | Enhance the ability to identify the payer and receiver of swap payment streams and bullet payments. |
EP204 | CommissionDataGrp Component | M | Support for multiple instances of commission with different types in a single message. |
EP205 | FINRA Retail Order Identification | XXS | Additional values for CustOrderCapacity(582) related to the tick size pilot program. |
EP206 | Timestamp Datatypes | M | Increase 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). |
EP207 | Price Types | XXS | Specific price type for spreads in addition to existing generic type for any spread-based pricing method. |
EP208 | CFTC Parts 43 & 45 Reporting – Equities Swaps | XXL | Support 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. |
EP209 | MSRB and FINRA TRACE Reporting | XS | Enhancements for trade reporting to cover exemptions and trade price adjustments. |
EP210 | Trade at Intermarket Sweep Order (TAISO) Price | XXS | Execution instruction to trade the order at a reference price, e.g. intermarket sweep order price. |
EP211 | Trade Capture | XS | Support for trade compression and self-match prevention |
EP212 | Trade Handling Instruction | XXS | Support for a trade reporting by a single but third-party relative to the trade. |
EP213 | Party Role Qualifier | XXS | Support for a change of party or account associated with a business entity. |
EP214 | Party Risk Limits | XS | Support for unsolicited publication of risk limit reports, risk limit status and additional risk limit types. |
EP215 | Equity Post Trade – Part 3 | XS | Introduction of a trade confirmation identifier and ability to affirm confirmation messages. |
EP216 | Market Model Typology v3 Support | M | Support for version 3 of the MMT standard (post-trade transparency). |
EP217 | Trade Capture | S | Support for the reporting of complex account structures and Trade at Settlement (TAS) / Trade at Marker (TAM) spread prices. |
EP218 | Self-Match Prevention | S | Extend self-match prevention to order handling messages (trade area). |
EP219 | Market Maker Qualifier | XXS | Support distinction of single versus multiple market makers for a given security. |
EP220 | Security Identifier Source | XXS | Support for Fidessa Instrument Mnemonic (FIM) as source for security identifiers. |
EP221 | OrderQtyData component presence | XXS | Revisions to the presence attribute to remove inconsistencies. |
EP222 | MiFID II and MiFIR Extensions Part 1 | L | Support for MiFID II and MiFIR. |
EP223 | Order Handling | L | Various order handling extensions, including support for cross trade requests. |
EP224 | Security Definition | XS | Explicit representation of eligibility for contrary instructions and in-the-money conditions for options. |
EP225 | IOI Messaging to Support AFME/IA Framework | S | Common taxonomy for defining IOIs in terms of their price, underlying liquidity and, for client natural IOIs, their temporal availability. |
EP226 | Quote Negotiation | XS | Additional quote qualifiers and use of PaymentGrp component in execution reports to support OTC derivatives. |
EP227 | Trade Reporting | S | Support for side-specific collateral of trades, new trade types and handling instructions. |
EP228 | MiFID II and MiFIR Extensions Part 2 | M | Support for MiFID II and MiFIR. |
EP229 | MiFID II and MiFIR Extensions Part 3 | M | Support for MiFID II and MiFIR. |
EP230 | Price Qualifiers | M | Information on the composition of quote prices in the fixed income trading process. |
EP231 | MIFID II RTS 27 | L | Enhancement of value added market data for MiFID II. |
EP232 | ESMA RTS 22 Transaction Reporting | S | Support for additional personal data, order transmitters, and full instrument names. |
EP233 | MiFID II Equity Post Trade Commission Unbundling | XS | Additional commission (sub)types to support payment for research (CSA and RPA). |
EP234 | Allocations of Multileg Order/Trade | XS | Identification of the leg of a multileg order or trade. |
EP235 | ESMA RTS 2 and RTS 23 Reference Data | L | Support for reporting of securities reference data under MiFID II. |
EP236 | MiFID II RTS 28 | M | Enhancement of value added market data for MiFID II. |
EP237 | MiFID II and MiFIR Extensions Part 4 | M | Support for MiFID II and MiFIR. |
EP238 | ESMA RTS 2 Segmentation Criteria and Extensions to Option Type and Swap Subtype | M | Support for liquidity assessment, LIS and SSTI thresholds required by ESMA. |
EP239 | Allocation Instruction Alert Request | S | Support for group allocations and concept of Notional Value Average Price (NVAP). |
EP240 | Average Pricing and Markup | S | Enhancements to support trade submission and give-up by clients of a Central Counterparty (CCP) clearing house. |
EP241 | Average Pricing | S | Enhancements to assist trade give-up by clients of a Central Counterparty (CCP) clearing house. |
EP242 | UMTF Symbology | XXS | Support new security identifier scheme UMTF (Uniform Multilateral Trading Facility). |
EP243 | Unit of Measure and Trade Sub Type | XXS | Support heat rates for energy commodity trades and Trade At Cash Open (TACO) trading. |
EP244 | India NSE PAN ID | XXS | Support India permanent account number (PAN) as additional source for party identifiers. |
EP245 | Automatic Claim Handling | XS | Enhance allocation handling instructions for clearing firms to cover give-up to oneself. |
EP246 | Confirmation | M | Support third-party facility providing the confirmation matching function between the dealer and the investment manager. |
EP247 | FX Trade Aggregation | M | Support for trade aggregation, e.g. for FX trading between buy-side institutions and sell-side FX banks |
EP248 | FDID (Firm Designated Identifier) | XXS | Unique identifier for each trading account required by US SEC Rule 613 (CAT NMS Plan) |
EP249 | Post Post-trade Confirmation Payments | XL | Support for for reconciliation and agreement of cash movement activities between an Investment Manager and its Broker. |
EP250 | Share Trading Obligation | XXS | Support for differences in UK share trading obligations due to Brexit. |
EP251 | Recording consent to facilitate trades | XXS | Explicit consent for client facilitation activities required by the Hong Kong SFC (Securities and Futures Commission). |
EP252 | Liquidity Indicator | XXS | Additional liquidity indicators for neutrality and for orders requiring a confirmation. |
EP253 | CAT/FIX Mapping Phase 2A | M | Support for data reporting required by the CAT (Consolidated Audit Trail) NMS Plan. |
EP254 | EU SFTR Reporting | XL | Support for EU Securities Financing Transactions (SFT) Reporting (SFTR regulations). |
EP255 | STO Exemption | XXS | Support for exemptions from share trading obligations on the order level. |
EP256 | IIROC Client Identification | S | Support for IIROC Rules Notice 19-0071 – Amendments Respecting Client Identifiers. |
EP257 | Targeted Trade Advertisements | XS | Support to target or block firms from trade advertisements. |
EP258 | Bilateral Repo Trade and Post-Trade | S | Support for trade and post-trade workflows for bilateral repo transactions. |
EP259 | Related Orders | M | Support for order aggregation on execution reports. |
EP260 | Application Version for FIX Latest | XS | Application version identifier for FIX Latest. |
EP261 | RegulatoryReportType Extension | XS | Additional support for CAT (Consolidated Audit Trail) event types. |
EP262 | APAC Master SPSA | XXS | Additional sources for parties to support segregated accounts in the APAC region. |
EP263 | Regulatory Timestamps for Quotes | XS | Support for repeating group of timestamps in quote messages. |
EP264 | CAT/FIX Mapping Phase 2 – Update | S | Additional support for data reporting required by CAT (Consolidated Audit Trail). |
EP265 | Previous Quote Identifier | XS | Support for related quotes in the Quote(35=S) message. |
EP266 | Extension for Unique Product Identifier | S | Support for the UPI standard (ISO-4914). |
EP267 | Market Data Extensions | S | Additional market data entry types, e.g. to support TWAP and financing rates. |
EP268 | Market Model Typology v3.5 Support | M | Support for version 3.5 of the MMT standard (post-trade transparency). |
EP269 | Trade Compression Extension | XS | Support distinction between bilateral and multilateral compression. |
EP270 | BeginString and FIX Latest | S | Adding values to BeginString(8) to support FIX Latest over legacy FIX Session Protocols. |
EP271 | Errors and Omissions 2021 | M | Correction of errors and omissions in the FIX Protocol. |
EP272 | Code set extensions 2021 | S | Additional values for selected fields, e.g. SecurityType(167). |
EP273 | Extensions for Digital Asset Trading | L | Standardization of trading for digital assets including cryptocurrencies. |
EP274 | Anonymous Trade Indicator Extension | XS | Support for regulatory requirement related to trade reporting of swaps into an SDR. |
EP275 | RegulatoryTradeIDGrp Enhancements | S | Support for regulatory requirement related to the use of USI and UTI in transaction reporting. |
EP276 | Security Reference Data Extensions | XS | Supplemental field to uniquely identify an instrument. |
EP277 | Market Model Typology v4.0 Support | M | Support for version 4.0 of the MMT standard (post-trade transparency). |
EP278 | Liquidity Indicator Extension | XS | Clarification of LastLiquidityInd(851)=0 (Neither added nor removed liquidity) by addition of new values (“Unknown” and “Other”). |
EP279 | Clearing Enhancements | S | Support for initial broker owning a trade and addition of TrdMatchID(880) to the allocation and confirmation messages. |
EP280 | Self-Match Prevention Instruction | S | Support for the order submitter to indicate a self-match prevention (SMP) instruction. |
EP281 | Settlement Status Management | L | Communication of settlement status between investment managers and brokers, custodians or an outsource (vendor system). |
EP282 | Errors and Omissions 2022 | M | Correction of errors and omissions in the FIX Protocol. |
EP283 | Post-Trade Transparency for UK Equities | S | Support for post-trade transparency flags CLSE (trade at market closing price) and NETW (negotiated transaction) issued by the FCA. |
EP284 | EMIR Report Tracking Number (RTN) | XS | Support for regulatory identifier (predecessor was Transaction Reference Number (TRN)). |
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 | Value space (ISO/IEC 11404:2007) |
---|---|---|
int | Integer number. | integer |
TagNum | A field’s tag number. | ordinal |
SeqNum | A message sequence number. | ordinal |
NumInGroup | The number of entries in a repeating group. | size |
DayOfMonth | Day number within a month (values 1 to 31) | integer range 1..31 |
float | All 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 |
Qty | Either a whole number (no decimal places) of “shares” (securities denominated in whole units) or a decimal value containing decimal places for non-share quantity asset classes (securities denominated in fractional units). | Scaled
radix=10 |
Price | A 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 |
PriceOffset | A price offset, which can be mathematically added to a Price. Note the number of decimal places may vary and some fields such as LastForwardPoints may be negative. | Scaled
radix=10 |
Amt | Typically representing a Price times a Qty. | Scaled
radix=10 |
Percentage | A percentage (e.g. 0.05 represents 5% and 0.9525 represents 95.25%). Note the number of decimal places may vary. | real |
char | A single character. All char fields are case sensitive (i.e. m != M). | character
repertoire=8859-1 (Latin-1)1 |
Boolean | Boolean. | boolean |
String | Text. All String fields are case sensitive (i.e., “morstatt” != “Morstatt”). | characterstring
repertoire=8859-1 (Latin-1)2 |
MultipleCharValue3 | Set of character codes. | set element=character
repertoire=8859-1 (Latin-1)4 |
MultipleStringValue5 | Set of string codes. | set element=character string
repertoire=8859-1 (Latin-1)6 |
Country | External 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 |
Currency | External code set ISO 4217:2015 Codes for the representation of currencies and funds. | array element=character index-lowerbound=1 index-upperbound=3 |
Exchange | External 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 |
MonthYear | Month and year of instrument maturity or expiration. | characterstring |
UTCTimestamp | UTC date/time. | time
time-unit=millisecond or up to picosecond by bilateral agreement |
UTCTimeOnly | UTC time of day. | time
time-unit=millisecond or up to picosecond by bilateral agreement |
UTCDateOnly | UTC date. | time
time-unit=day |
LocalMktDate | Local date. | time
time-unit=day |
TZTimeOnly | Time of day with timezone | time
time-unit=millisecond or up to picosecond by bilateral agreement |
TZTimestamp | Date/time with timezone. | time
time-unit=millisecond or up to picosecond by bilateral agreement |
Length7 | Length of a data field in octets. | size |
data8 | Opaque 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) |
Tenor | Time 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 |
Reserved100Plus | Values 100 and above are reserved for bilaterally agreed upon user defined enumerations. | integer range minInclusive=100 |
Reserved1000Plus | Values 1000 and above are reserved for bilaterally agreed upon user defined enumerations. | integer range minInclusive=1000 |
Reserved4000Plus | Values 4000 and above are reserved for bilaterally agreed upon user defined enumerations. | integer range minInclusive=4000 |
XMLData | XML document. | characterstring
repertoire=(value of XML encoding declaration) |
Language | External 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 |
LocalMktTime | Time 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 https://maia.usno.navy.mil/information/what-is-a-leap-second).
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.
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.
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). When this component is used one of these three time expression methods must be specified.
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.
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 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.
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.
If the floating rate index or the rate calculation goes negative for a calculation period and PaymentStreamNegativeRateTreatment(40807)=1 (Negative interest rate method), then 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. When the First Observation Offset Duration is specified, the Fixing Lag Interval prior to each calculation starts with the observation. When 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.
StreamEffectiveDateBusinessCenterGrp
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: StreamEffectiveDateBusinessCenterGrp, 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
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 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. 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 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. NestedParties4 is one of those components. It is not a global component but a local component in the single/general order handling category of the trade area.
The component layouts are available here: Parties, NestedParties, NestedParties2, NestedParties3, RootParties3.
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. NstdPtys4SubGrp is one of those components. It is not a global component but a local component in the single/general order handling category of the trade area.
The component layouts are available here: PtysSubGrp, NstdPtysSubGrp, NstdPtys2SubGrp, NstdPtys3SubGrp, RootSubParties.
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. Relationships between parties can be inferred or explicitly specified.
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.
RelatedOrderGrp
This component is a repeating group that may be used to identify orders that are related to the order identified outside of this component for a business purpose. For example, the bundling of multiple orders into a single order. 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.
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.
SideRegulatoryTradeIDGrp is a conceptually identical component. It is not a global component but a common component of the post-trade area.
The component layout is available here.
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 component contain leg level information (indicated by the use of CommissionLegRefID(2649) in CommissionDataGrp component). 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.
AllocCommissionDataGrp is a conceptually identical component. It is not a global component but a common component of the post-trade area.
The component layout is available here.
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.
LegFinancingContractualDefinitionGrp is a conceptually identical global component.
The component layout is available here.
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.
LegFinancingContractualMatrixGrp is a conceptually identical global component.
The component layout is available here.
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.
LegFinancingDetails is a conceptually identical global component.
The component layout is available here.
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.
LegFinancingTermSupplementGrp is a conceptually identical global component.
The component layout is available here.
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.
LegStipulations and UnderlyingStipulations are conceptually identical global components.
The component layout is available here.
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. 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.
When this component 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 shall 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 (see here for a template and process guideline) 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 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.
Appendix: Global Components
Many of the FIX application messages are composed of common “building blocks” or sets of data fields. For instance, almost every FIX application message has the set of symbology-related fields used to define the “Instrument”: Symbol(55), SymbolSfx(65), SecurityIDSource(22), SecurityID(48) … ExchangeLookAlike(2603). Rather than replicate a common group of fields, the FIX specification specifies components which are simply referenced by component name within each application message which uses them. Thus when reviewing a specific message definition, the appropriate group of fields should be expanded and used whenever a component is identified.
Note that some components may be part of repeating groups thus if the component is denoted as part of a repeating group, then the entire group of fields representing the component are to be specified at the component’s repeating group “level” in the message definition and follow repeating group rules, e.g. concerning field order in case of tagvalue syntax.
The components identified within this section are referred to as “Global Components”. They are “Common Components” that are used across the two or more of the main business areas (pre-trade, trade, post-trade, infrastructure) and not just across the categories of a single business area.