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\
- 8 -- Execution Report\
- A -- Logon\
- 5 -- Logout\
- 0 -- Heartbeat\
- 1 -- Test Request
Current ScaleTrade FIX Scope¶
The current server-side implementation documents the following working subset:
- A --
Logon - 5 --
Logout - 0 --
Heartbeat - 1 --
Test Request - D --
NewOrderSingle - 8 --
ExecutionReport - V --
MarketDataRequest - W --
MarketDataSnapshotFullRefresh
Planned but not yet fully implemented in the current documented FIX scope:
- F --
OrderCancelRequest - H --
OrderStatusRequest - AF --
OrderMassStatusRequest
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¶
- FIX Trading Community
- FIX 4.4 Specification (PDF)
- Current ScaleTrade FIX44.xml
- Specification and Download Guide
Pages in This Section¶
Connection and Logon-- session bootstrap and authentication rulesHeartbeat and Test Request-- session keepaliveLogout-- graceful session shutdownNewOrderSingle-- order submissionExecutionReport-- server-side trading responseMarketDataRequest-- quote subscription flowMarketDataSnapshotFullRefresh-- quote delivery formatSpecification-- current downloadableFIX44.xml