Log in

Introduction to FIX

FIX (Financial Information eXchange) is a messaging standard that facilitates communication between participants in the financial markets, including institutional investors, broker-dealers, exchanges and trading platforms.

The FIX protocol serves as the de facto standard for transmitting pre-trade and trade-related information. Its widespread adoption helps ensure consistent communication protocols across global trading systems.

History of the FIX standard

Originally developed in the early 1990s, FIX has since evolved into a widely adopted protocol across asset classes, including equities, fixed income, derivatives, and foreign exchange.

Until the early 2000s, FIX existed as a single standard comprising message encoding, session management, and application-level semantics.

In 2001, the specification was split into a family of related standards, allowing applications the flexibility to use alternative transports, encodings, and session behaviour.

The classic FIX stack still remains the most commonly used. It consists of:

Message exchange and structure

Regardless of the FIX stack being used, FIX always involves a bidirectional exchange of messages, each made up of a series of fields. Messages may be either session-level, such as a request to terminate the session, or application-level, such as a trade request. The rules of engagement define which messages are supported, and certain messages will be mandatory for the chosen session protocol.

Within a message, fields may be required, conditionally required, or optional. The rules of engagement should specify which fields are required by which messages, and when. The order in which fields occur generally has no meaning.

Integration and rules of engagement

The FIX protocol does not provide a mechanism for systems to programmatically negotiate aspects of the connection such as the encoding, or what messages and fields are supported. Those details are agreed between parties, typically as part of an integration effort.

Generally, one party will have existing rules of engagement, also called a FIX spec, which the other party will implement in accordance with. It's also common for organizations to have different rules of engagement for different applications or systems.

Adding FIX to your application

Applications generally make use of a third-party FIX engine - a library implementing the low-level protocol - to allow developers to focus on application logic.

FIX engines typically support both server ("acceptor") and client ("initiator") behaviour.

QuickFIX is a popular free and open-source choice, which is available in multiple languages.