The Financial Information eXchange (FIX) protocol is an open electronic communications protocol designed to standardise and streamline electronic communications in the financial services industry supporting multiple formats and types of communications between financial entities including trade allocation, order submissions, order changes, execution reporting and advertisements.
The core FIX protocol and family of messaging specification standards is maintained by FIX Trading Community™ - an independent non-profit, industry-driven standards body. FIX Trading Community™ continues to drive the adoption and evolution of the FIX standards based on industry working groups and requirements.
The FIX protocol and messaging standards include a significant number of acronyms that are generally grouped under:
- The FIX Session layer that provides reliable, ordered, recoverable communication between FIX counter-parties. From the FIX 5.0 version the session layer was separated from the application layer. The FIX Transport Session Protocol (FIXT) is the application version independent session layer that is used in conjunction with FIX 5.0SP2 and later versions of FIX. The FIX Performance Session Layer (FIXP) standard is a high performance, high efficiency, reliable session level protocol. The FIX Engine implementations support Initiator and Accepter roles with a bi-directional stream of ordered messages between two parties within a continuous sequence number series with heartbeats and sequence gap and replay recovery support.
- The FIX Application level messaging that specifies the fields and messages used at an application login level. It is the FIX application level messages that most developers will work with to create and consume message based communications with counter-parties via the APIs of the FIX Engine implementation in use. It is also worth noting that the FIX messaging standards are designed to be extensible - meaning that it is common practice to add FIX tags that extend the base message standards based on bilateral or multilateral usage conventions. Such usage is usually defined in a "FIX Rules of Engagement" (FIX RoE) specification that is published by the relevant exchange, investment firm or utility for implementation by counter-parties. Such extensions are typically know as "FIX Dictionary" FIX dialect variants that extend or specialise the base FIX messaging standards.
- The FIX Encoding standards such as the most commonly used implementations for "standard" FIX tag/value pairs, FIXML XML encoding, Simple Binary Encoding (SBE) and FIX Adapted for Streaming (FAST). The FIX Engine implementation will include API functionally to work with tag/value pairs as well as FIX to/from FIXML convertors, SBE Encoder/Decoders and FAST Encoder/Decoders.
It is also important to note that the FIX standards are technical specifications rather than concrete implementations. The actual technical implementations are known as "FIX Engines" that support the FIX protocol session, application and encoding specifications. A key benefit of the FIX protocol standards are that they mandate the behavior of the connected counter-parties so that FIX Engine implementations from different providers are interoperable.
In this specific context, reference the OnixS FIX Engine C++, .NET Framework, .NET Core and Java implementations and the free online OnixS FIX Dictionary reference for a quick and easy to use contemporary dictionary of the FIX Protocol standards.