FIX Protocol Basics – Quick Guide for Trade Support & Developers
What is FIX Protocol?
FIX (Financial Information eXchange) is an electronic communications protocol used globally for real-time exchange of securities transaction information. It standardizes how buy-side and sell-side firms communicate order and execution data.
Core Message Types
| MsgType (35) | Name | Description |
|---|---|---|
| A | Logon | Initiates a FIX session |
| 0 | Heartbeat | Keeps session alive |
| 1 | TestRequest | Tests connectivity |
| 2 | ResendRequest | Requests retransmission of messages |
| 3 | Reject | Session-level reject |
| 4 | SequenceReset | Resets sequence numbers |
| 5 | Logout | Ends a FIX session |
| D | NewOrderSingle | Submit a new order |
| 8 | ExecutionReport | Order status update |
| F | OrderCancelRequest | Cancel an order |
| G | OrderCancelReplaceRequest | Modify an order |
| 9 | OrderCancelReject | Cancel request rejected |
Tags Overview
FIX messages consist of tag=value pairs separated by a delimiter (typically SOH \u0001 or pipe |). Each tag is a numeric identifier representing a field.
Common Tags:
- 8 – BeginString (FIX version, e.g., "FIX.4.4")
- 9 – BodyLength (message length)
- 10 – CheckSum (message integrity)
- 11 – ClOrdID (Client Order ID)
- 34 – MsgSeqNum (Sequence number)
- 35 – MsgType (Message type)
- 38 – OrderQty (Order quantity)
- 40 – OrdType (Order type: 1=Market, 2=Limit)
- 41 – OrigClOrdID (Original ClOrdID for cancels)
- 44 – Price (Limit price)
- 49 – SenderCompID (Sender identifier)
- 52 – SendingTime (Timestamp)
- 54 – Side (1=Buy, 2=Sell)
- 55 – Symbol (Security symbol)
- 56 – TargetCompID (Target identifier)
- 150 – ExecType (Execution type)
- 151 – LeavesQty (Remaining quantity)
- 371 – RefTagID (Referenced tag in rejects)
- 372 – RefMsgType (Referenced message type)
Message Structure
Example NewOrderSingle:
8=FIX.4.4|9=123|35=D|11=ORDER123|34=1|49=SENDER|52=20240101-10:00:00|54=1|55=AAPL|38=100|40=2|44=150.00|56=TARGET|10=123|
Structure: BeginString | BodyLength | MsgType | Fields... | CheckSum
Quick Glossary
Session Messages
- Logon (A): Establishes session
- Heartbeat (0): Keep-alive
- Logout (5): Ends session
- Reject (3): Session error
Order Messages
- NewOrderSingle (D): New order
- ExecutionReport (8): Order status
- OrderCancelRequest (F): Cancel
- OrderCancelReplaceRequest (G): Modify
Key Concepts
- Sequence Number: Message ordering
- ClOrdID: Client order identifier
- Side: Buy (1) or Sell (2)
- OrdType: Market (1) or Limit (2)
Common Issues
- Sequence Gaps: Missing messages
- Missing Fields: Required tags absent
- Invalid Values: Wrong enum/number
- Rejects: Validation failures
Learn More
- FIX Reject 371 – Causes and Fixes
- FIX Sequence Gaps – Detection and Recovery
- NewOrderSingle Common Errors
- OrderCancelReject Troubleshooting
Ready to analyze your FIX logs? Upload your FIX protocol logs to FIX Doctor for instant error detection and analysis.
Upload FIX Log