ZagTrader

FIX 4.0 vs FIX 4.2: What Changed

FIX 4.2 grew FIX 4.0 from an order-entry protocol into one that also carries market data, security definitions and trading session status. It also adds the fields that make Execution Reports easier to read and the reason codes that make rejects easier to act on.

Message types
27 to 46
Messages added
19
Fields
138 to 405
Fields added / removed
267 / 0

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

Migrating from FIX 4.0 to FIX 4.2

Value changes in key fields

Enumerated values added or removed between the two versions.

MsgType (35)

Added in FIX 4.2: T Settlement Instructions; V Market Data Request; W Market Data Snapshot Full Refresh; X Market Data Incremental Refresh; Y Market Data Request Reject; Z Quote Cancel; a Quote Status Request; b Mass Quote Ack; c Security Definition Request; d Security Definition; e Security Status Request; f Security Status; g Trading Session Status Request; h Trading Session Status; i Mass Quote; j Business Message Reject; k Bid Request; l Bid Response; m List Strike Price

OrdStatus (39)

Added in FIX 4.2: D Accepted for bidding; E Pending replace

OrdType (40)

Added in FIX 4.2: F Forex limit; G Forex swap; H Forex previously quoted; I Funari

ExecType (150)

Not in FIX 4.0; new in FIX 4.2.

Values: 0 New; 1 Partial fill; 2 Fill; 3 Done for day; 4 Canceled; 5 Replaced; 6 Pending cancel; 7 Stopped; 8 Rejected; 9 Suspended; A Pending new; B Calculated; C Expired; D Restated; E Pending replace

SessionRejectReason (373)

Not in FIX 4.0; new in FIX 4.2.

Values: 0 Invalid tag number; 1 Required tag missing; 2 Tag not defined for this message type; 3 Undefined tag; 4 Tag specified without a value; 5 Value is incorrect; 6 Incorrect data format for value; 7 Decryption problem; 8 Signature problem; 9 CompID problem; 10 Sending time accuracy problem; 11 Invalid MsgType

OrdRejReason (103)

Added in FIX 4.2: 5 Unknown order; 6 Duplicate order; 7 Duplicate of a verbally communicated order; 8 Stale order

CxlRejReason (102)

Added in FIX 4.2: 2 Broker / exchange option; 3 Order already in pending cancel or pending replace status

BusinessRejectReason (380)

Not in FIX 4.0; new in FIX 4.2.

Values: 0 Other; 1 Unknown ID; 2 Unknown security; 3 Unsupported message type; 4 Application not available; 5 Conditionally required field missing

Messages added in FIX 4.2 (19)

Field changes in the core order messages

6 messages most sessions carry, compared field by field.

Execution Report 35=8

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

Required in FIX 4.0, optional in FIX 4.2: LastPx (31), LastQty (32), OrderQty (38)

Removed: NetMoney (118), NoMiscFees (136), MiscFeeAmt (137), MiscFeeCurr (138), MiscFeeType (139)

Logon 35=A

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

Added: ResetSeqNumFlag (141), RefMsgType (372), MaxMessageSize (383), NoMsgTypes (384), MsgDirection (385)

Fields renamed (1)

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

TagFIX 4.0 nameFIX 4.2 name
68ListNoOrdsTotNoOrders

Fields removed (0)

No field of FIX 4.0 is missing from FIX 4.2.

Fields added (267)

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