The FIX Global Technical Committee is happy to announce that the normative FIX Specification has been successfully refactored on the basis of FIX Version 5.0 Service Pack 2 Volume 1 – 7 and is now published under https://fixtrading.org/online-specification. It is the starting point for the inclusion of the large number of Extension Packs that have been published since FIX Version 5.0 Service Pack 2. The term “FIX Latest” represents the normative FIX Specification including the latest extension pack.
Previously, the FIX Specification was only available as Word or PDF document which was more or less manually updated. It also contained not only the normative parts of the FIX Specification but also specifications for encodings (tagvalue, FIXML) and for the FIX Session Layer (prior to FIX 5.0). It also contains some implementation guideline material scattered throughout Volumes 3 to 5 and especially in Volume 7 that we do not consider to be part of the normative specification. We have now retrieved the normative parts and converted them into a generic markdown format that allows us to generate not only Word and PDF documents but also web pages for an online representation. It is hence a single source consisting of manually edited elements and automatically generated layouts of messages and components coming directly out of FIX Orchestra, the successor to the FIX Repository. The plan is to eventually incorporate the entire normative FIX Specification into FIX Orchestra as it is also the source for the generation of FIXimate, the online representation of all standard FIX messages, fields, and valid values. This will enable us to provide more information as part of FIXimate and further increase the level of automation.
The initial publication of the normative FIX Specification is called baseline and reflects the normative parts of FIX Version 5.0 Service Pack 2, i.e. mainly previous Volumes 3, 4, and 5 but also parts of Volume 1 regarding common components and application messages. The baseline is already more than just a simple cut and paste from Volumes 1-7, e.g. references to FIX messages, fields, and valid values have been standardised.
The task at hand is now to enhance the baseline with the normative parts of all Extension Packs published after FIX Version 5.0 Service Pack 2, starting with EP 98 – LSE FillsGrp Yield Extension and currently ending with EP254 – ESMA SFTR Extensions. The online specification (and the related PDF documents for download) indicate the last extension pack that has already been included, i.e. “as of EP97” for the baseline. Please be patient with us while we try to incorporate the outstanding extension packs (more than 150!) into the online specification as quickly as feasible. The objective is then to make the update of the FIX Specification part of the implementation process of each and every extension pack, providing you with the latest and complete specification immediately after the publication of an extension pack. The individual ASBUILT document of an extension pack will still be made available at the current location on the website.
So, how did we structure the new online specification? It consists of the following five business areas (called sections in FIX Orchestra). Each of the business areas pre-trade, trade, and post trade starts with a simple list of all its components and messages, followed by the description of each of its categories. A category consists of a description for each of its messages. Finally, there is an appendix with all the component and message layouts, sorted by category. Note that the appendix is created out of FIX Orchestra and is consistent with the setting of “as of EPnnn”, i.e. the initial online specification only contains messages and fields up to EP97 which is equivalent to FIX Version 5.0 Service Pack 2.
The introduction mainly covers the so-called Global Common Components that are repeating or non-repeating components used across two or more business areas. It also contains the description of the semantics for the FIX data types. Note that the mapping of the semantic data types to a wire format (e.g. ASCII, binary) depends on the chosen encoding. FIX supports a number of different encodings beyond tagvalue and FIXML such as Simple Binary Encoding, Google Protocol Buffers and JSON. Please see FIX Family of Standards for details. Lastly, the introduction explains the concept of user defined fields (aka UDFs). UDFs provide a significant flexibility when designing FIX interfaces. On the other hand, use of UDFs reduces standardisation and the Global Technical Committee always urges the members of the FIX Trading Community to come forward asking for extensions instead of permanently making UDFs a part of their rules of engagement.
The business area of pre-trade as of EP97 covers multiple categories that are identical to the representation you find in FIXimate.
- Event Communication
- Quotation Negotiation
- Market Data
- Securities Reference Data
- Market Structure Reference Data
The business area of trade as of EP97 covers multiple categories that are identical to the representation you find in FIXimate.
- Single General Order Handling (includes link to Order State Change Matrices)
- Program Trading
- Order Mass Handling
- Cross Orders
- Multileg Orders
The business area of post-trade as of EP97 covers multiple categories that are identical to the representation you find in FIXimate.
- Settlement Instruction
- Registration Instruction
- Trade Capture
- Position Maintenance
- Collateral Management
The business area of infrastructure as of EP97 covers multiple categories that are identical to the representation you find in FIXimate.
- Business Reject
- User Management
There is also a PDF document for download for each of the five business areas and an additional one for Order State Change Matrices. They support a navigation pane to enable direct access to a specific chapter. We have decided not to generate a list of fields and valid values similar to what was previously provided with Volume 6. The simple reason is that FIXimate already offers such a list as well as a search box in which you can enter a tag number to pull up the description and valid values of a field.
Even though the addition of content from extension packs takes priority, we also plan to enhance the look and feel of the online specification by adding more navigation capabilities and diagrams. At this point we welcome any feedback from the FIX Trading Community and a thread has been added to the FIX discussion forum to engage with you on your thoughts and ideas.