ZagTrader

FIX 4.3 vs FIX 4.4: What Changed

FIX 4.3 introduced the component model (Parties, Instrument) and most of the execution reporting changes; FIX 4.4 finishes them. It removes the last FIX 4.2-style execution codes, renames a set of settlement fields and adds the messages for trade capture acknowledgement, position management and collateral.

Message types
68 to 93
Messages added
25
Fields
635 to 912
Fields added / removed
298 / 21

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

Migrating from FIX 4.3 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: 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)

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

ExecType (150)

Not in FIX 4.4: 1 Partial fill; 2 Fill

SessionRejectReason (373)

Added in FIX 4.4: 99 Other

OrdRejReason (103)

Added in FIX 4.4: 13 Incorrect quantity; 14 Incorrect allocated quantity; 15 Unknown account; 99 Other

Not in FIX 4.4: 12 Surveillence option

CxlRejReason (102)

Added in FIX 4.4: 99 Other

Messages added in FIX 4.4 (25)

Messages renamed

  • 35=J: Allocation becomes AllocationInstruction
  • 35=P: AllocationAck becomes AllocationInstructionAck
  • 35=AC: MultilegOrderCancelReplaceRequest becomes MultilegOrderCancelReplace

Field changes in the core order messages

6 messages most sessions carry, compared field by field.

New Order Single 35=D

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

Required in FIX 4.3, optional in FIX 4.4: HandlInst (21)

Removed: Rule80A (47), NetMoney (118), AccruedInterestRate (158), AccruedInterestAmt (159), QuantityType (465)

Order Cancel/Replace Request 35=G

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

Required in FIX 4.3, optional in FIX 4.4: HandlInst (21)

Removed: Rule80A (47), NetMoney (118), AccruedInterestRate (158), AccruedInterestAmt (159), QuantityType (465)

Order Cancel Request 35=F

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

Execution Report 35=8

136 fields added, 2 removed, counting fields inside components and repeating groups.

Removed: Rule80A (47), QuantityType (465)

Order Cancel Reject 35=9

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

Added: TradeDate (75), AcctIDSource (660)

Logon 35=A

1 field added, counting fields inside components and repeating groups.

Added: NextExpectedMsgSeqNum (789)

Fields renamed (17)

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

TagFIX 4.3 nameFIX 4.4 name
23IOIidIOIID
33LinesOfTextNoLinesOfText
63SettlmntTypSettlType
64FutSettDateSettlDate
74AvgPrxPrecisionAvgPxPrecision
193FutSettDate2SettlDate2
211PegDifferencePegOffsetValue
286OpenCloseSettleFlagOpenCloseSettlFlag
304TotQuoteEntriesTotNoQuoteEntries
389DiscretionOffsetDiscretionOffsetValue
393TotalNumSecuritiesTotNoRelatedSym
418TradeTypeBidTradeType
491CardIssNoCardIssNum
509RegistDetlsRegistDtls
557TotalNumSecurityTypesTotNoSecurityTypes
587LegSettlmntTypLegSettlType
588LegFutSettDateLegSettlDate

Fields removed (21)

Fields added (298)

Show 298 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.