ZagTrader

FIX 4.2 vs FIX 4.4: What Changed

FIX 4.2 and FIX 4.4 are the two versions most order-routing sessions still run. FIX 4.4 keeps the session layer as it was but changes how executions are reported, replaces several single-purpose fields with reusable components such as Parties and Instrument, and roughly doubles the number of messages.

Message types
46 to 93
Messages added
47
Fields
405 to 912
Fields added / removed
542 / 35

BeginString: FIX.4.2 and FIX.4.4. Counts come from the standard data dictionaries.

Migrating from FIX 4.2 to FIX 4.4

Value changes in key fields

Enumerated values added or removed between the two versions.

MsgType (35)

Added in FIX 4.4: n XML Message; o Registration Instructions; p Registration Instructions Response; q Order Mass Cancel Request; r Order Mass Cancel Report; s New Order Cross; t Cross Order Cancel Replace Request; u Cross Order Cancel Request; v Security Type Request; w Security Types; x Security List Request; y Security List; z Derivative Security List Request; AA Derivative Security List; AB New Order Multileg; AC Multileg Order Cancel/Replace; AD Trade Capture Report Request; AE Trade Capture Report; AF Order Mass Status Request; AG Quote Request Reject; AH RFQ Request; AI Quote Status Report; AJ Quote Response; AK Confirmation; AL Position Maintenance Request; AM Position Maintenance Report; AN Request For Positions; AO Request For Positions Ack; AP Position Report; AQ Trade Capture Report Request Ack; AR Trade Capture Report Ack; AS Allocation Report; AT Allocation Report Ack; AU Confirmation Ack; AV Settlement Instruction Request; AW Assignment Report; AX Collateral Request; AY Collateral Assignment; AZ Collateral Response; BA Collateral Report; BB Collateral Inquiry; BC Network Counterparty System Status Request; BD Network Counterparty System Status Response; BE User Request; BF User Response; BG Collateral Inquiry Ack; BH Confirmation Request

OrdStatus (39)

Not in FIX 4.4: 5 Replaced

OrdType (40)

Added in FIX 4.4: J Market if touched; K Market with left over as limit; L Previous fund valuation point; M Next fund valuation point

Not in FIX 4.4: 5 Market on close; A On close; B Limit on close; C Forex market; F Forex limit; H Forex previously quoted

TimeInForce (59)

Added in FIX 4.4: 7 At the close

ExecType (150)

Added in FIX 4.4: F Trade; G Trade correct; H Trade cancel; I Order status

Not in FIX 4.4: 1 Partial fill; 2 Fill

SessionRejectReason (373)

Added in FIX 4.4: 12 XML validation error; 13 Tag appears more than once; 14 Tag specified out of required order; 15 Repeating group fields out of order; 16 Incorrect NumInGroup count for repeating group; 17 Non; 99 Other

OrdRejReason (103)

Added in FIX 4.4: 9 Trade along required; 10 Invalid investor ID; 11 Unsupported order characteristic; 13 Incorrect quantity; 14 Incorrect allocated quantity; 15 Unknown account; 99 Other

CxlRejReason (102)

Added in FIX 4.4: 4 Unable to process order mass cancel request; 5 OrigOrdModTime (586) did not match last TransactTime (60) of order; 6 Duplicate ClOrdID (11) received; 99 Other

BusinessRejectReason (380)

Added in FIX 4.4: 6 Not authorized; 7 Deliver to firm not available at this time

Messages added in FIX 4.4 (47)

Messages renamed

  • 35=J: Allocation becomes AllocationInstruction
  • 35=b: QuoteAcknowledgement becomes MassQuoteAcknowledgement

Field changes in the core order messages

6 messages most sessions carry, compared field by field.

New Order Single 35=D

168 fields added, 7 removed, counting fields inside components and repeating groups.

Required in FIX 4.2, optional in FIX 4.4: HandlInst (21), Symbol (55)

Removed: Rule80A (47), ExecBroker (76), ClientID (109), CustomerOrFirm (204), MaturityDay (205), ClearingFirm (439), ClearingAccount (440)

Order Cancel/Replace Request 35=G

166 fields added, 7 removed, counting fields inside components and repeating groups.

Required in FIX 4.2, optional in FIX 4.4: HandlInst (21), Symbol (55)

Removed: Rule80A (47), ExecBroker (76), ClientID (109), CustomerOrFirm (204), MaturityDay (205), ClearingFirm (439), ClearingAccount (440)

Order Cancel Request 35=F

107 fields added, 4 removed, counting fields inside components and repeating groups.

Required in FIX 4.2, optional in FIX 4.4: Symbol (55)

Removed: ExecBroker (76), ClientID (109), MaturityDay (205), SolicitedFlag (377)

Execution Report 35=8

269 fields added, 7 removed, counting fields inside components and repeating groups.

Required in FIX 4.2, optional in FIX 4.4: Symbol (55)

Removed: ExecTransType (20), Rule80A (47), ExecBroker (76), ClientID (109), MaturityDay (205), ClearingFirm (439), ClearingAccount (440)

Logon 35=A

4 fields added, counting fields inside components and repeating groups.

Added: TestMessageIndicator (464), Username (553), Password (554), NextExpectedMsgSeqNum (789)

Fields renamed (20)

Same tag number and wire format, new name. Code generated from a dictionary changes.

TagFIX 4.2 nameFIX 4.4 name
22IDSourceSecurityIDSource
23IOIidIOIID
27IOISharesIOIQty
32LastSharesLastQty
33LinesOfTextNoLinesOfText
53SharesQuantity
63SettlmntTypSettlType
64FutSettDateSettlDate
74AvgPrxPrecisionAvgPxPrecision
77OpenClosePositionEffect
80AllocSharesAllocQty
193FutSettDate2SettlDate2
211PegDifferencePegOffsetValue
218SpreadToBenchmarkSpread
286OpenCloseSettleFlagOpenCloseSettlFlag
304TotQuoteEntriesTotNoQuoteEntries
305UnderlyingIDSourceUnderlyingSecurityIDSource
389DiscretionOffsetDiscretionOffsetValue
393TotalNumSecuritiesTotNoRelatedSym
418TradeTypeBidTradeType

Fields removed (35)

Fields added (542)

Show 542 fields

Version dictionaries

Other comparisons

Field and message data comes from the QuickFIX data dictionaries for FIX 4.0 to 5.0 SP2 and FIXT 1.1, used under the QuickFIX Software License. This product includes software developed by quickfixengine.org (http://www.quickfixengine.org/). Enumerated value names are converted to plain text for reading.