FIX 5.0 vs FIX 5.0 SP2: What Changed
FIX 5.0, 5.0 SP1 and 5.0 SP2 all run over FIXT.1.1, so the session layer does not change. The service packs add messages and a very large number of fields; SP2 also takes in the later extension packs.
- Message types
- 101 to 164
- Messages added
- 63
- Fields
- 1,100 to 6,028
- Fields added / removed
- 4,928 / 0
BeginString: FIXT.1.1 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 5.0 to FIX 5.0 SP2
- Sessions stay on FIXT.1.1. The difference is the application version: DefaultApplVerID (1137) or ApplVerID (1128) = 7 for FIX 5.0 and 9 for FIX 5.0 SP2.
- SP1 adds market structure messages such as Market Definition, and order mass actions. SP2 adds risk limits, party entitlements, stream assignment and many derivatives fields.
- SessionRejectReason 373=18 (unsupported application version) and CxlRejReason codes 7 and 8 arrive in SP1.
- SP2 adds BusinessRejectReason throttle codes 8 to 10, ExecType M and N, and OrdRejReason codes up to 29.
- Twelve fields are renamed, for example SideQty (1009) becomes SideLastQty and UnitofMeasure (996) becomes UnitOfMeasure.
Value changes in key fields
Enumerated values added or removed between the two versions.
MsgType (35)
Added in FIX 5.0 SP2: 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: R Stop on bid or offer; S Stop limit on bid or offer
TimeInForce (59)
Added in FIX 5.0 SP2: 8 Good through crossing; 9 At crossing; A Good for time; B Good for auction; C Good for month
SessionRejectReason (373)
Added in FIX 5.0 SP2: 18 Invalid or unsupported application version
OrdRejReason (103)
Added in FIX 5.0 SP2: 16 Price exceeds current price band; 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
CxlRejReason (102)
Added in FIX 5.0 SP2: 7 Price exceeds current price; 8 Price exceeds current price band
BusinessRejectReason (380)
Added in FIX 5.0 SP2: 8 Throttle limit exceeded; 9 Throttle limit exceeded session disconnected; 10 Throttled messages rejected on request
Messages added in FIX 5.0 SP2 (63)
- Settlement Obligation Report 35=BQ
- Derivative Security List Update Report 35=BR
- Trading Session List Update Report 35=BS
- Market Definition Request 35=BT
- Market Definition 35=BU
- Market Definition Update Report 35=BV
- Application Message Request 35=BW
- Application Message Request Ack 35=BX
- Application Message Report 35=BY
- Order Mass Action Report 35=BZ
- Order Mass Action Request 35=CA
- User Notification 35=CB
- Stream Assignment Request 35=CC
- Stream Assignment Report 35=CD
- Stream Assignment Report ACK 35=CE
- Party Details List Request 35=CF
- Party Details List Report 35=CG
- Margin Requirement Inquiry 35=CH
- Margin Requirement Inquiry Ack 35=CI
- Margin Requirement Report 35=CJ
- Party Details List Update Report 35=CK
- Party Risk Limits Request 35=CL
- Party Risk Limits Report 35=CM
- Security Mass Status Request 35=CN
- Security Mass Status 35=CO
- Account Summary Report 35=CQ
- Party Risk Limits Update Report 35=CR
- Party Risk Limits Definition Request 35=CS
- Party Risk Limits Definition Request Ack 35=CT
- Party Entitlements Request 35=CU
- Party Entitlements Report 35=CV
- Quote Ack 35=CW
- Party Details Definition Request 35=CX
- Party Details Definition Request Ack 35=CY
- Party Entitlements Update Report 35=CZ
- Party Entitlements Definition Request 35=DA
- Party Entitlements Definition Request Ack 35=DB
- Trade Match Report 35=DC
- Trade Match Report Ack 35=DD
- Party Risk Limits Report Ack 35=DE
- Party Risk Limit Check Request 35=DF
- Party Risk Limit Check Request Ack 35=DG
- Party Action Request 35=DH
- Party Action Report 35=DI
- Mass Order 35=DJ
- Mass Order Ack 35=DK
- Position Transfer Instruction 35=DL
- Position Transfer Instruction Ack 35=DM
- Position Transfer Report 35=DN
- Market Data Statistics Request 35=DO
- Market Data Statistics Report 35=DP
- Collateral Report Ack 35=DQ
- Market Data Report 35=DR
- Cross Request 35=DS
- Cross Request Ack 35=DT
- Allocation Instruction Alert Request 35=DU
- Allocation Instruction Alert Request Ack 35=DV
- Trade Aggregation Request 35=DW
- Trade Aggregation Report 35=DX
- Pay Management Request 35=DY
- Pay Management Request Ack 35=DZ
- Pay Management Report 35=EA
- Pay Management Report Ack 35=EB
Messages renamed
Field changes in the core order messages
6 messages most sessions carry, compared field by field.
New Order Single 35=D
2,541 fields added, counting fields inside components and repeating groups.
Order Cancel/Replace Request 35=G
2,536 fields added, counting fields inside components and repeating groups.
Required in FIX 5.0, optional in FIX 5.0 SP2: OrigClOrdID (41)
Order Cancel Request 35=F
2,438 fields added, counting fields inside components and repeating groups.
Required in FIX 5.0, optional in FIX 5.0 SP2: OrigClOrdID (41)
Execution Report 35=8
3,961 fields added, counting fields inside components and repeating groups.
Order Cancel Reject 35=9
14 fields added, counting fields inside components and repeating groups.
Required in FIX 5.0, optional in FIX 5.0 SP2: OrigClOrdID (41)
Added: ExDestination (100), PartyIDSource (447), PartyID (448), PartyRole (452), NoPartyIDs (453), PartySubID (523), NoPartySubIDs (802), PartySubIDType (803), ExDestinationIDSource (1133), RejectText (1328), EncodedRejectTextLen (1664), EncodedRejectText (1665), PartyRoleQualifier (2376), OrderRequestID (2422)
Logon 35=A
2 fields added, counting fields inside components and repeating groups.
Fields renamed (12)
Same tag number and wire format, new name. Code generated from a dictionary changes.
| Tag | FIX 5.0 name | FIX 5.0 SP2 name |
|---|---|---|
| 327 | HaltReasonChar | HaltReasonInt |
| 982 | ExpType | ExpirationQtyType |
| 996 | UnitofMeasure | UnitOfMeasure |
| 998 | UnderlyingUnitofMeasure | UnderlyingUnitOfMeasure |
| 999 | LegUnitofMeasure | LegUnitOfMeasure |
| 1008 | SideTrdSubTyp | SideTrdSubType |
| 1009 | SideQty | SideLastQty |
| 1059 | UndlyInstrumentPartyID | UnderlyingInstrumentPartyID |
| 1060 | UndlyInstrumentPartyIDSource | UnderlyingInstrumentPartyIDSource |
| 1061 | UndlyInstrumentPartyRole | UnderlyingInstrumentPartyRole |
| 1063 | UndlyInstrumentPartySubID | UnderlyingInstrumentPartySubID |
| 1064 | UndlyInstrumentPartySubIDType | UnderlyingInstrumentPartySubIDType |
Fields removed (0)
No field of FIX 5.0 is missing from FIX 5.0 SP2.
Fields added (4,928)
The full list is in the FIX 5.0 SP2 dictionary. Listed here: the 300 lowest-numbered new fields.
| Tag range | New fields |
|---|---|
| 1 to 999 | 1 |
| 1000 to 1999 | 847 |
| 2000 to 2999 | 953 |
| 40000 to 40999 | 1,000 |
| 41000 to 41999 | 1,000 |
| 42000 to 42999 | 1,000 |
| 43000 to 43999 | 124 |
| 50000 to 50999 | 3 |
Show 300 fields
- 809 NoUsernames
- 1140 MaxTradeVol
- 1141 NoMDFeedTypes
- 1142 MatchAlgorithm
- 1143 MaxPriceVariation
- 1144 ImpliedMarketIndicator
- 1145 EventTime
- 1146 MinPriceIncrementAmount
- 1147 UnitOfMeasureQty
- 1148 LowLimitPrice
- 1149 HighLimitPrice
- 1150 TradingReferencePrice
- 1151 SecurityGroup
- 1152 LegNumber
- 1153 SettlementCycleNo
- 1154 SideCurrency
- 1155 SideSettlCurrency
- 1157 CcyAmt
- 1158 NoSettlDetails
- 1159 SettlObligMode
- 1160 SettlObligMsgID
- 1161 SettlObligID
- 1162 SettlObligTransType
- 1163 SettlObligRefID
- 1164 SettlObligSource
- 1165 NoSettlOblig
- 1166 QuoteMsgID
- 1167 QuoteEntryStatus
- 1168 TotNoCxldQuotes
- 1169 TotNoAccQuotes
- 1170 TotNoRejQuotes
- 1171 PrivateQuote
- 1172 RespondentType
- 1173 MDSubBookType
- 1174 SecurityTradingEvent
- 1175 NoStatsIndicators
- 1176 StatsType
- 1177 NoOfSecSizes
- 1178 MDSecSizeType
- 1179 MDSecSize
- 1180 ApplID
- 1181 ApplSeqNum
- 1182 ApplBegSeqNum
- 1183 ApplEndSeqNum
- 1184 SecurityXMLLen
- 1185 SecurityXML
- 1186 SecurityXMLSchema
- 1187 RefreshIndicator
- 1188 Volatility
- 1189 TimeToExpiration
- 1190 RiskFreeRate
- 1191 PriceUnitOfMeasure
- 1192 PriceUnitOfMeasureQty
- 1193 SettlMethod
- 1194 ExerciseStyle
- 1195 OptPayoutAmount
- 1196 PriceQuoteMethod
- 1197 ValuationMethod
- 1198 ListMethod
- 1199 CapPrice
- 1200 FloorPrice
- 1201 NoStrikeRules
- 1202 StartStrikePxRange
- 1203 EndStrikePxRange
- 1204 StrikeIncrement
- 1205 NoTickRules
- 1206 StartTickPriceRange
- 1207 EndTickPriceRange
- 1208 TickIncrement
- 1209 TickRuleType
- 1210 NestedInstrAttribType
- 1211 NestedInstrAttribValue
- 1212 LegMaturityTime
- 1213 UnderlyingMaturityTime
- 1214 DerivativeSymbol
- 1215 DerivativeSymbolSfx
- 1216 DerivativeSecurityID
- 1217 DerivativeSecurityIDSource
- 1218 NoDerivativeSecurityAltID
- 1219 DerivativeSecurityAltID
- 1220 DerivativeSecurityAltIDSource
- 1221 SecondaryLowLimitPrice
- 1222 MaturityRuleID
- 1223 StrikeRuleID
- 1224 LegUnitOfMeasureQty
- 1225 DerivativeOptPayAmount
- 1226 EndMaturityMonthYear
- 1227 ProductComplex
- 1228 DerivativeProductComplex
- 1229 MaturityMonthYearIncrement
- 1230 SecondaryHighLimitPrice
- 1231 MinLotSize
- 1232 NoExecInstRules
- 1233 CommRate
- 1234 NoLotTypeRules
- 1235 NoMatchRules
- 1236 NoMaturityRules
- 1237 NoOrdTypeRules
- 1238 CommUnitOfMeasure
- 1239 NoTimeInForceRules
- 1240 SecondaryTradingReferencePrice
- 1241 StartMaturityMonthYear
- 1242 FlexProductEligibilityIndicator
- 1243 DerivFlexProductEligibilityIndicator
- 1244 FlexibleIndicator
- 1245 TradingCurrency
- 1246 DerivativeProduct
- 1247 DerivativeSecurityGroup
- 1248 DerivativeCFICode
- 1249 DerivativeSecurityType
- 1250 DerivativeSecuritySubType
- 1251 DerivativeMaturityMonthYear
- 1252 DerivativeMaturityDate
- 1253 DerivativeMaturityTime
- 1254 DerivativeSettleOnOpenFlag
- 1255 DerivativeInstrmtAssignmentMethod
- 1256 DerivativeSecurityStatus
- 1257 DerivativeInstrRegistry
- 1258 DerivativeCountryOfIssue
- 1259 DerivativeStateOrProvinceOfIssue
- 1260 DerivativeLocaleOfIssue
- 1261 DerivativeStrikePrice
- 1262 DerivativeStrikeCurrency
- 1263 DerivativeStrikeMultiplier
- 1264 DerivativeStrikeValue
- 1265 DerivativeOptAttribute
- 1266 DerivativeContractMultiplier
- 1267 DerivativeMinPriceIncrement
- 1268 DerivativeMinPriceIncrementAmount
- 1269 DerivativeUnitOfMeasure
- 1270 DerivativeUnitOfMeasureQty
- 1271 DerivativeTimeUnit
- 1272 DerivativeSecurityExchange
- 1273 DerivativePositionLimit
- 1274 DerivativeNTPositionLimit
- 1275 DerivativeIssuer
- 1276 DerivativeIssueDate
- 1277 DerivativeEncodedIssuerLen
- 1278 DerivativeEncodedIssuer
- 1279 DerivativeSecurityDesc
- 1280 DerivativeEncodedSecurityDescLen
- 1281 DerivativeEncodedSecurityDesc
- 1282 DerivativeSecurityXMLLen
- 1283 DerivativeSecurityXML
- 1284 DerivativeSecurityXMLSchema
- 1285 DerivativeContractSettlMonth
- 1286 NoDerivativeEvents
- 1287 DerivativeEventType
- 1288 DerivativeEventDate
- 1289 DerivativeEventTime
- 1290 DerivativeEventPx
- 1291 DerivativeEventText
- 1292 NoDerivativeInstrumentParties
- 1293 DerivativeInstrumentPartyID
- 1294 DerivativeInstrumentPartyIDSource
- 1295 DerivativeInstrumentPartyRole
- 1296 NoDerivativeInstrumentPartySubIDs
- 1297 DerivativeInstrumentPartySubID
- 1298 DerivativeInstrumentPartySubIDType
- 1299 DerivativeExerciseStyle
- 1300 MarketSegmentID
- 1301 MarketID
- 1302 MaturityMonthYearIncrementUnits
- 1303 MaturityMonthYearFormat
- 1304 StrikeExerciseStyle
- 1305 SecondaryPriceLimitType
- 1306 PriceLimitType
- 1308 ExecInstValue
- 1309 NoTradingSessionRules
- 1310 NoMarketSegments
- 1311 NoDerivativeInstrAttrib
- 1312 NoNestedInstrAttrib
- 1313 DerivativeInstrAttribType
- 1314 DerivativeInstrAttribValue
- 1315 DerivativePriceUnitOfMeasure
- 1316 DerivativePriceUnitOfMeasureQty
- 1317 DerivativeSettlMethod
- 1318 DerivativePriceQuoteMethod
- 1319 DerivativeValuationMethod
- 1320 DerivativeListMethod
- 1321 DerivativeCapPrice
- 1322 DerivativeFloorPrice
- 1323 DerivativePutOrCall
- 1324 ListUpdateAction
- 1325 ParentMktSegmID
- 1326 TradingSessionDesc
- 1327 TradSesUpdateAction
- 1328 RejectText
- 1329 FeeMultiplier
- 1330 UnderlyingLegSymbol
- 1331 UnderlyingLegSymbolSfx
- 1332 UnderlyingLegSecurityID
- 1333 UnderlyingLegSecurityIDSource
- 1334 NoUnderlyingLegSecurityAltID
- 1335 UnderlyingLegSecurityAltID
- 1336 UnderlyingLegSecurityAltIDSource
- 1337 UnderlyingLegSecurityType
- 1338 UnderlyingLegSecuritySubType
- 1339 UnderlyingLegMaturityMonthYear
- 1340 UnderlyingLegStrikePrice
- 1341 UnderlyingLegSecurityExchange
- 1342 NoOfLegUnderlyings
- 1343 UnderlyingLegPutOrCall
- 1344 UnderlyingLegCFICode
- 1345 UnderlyingLegMaturityDate
- 1346 ApplReqID
- 1347 ApplReqType
- 1348 ApplResponseType
- 1349 ApplTotalMessageCount
- 1350 ApplLastSeqNum
- 1351 NoApplIDs
- 1352 ApplResendFlag
- 1353 ApplResponseID
- 1354 ApplResponseError
- 1355 RefApplID
- 1356 ApplReportID
- 1357 RefApplLastSeqNum
- 1358 LegPutOrCall
- 1361 TotNoFills
- 1362 NoFills
- 1363 FillExecID
- 1364 FillPx
- 1365 FillQty
- 1366 LegAllocID
- 1367 LegAllocSettlCurrency
- 1368 TradSesEvent
- 1369 MassActionReportID
- 1370 NoNotAffectedOrders
- 1371 NotAffectedOrderID
- 1372 NotAffOrigClOrdID
- 1373 MassActionType
- 1374 MassActionScope
- 1375 MassActionResponse
- 1376 MassActionRejectReason
- 1377 MultilegModel
- 1378 MultilegPriceMethod
- 1379 LegVolatility
- 1380 DividendYield
- 1381 LegDividendYield
- 1382 CurrencyRatio
- 1383 LegCurrencyRatio
- 1384 LegExecInst
- 1385 ContingencyType
- 1386 ListRejectReason
- 1387 NoTrdRepIndicators
- 1388 TrdRepPartyRole
- 1389 TrdRepIndicator
- 1390 TradePublishIndicator
- 1391 UnderlyingLegOptAttribute
- 1392 UnderlyingLegSecurityDesc
- 1393 MarketReqID
- 1394 MarketReportID
- 1395 MarketUpdateAction
- 1396 MarketSegmentDesc
- 1397 EncodedMktSegmDescLen
- 1398 EncodedMktSegmDesc
- 1399 ApplNewSeqNum
- 1405 UnderlyingLegMaturityTime
- 1410 DefaultVerIndicator
- 1411 Nested4PartySubIDType
- 1412 Nested4PartySubID
- 1413 NoNested4PartySubIDs
- 1414 NoNested4PartyIDs
- 1415 Nested4PartyID
- 1416 Nested4PartyIDSource
- 1417 Nested4PartyRole
- 1418 LegLastQty
- 1419 UnderlyingExerciseStyle
- 1420 LegExerciseStyle
- 1421 LegPriceUnitOfMeasure
- 1422 LegPriceUnitOfMeasureQty
- 1423 UnderlyingUnitOfMeasureQty
- 1424 UnderlyingPriceUnitOfMeasure
- 1425 UnderlyingPriceUnitOfMeasureQty
- 1426 ApplReportType
- 1427 SideExecID
- 1428 OrderDelay
- 1429 OrderDelayUnit
- 1430 VenueType
- 1431 RefOrdIDReason
- 1432 OrigCustOrderCapacity
- 1433 RefApplReqID
- 1434 ModelType
- 1435 ContractMultiplierUnit
- 1436 LegContractMultiplierUnit
- 1437 UnderlyingContractMultiplierUnit
- 1438 DerivativeContractMultiplierUnit
- 1439 FlowScheduleType
- 1440 LegFlowScheduleType
- 1441 UnderlyingFlowScheduleType
- 1442 DerivativeFlowScheduleType
- 1443 FillLiquidityInd
- 1444 SideLiquidityInd
- 1445 NoRateSources
- 1446 RateSource
- 1447 RateSourceType
- 1448 ReferencePage
- 1449 RestructuringType
- 1450 Seniority
- 1451 NotionalPercentageOutstanding
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.