ZagTrader

FIX 4.2 vs FIX 5.0 SP2: What Changed

A move from FIX 4.2 straight to FIX 5.0 SP2 combines two sets of changes: the execution reporting and component changes of FIX 4.3 and 4.4, and the FIXT.1.1 session layer of FIX 5.0. Most of the effort is in the first set.

Message types
46 to 164
Messages added
118
Fields
405 to 6,028
Fields added / removed
5,658 / 35

BeginString: FIX.4.2 and FIXT.1.1. Counts come from the standard data dictionaries; FIX 5.0 counts include the FIXT 1.1 session messages and fields.

Migrating from FIX 4.2 to FIX 5.0 SP2

Value changes in key fields

Enumerated values added or removed between the two versions.

MsgType (35)

Added in FIX 5.0 SP2: 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; BO Contrary Intention Report; BP Security Definition Update Report; BK Security List Update Report; BL Adjusted Position Report; BM Allocation Instruction Alert; BN Execution Ack; BJ Trading Session List; BI Trading Session List Request; BQ Settlement Obligation Report; BR Derivative Security List Update Report; BS Trading Session List Update Report; BT Market Definition Request; BU Market Definition; BV Market Definition Update Report; BW Application Message Request; BX Application Message Request Ack; BY Application Message Report; BZ Order Mass Action Report; CA Order Mass Action Request; CB User Notification; CC Stream Assignment Request; CD Stream Assignment Report; CE Stream Assignment Report ACK; CF Party Details List Request; CG Party Details List Report; CH Margin Requirement Inquiry; CI Margin Requirement Inquiry Ack; CJ Margin Requirement Report; CK Party Details List Update Report; CL Party Risk Limits Request; CM Party Risk Limits Report; CN Security Mass Status Request; CO Security Mass Status; CQ Account Summary Report; CR Party Risk Limits Update Report; CS Party Risk Limits Definition Request; CT Party Risk Limits Definition Request Ack; CU Party Entitlements Request; CV Party Entitlements Report; CW Quote Ack; CX Party Details Definition Request; CY Party Details Definition Request Ack; CZ Party Entitlements Update Report; DA Party Entitlements Definition Request; DB Party Entitlements Definition Request Ack; DC Trade Match Report; DD Trade Match Report Ack; DE Party Risk Limits Report Ack; DF Party Risk Limit Check Request; DG Party Risk Limit Check Request Ack; DH Party Action Request; DI Party Action Report; DJ Mass Order; DK Mass Order Ack; DL Position Transfer Instruction; DM Position Transfer Instruction Ack; DN Position Transfer Report; DO Market Data Statistics Request; DP Market Data Statistics Report; DQ Collateral Report Ack; DR Market Data Report; DS Cross Request; DT Cross Request Ack; DU Allocation Instruction Alert Request; DV Allocation Instruction Alert Request Ack; DW Trade Aggregation Request; DX Trade Aggregation Report; EA Pay Management Report; EB Pay Management Report Ack; DY Pay Management Request; DZ Pay Management Request Ack

OrdType (40)

Added in FIX 5.0 SP2: J Market if touched; K Market with left over as limit; L Previous fund valuation point; M Next fund valuation point; Q Counter order selection; R Stop on bid or offer; S Stop limit on bid or offer

TimeInForce (59)

Added in FIX 5.0 SP2: 7 At the close; 8 Good through crossing; 9 At crossing; A Good for time; B Good for auction; C Good for month

ExecType (150)

Added in FIX 5.0 SP2: F Trade; G Trade correct; H Trade cancel; I Order status; J Trade in a clearing hold; K Trade has been released to clearing; L Triggered or activated by system; M Locked; N Released

Not in FIX 5.0 SP2: 1 Partial fill; 2 Fill

SessionRejectReason (373)

Added in FIX 5.0 SP2: 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 data value includes field delimiter; 18 Invalid or unsupported application version; 99 Other

OrdRejReason (103)

Added in FIX 5.0 SP2: 9 Trade along required; 10 Invalid investor ID; 11 Unsupported order characteristic; 12 Surveillance option; 13 Incorrect quantity; 14 Incorrect allocated quantity; 15 Unknown account; 16 Price exceeds current price band; 18 Invalid price increment; 19 Reference price not available; 20 Notional value exceeds threshold; 21 Algorithm risk threshold breached; 22 Short sell not permitted; 23 Short sell security pre borrow restriction; 24 Short sell account pre borrow restriction; 25 Insufficient credit limit; 26 Exceeded clip size limit; 27 Exceeded max notional order amt; 28 Exceeded DV01 PV01 limit; 29 Exceeded CS01 limit; 99 Other

CxlRejReason (102)

Added in FIX 5.0 SP2: 4 Unable to process order mass cancel request; 5 OrigOrdModTime (586) did not match last TransactTime (60) of order; 6 Duplicate ClOrdID (11) received; 7 Price exceeds current price; 8 Price exceeds current price band; 18 Invalid price increment; 99 Other

BusinessRejectReason (380)

Added in FIX 5.0 SP2: 6 Not authorized; 7 Deliver to firm not available at this time; 8 Throttle limit exceeded; 9 Throttle limit exceeded session disconnected; 10 Throttled messages rejected on request; 18 Invalid price increment

Messages added in FIX 5.0 SP2 (118)

Messages renamed

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

Field changes in the core order messages

6 messages most sessions carry, compared field by field.

New Order Single 35=D

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

Required in FIX 4.2, optional in FIX 5.0 SP2: 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

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

Required in FIX 4.2, optional in FIX 5.0 SP2: HandlInst (21), OrigClOrdID (41), Symbol (55)

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

Order Cancel Request 35=F

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

Required in FIX 4.2, optional in FIX 5.0 SP2: OrigClOrdID (41), Symbol (55)

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

Execution Report 35=8

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

Required in FIX 4.2, optional in FIX 5.0 SP2: AvgPx (6), Symbol (55)

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

Fields renamed (21)

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

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

Fields removed (35)

Fields added (5,658)

The full list is in the FIX 5.0 SP2 dictionary. Listed here: the 300 lowest-numbered new fields.

Tag rangeNew fields
1 to 999586
1000 to 1999992
2000 to 2999953
40000 to 409991,000
41000 to 419991,000
42000 to 429991,000
43000 to 43999124
50000 to 509993
Show 300 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.