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
- 150=1 and 150=2 are removed. FIX 4.3 accepts both these codes and 150=F; FIX 4.4 only F.
- OrdStatus 39=5 is removed. Report replaces with 150=5 and the current OrdStatus.
- The flat settlement agent fields (173 to 187) are removed; FIX 4.4 describes settlement parties with repeating groups instead.
- Renames with unchanged tag numbers include SettlType (63) (was SettlmntTyp), SettlDate (64) (was FutSettDate) and PegOffsetValue (211) (was PegDifference).
- Message renames: 35=J becomes AllocationInstruction, 35=P AllocationInstructionAck and 35=AC MultilegOrderCancelReplace.
- Rule80A (47) is removed in favour of OrderCapacity (528).
- HandlInst (21) becomes optional on New Order Single.
- The Logon gains NextExpectedMsgSeqNum (789) and NewPassword (925).
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
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)
- Quote Response 35=AJ
- Confirmation 35=AK
- Position Maintenance Request 35=AL
- Position Maintenance Report 35=AM
- Request For Positions 35=AN
- Request For Positions Ack 35=AO
- Position Report 35=AP
- Trade Capture Report Request Ack 35=AQ
- Trade Capture Report Ack 35=AR
- Allocation Report 35=AS
- Allocation Report Ack 35=AT
- Confirmation Ack 35=AU
- Settlement Instruction Request 35=AV
- Assignment Report 35=AW
- Collateral Request 35=AX
- Collateral Assignment 35=AY
- Collateral Response 35=AZ
- Collateral Report 35=BA
- Collateral Inquiry 35=BB
- Network Counterparty System Status Request 35=BC
- Network Counterparty System Status Response 35=BD
- User Request 35=BE
- User Response 35=BF
- Collateral Inquiry Ack 35=BG
- Confirmation Request 35=BH
Messages renamed
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.
| Tag | FIX 4.3 name | FIX 4.4 name |
|---|---|---|
| 23 | IOIid | IOIID |
| 33 | LinesOfText | NoLinesOfText |
| 63 | SettlmntTyp | SettlType |
| 64 | FutSettDate | SettlDate |
| 74 | AvgPrxPrecision | AvgPxPrecision |
| 193 | FutSettDate2 | SettlDate2 |
| 211 | PegDifference | PegOffsetValue |
| 286 | OpenCloseSettleFlag | OpenCloseSettlFlag |
| 304 | TotQuoteEntries | TotNoQuoteEntries |
| 389 | DiscretionOffset | DiscretionOffsetValue |
| 393 | TotalNumSecurities | TotNoRelatedSym |
| 418 | TradeType | BidTradeType |
| 491 | CardIssNo | CardIssNum |
| 509 | RegistDetls | RegistDtls |
| 557 | TotalNumSecurityTypes | TotNoSecurityTypes |
| 587 | LegSettlmntTyp | LegSettlType |
| 588 | LegFutSettDate | LegSettlDate |
Fields removed (21)
- 47 Rule80A
- 173 SettlDepositoryCode
- 174 SettlBrkrCode
- 175 SettlInstCode
- 176 SecuritySettlAgentName
- 177 SecuritySettlAgentCode
- 178 SecuritySettlAgentAcctNum
- 179 SecuritySettlAgentAcctName
- 180 SecuritySettlAgentContactName
- 181 SecuritySettlAgentContactPhone
- 182 CashSettlAgentName
- 183 CashSettlAgentCode
- 184 CashSettlAgentAcctNum
- 185 CashSettlAgentAcctName
- 186 CashSettlAgentContactName
- 187 CashSettlAgentContactPhone
- 219 Benchmark
- 370 OnBehalfOfSendingTime
- 449 TotalVolumeTradedDate
- 450 TotalVolumeTradedTime
- 465 QuantityType
Fields added (298)
Show 298 fields
- 85 NoDlvyInst
- 201 PutOrCall
- 318 UnderlyingCurrency
- 502 CashDistribAgentAcctName
- 660 AcctIDSource
- 661 AllocAcctIDSource
- 662 BenchmarkPrice
- 663 BenchmarkPriceType
- 664 ConfirmID
- 665 ConfirmStatus
- 666 ConfirmTransType
- 667 ContractSettlMonth
- 668 DeliveryForm
- 669 LastParPx
- 670 NoLegAllocs
- 671 LegAllocAccount
- 672 LegIndividualAllocID
- 673 LegAllocQty
- 674 LegAllocAcctIDSource
- 675 LegSettlCurrency
- 676 LegBenchmarkCurveCurrency
- 677 LegBenchmarkCurveName
- 678 LegBenchmarkCurvePoint
- 679 LegBenchmarkPrice
- 680 LegBenchmarkPriceType
- 681 LegBidPx
- 682 LegIOIQty
- 683 NoLegStipulations
- 684 LegOfferPx
- 686 LegPriceType
- 687 LegQty
- 688 LegStipulationType
- 689 LegStipulationValue
- 690 LegSwapType
- 691 Pool
- 692 QuotePriceType
- 693 QuoteRespID
- 694 QuoteRespType
- 695 QuoteQualifier
- 696 YieldRedemptionDate
- 697 YieldRedemptionPrice
- 698 YieldRedemptionPriceType
- 699 BenchmarkSecurityID
- 700 ReversalIndicator
- 701 YieldCalcDate
- 702 NoPositions
- 703 PosType
- 704 LongQty
- 705 ShortQty
- 706 PosQtyStatus
- 707 PosAmtType
- 708 PosAmt
- 709 PosTransType
- 710 PosReqID
- 711 NoUnderlyings
- 712 PosMaintAction
- 713 OrigPosReqRefID
- 714 PosMaintRptRefID
- 715 ClearingBusinessDate
- 716 SettlSessID
- 717 SettlSessSubID
- 718 AdjustmentType
- 719 ContraryInstructionIndicator
- 720 PriorSpreadIndicator
- 721 PosMaintRptID
- 722 PosMaintStatus
- 723 PosMaintResult
- 724 PosReqType
- 725 ResponseTransportType
- 726 ResponseDestination
- 727 TotalNumPosReports
- 728 PosReqResult
- 729 PosReqStatus
- 730 SettlPrice
- 731 SettlPriceType
- 732 UnderlyingSettlPrice
- 733 UnderlyingSettlPriceType
- 734 PriorSettlPrice
- 735 NoQuoteQualifiers
- 736 AllocSettlCurrency
- 737 AllocSettlCurrAmt
- 738 InterestAtMaturity
- 739 LegDatedDate
- 740 LegPool
- 741 AllocInterestAtMaturity
- 742 AllocAccruedInterestAmt
- 743 DeliveryDate
- 744 AssignmentMethod
- 745 AssignmentUnit
- 746 OpenInterest
- 747 ExerciseMethod
- 748 TotNumTradeReports
- 749 TradeRequestResult
- 750 TradeRequestStatus
- 751 TradeReportRejectReason
- 752 SideMultiLegReportingType
- 753 NoPosAmt
- 754 AutoAcceptIndicator
- 755 AllocReportID
- 756 NoNested2PartyIDs
- 757 Nested2PartyID
- 758 Nested2PartyIDSource
- 759 Nested2PartyRole
- 760 Nested2PartySubID
- 761 BenchmarkSecurityIDSource
- 762 SecuritySubType
- 763 UnderlyingSecuritySubType
- 764 LegSecuritySubType
- 765 AllowableOneSidednessPct
- 766 AllowableOneSidednessValue
- 767 AllowableOneSidednessCurr
- 768 NoTrdRegTimestamps
- 769 TrdRegTimestamp
- 770 TrdRegTimestampType
- 771 TrdRegTimestampOrigin
- 772 ConfirmRefID
- 773 ConfirmType
- 774 ConfirmRejReason
- 775 BookingType
- 776 IndividualAllocRejCode
- 777 SettlInstMsgID
- 778 NoSettlInst
- 779 LastUpdateTime
- 780 AllocSettlInstType
- 781 NoSettlPartyIDs
- 782 SettlPartyID
- 783 SettlPartyIDSource
- 784 SettlPartyRole
- 785 SettlPartySubID
- 786 SettlPartySubIDType
- 787 DlvyInstType
- 788 TerminationType
- 789 NextExpectedMsgSeqNum
- 790 OrdStatusReqID
- 791 SettlInstReqID
- 792 SettlInstReqRejCode
- 793 SecondaryAllocID
- 794 AllocReportType
- 795 AllocReportRefID
- 796 AllocCancReplaceReason
- 797 CopyMsgIndicator
- 798 AllocAccountType
- 799 OrderAvgPx
- 800 OrderBookingQty
- 801 NoSettlPartySubIDs
- 802 NoPartySubIDs
- 803 PartySubIDType
- 804 NoNestedPartySubIDs
- 805 NestedPartySubIDType
- 806 NoNested2PartySubIDs
- 807 Nested2PartySubIDType
- 808 AllocIntermedReqType
- 810 UnderlyingPx
- 811 PriceDelta
- 812 ApplQueueMax
- 813 ApplQueueDepth
- 814 ApplQueueResolution
- 815 ApplQueueAction
- 816 NoAltMDSource
- 817 AltMDSourceID
- 818 SecondaryTradeReportID
- 819 AvgPxIndicator
- 820 TradeLinkID
- 821 OrderInputDevice
- 822 UnderlyingTradingSessionID
- 823 UnderlyingTradingSessionSubID
- 824 TradeLegRefID
- 825 ExchangeRule
- 826 TradeAllocIndicator
- 827 ExpirationCycle
- 828 TrdType
- 829 TrdSubType
- 830 TransferReason
- 832 TotNumAssignmentReports
- 833 AsgnRptID
- 834 ThresholdAmount
- 835 PegMoveType
- 836 PegOffsetType
- 837 PegLimitType
- 838 PegRoundDirection
- 839 PeggedPrice
- 840 PegScope
- 841 DiscretionMoveType
- 842 DiscretionOffsetType
- 843 DiscretionLimitType
- 844 DiscretionRoundDirection
- 845 DiscretionPrice
- 846 DiscretionScope
- 847 TargetStrategy
- 848 TargetStrategyParameters
- 849 ParticipationRate
- 850 TargetStrategyPerformance
- 851 LastLiquidityInd
- 852 PublishTrdIndicator
- 853 ShortSaleReason
- 854 QtyType
- 855 SecondaryTrdType
- 856 TradeReportType
- 857 AllocNoOrdersType
- 858 SharedCommission
- 859 ConfirmReqID
- 860 AvgParPx
- 861 ReportedPx
- 862 NoCapacities
- 863 OrderCapacityQty
- 864 NoEvents
- 865 EventType
- 866 EventDate
- 867 EventPx
- 868 EventText
- 869 PctAtRisk
- 870 NoInstrAttrib
- 871 InstrAttribType
- 872 InstrAttribValue
- 873 DatedDate
- 874 InterestAccrualDate
- 875 CPProgram
- 876 CPRegType
- 877 UnderlyingCPProgram
- 878 UnderlyingCPRegType
- 879 UnderlyingQty
- 880 TrdMatchID
- 881 SecondaryTradeReportRefID
- 882 UnderlyingDirtyPrice
- 883 UnderlyingEndPrice
- 884 UnderlyingStartValue
- 885 UnderlyingCurrentValue
- 886 UnderlyingEndValue
- 887 NoUnderlyingStips
- 888 UnderlyingStipType
- 889 UnderlyingStipValue
- 890 MaturityNetMoney
- 891 MiscFeeBasis
- 892 TotNoAllocs
- 893 LastFragment
- 894 CollReqID
- 895 CollAsgnReason
- 896 CollInquiryQualifier
- 897 NoTrades
- 898 MarginRatio
- 899 MarginExcess
- 900 TotalNetValue
- 901 CashOutstanding
- 902 CollAsgnID
- 903 CollAsgnTransType
- 904 CollRespID
- 905 CollAsgnRespType
- 906 CollAsgnRejectReason
- 907 CollAsgnRefID
- 908 CollRptID
- 909 CollInquiryID
- 910 CollStatus
- 911 TotNumReports
- 912 LastRptRequested
- 913 AgreementDesc
- 914 AgreementID
- 915 AgreementDate
- 916 StartDate
- 917 EndDate
- 918 AgreementCurrency
- 919 DeliveryType
- 920 EndAccruedInterestAmt
- 921 StartCash
- 922 EndCash
- 923 UserRequestID
- 924 UserRequestType
- 925 NewPassword
- 926 UserStatus
- 927 UserStatusText
- 928 StatusValue
- 929 StatusText
- 930 RefCompID
- 931 RefSubID
- 932 NetworkResponseID
- 933 NetworkRequestID
- 934 LastNetworkResponseID
- 935 NetworkRequestType
- 936 NoCompIDs
- 937 NetworkStatusResponseType
- 938 NoCollInquiryQualifier
- 939 TrdRptStatus
- 940 AffirmStatus
- 941 UnderlyingStrikeCurrency
- 942 LegStrikeCurrency
- 943 TimeBracket
- 944 CollAction
- 945 CollInquiryStatus
- 946 CollInquiryResult
- 947 StrikeCurrency
- 948 NoNested3PartyIDs
- 949 Nested3PartyID
- 950 Nested3PartyIDSource
- 951 Nested3PartyRole
- 952 NoNested3PartySubIDs
- 953 Nested3PartySubID
- 954 Nested3PartySubIDType
- 955 LegContractSettlMonth
- 956 LegInterestAccrualDate
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.