FIX 4.4 Protocol Overview¶
The Financial Information eXchange (FIX) protocol is an open, widely used messaging standard for the electronic exchange of trade-related information.\ Version FIX 4.4, remains one of the most adopted versions across the financial industry.
Key Features¶
- Transport-independent: FIX defines the message structure, not the transport. TCP/IP is most common, but other transports are possible.
- Human-readable format: Messages are ASCII-based key--value pairs
(
tag=value). - Low latency: Optimized for fast and reliable real-time trading communication.
- Extensible: Supports custom tags while keeping compatibility with the standard.
- Wide adoption: Used by brokers, exchanges, asset managers, and banks worldwide.
Message Structure¶
Each FIX message is composed of fields separated by the delimiter
SOH (ASCII 0x01):
8=FIX.4.4|9=176|35=D|49=CLIENT1|56=BROKER1|34=215|52=20250912-15:32:10.123|
11=12345|21=1|55=EUR/USD|54=1|38=100000|40=2|44=1.2345|59=0|10=128|
Where: - 8 -- BeginString (FIX.4.4) - 9 -- BodyLength - 35
-- MsgType (e.g., D = New Order -- Single) - 49 -- SenderCompID -
56 -- TargetCompID - 11 -- ClOrdID - 55 -- Symbol - 54
-- Side (1 = Buy, 2 = Sell) - 38 -- OrderQty - 40 -- OrdType (2
= Limit) - 44 -- Price - 59 -- TimeInForce (0 = Day) - 10 --
CheckSum
Common Message Types in FIX 4.4¶
- D -- New Order -- Single\
- F -- Order Cancel Request\
- G -- Order Cancel/Replace Request\
- 8 -- Execution Report\
- 9 -- Order Cancel Reject\
- A -- Logon\
- 5 -- Logout\
- 0 -- Heartbeat\
- 1 -- Test Request
Sessions in FIX¶
FIX sessions are managed via session-level messages: - Logon (A) -- starts the session - Heartbeat (0) -- keeps the session alive - Test Request (1) -- checks connectivity - Resend Request (2) -- recovers lost messages - Sequence Reset (4) -- resets message sequence - Logout (5) -- ends the session
Each session is identified by: - SenderCompID - TargetCompID -
Message sequence numbers
Advantages of FIX 4.4¶
- Standardization: Industry-wide acceptance ensures interoperability.
- Transparency: Clear, auditable trade messages.
- Flexibility: Supports multiple asset classes -- equities, FX, derivatives, fixed income.
- Extensibility: Custom tags allow broker-specific functionality.
- Backward compatibility: FIX 4.4 is compatible with many 4.x implementations.
Limitations¶
- Verbose compared to binary protocols (e.g., FIX/FAST, FIXP).
- Requires careful session management (sequence numbers, heartbeats).
- Less suited for ultra-low latency environments compared to newer protocols.
Resources¶
Next Steps¶
In this documentation you will find: - Implementation details of
FIX-like commands in the Commands class. - Mapping of internal API
methods to FIX 4.4 message types. - Examples of usage and integration
with trading systems.