Appendix 6-F
Replaced Features and Supported Approach
- Replaced Field: ExecTransType (tag 20) and values in ExecType and OrdStatus fields [Replaced in FIX 4.3]
- Replaced Fields: MaturityDay (tag 205) and UnderlyingMaturityDay (tag 314) [Replaced in FIX 4.3]
- Replaced Fields: ExecBroker (tag 76), BrokerOfCredit (tag 92), ClientID (tag 109), ClearingFirm (tag 439), ClearingAccount (tag 440), and SettlLocation (tag 166) [Replaced in FIX 4.3]
- Replaced Field Enumerations for Futures and Options for SecurityType (tag 167) with CFICode (tag 461) [Replaced in FIX 4.3]
- Replaced Field: PutOrCall (tag 201) and UnderlyingPutOrCall (tag 315) with CFICode (tag 461) [Replaced in FIX 4.3]
- Replaced Field: CustomerOrFirm (tag 204) with OrderCapacity (tag 528) [Replaced in FIX 4.3]
- Replaced values: OptAttribute (tag 206) with values in CFICode (tag 461) [Replaced in FIX 4.3]
- Replaced values: AllocTransType (tag 71) with values in AllocType (tag 626) [Replaced in FIX 4.3]
- Replaced Field: RelatdSym (tag 46) with Symbol (tag 55) [Replaced in FIX 4.3]
- Removed Deprecated Field: Benchmark (tag 219) [Deprecated in FIX 4.3, Removed in FIX 4.4]
- Removed Deprecated "On Close"-related Values for OrdType Field [Deprecated in FIX 4.3, Removed in FIX 4.4]
- Removed Deprecated Field: Rule80A (tag 47) [Deprecated and Replaced in FIX 4.3, Removed in FIX 4.4]
- Removed Deprecated Field: OnBehalfOfSendingTime (tag 370) [Deprecated and Replaced in FIX 4.3, Removed in FIX 4.4]
- Removed three Deprecated "Forex - "-related Values for OrdType Field [Deprecated and Replaced in FIX 4.3, Removed in FIX 4.4]
- Replaced value: "A = T+1" with value with "2 = Next Day (T+1)" in SettlmntTyp (tag 63) field [Replaced in FIX 4.4]
- Replaced "Fixed Peg to Local best bid or offer at time of order" value from ExecInst (tag 18) Field [Replaced in FIX 4.4]
- Removed unused field: RatioQty (tag 319) [Replaced in FIX 4.4]
- Removed unused field: SecDefStatus (tag 653) [Replaced in FIX 4.4]
- Removed TotalVolumeTradedDate (tag 449) and TotalVolumeTradedTime (tag 450) fields [Replaced in FIX 4.4]
- Removed various Settlement Instructions-related fields [Replaced in FIX 4.4]
- Removed "Default", "Specific Allocation Account Overriding", and "Specific Allocation Account Standing" values from SettlInstMode (tag 160) field [Replaced in FIX 4.4]
- Removed several values from AllocType (tag 626) field [Replaced in FIX 4.4]
- Removed several values from YieldType (tag 235) field [Replaced in FIX 4.4]
Certain features of the FIX Protocol which were implemented in earlier versions of the FIX Protocol specification, have been removed and replaced by a different approach. Such features have been labeled as "Removed" or "Replaced" throughout the FIX Specification document. The removed or replaced feature is no longer supported by this version of the FIX Protocol specification.
These features may or may not have been "Deprecated" in a previous version. Deprecation implies that implementations must support both approaches during the deprecation period. Removing and replacing a features without a deprecation period is based upon:
- Supporting both approaches would result in a high degree of complexity and/or ambiguity.
The rationale behind removing a feature is based upon either:
- Actual use and implementation of the feature identified major shortcomings necessitating a re-design.
- Additional business requirements have been identified which the feature is unable to expand and properly support in its present form.
The new, supported approach for each removed feature is identified below:
1. Replaced Field: ExecTransType (tag 20) and values in ExecType and OrdStatus fields [Replaced in FIX 4.3]
The ExecTransType field introduced in FIX 2.7 has been removed and its values have been incorporated within the ExecType field. The ExecType field introducted in FIX 4.1 has had several values removed and a new value to represent the combination of the removed values. The ExecTransType and ExecType fields have effectively been merged into the ExecType field thus the removal of ExecTransType. Each field attempted to designate the type of Execution Report message received in a slightly different way. Both fields were designated as required. This became confusing and should be simplified by a single, merged field with the following mapping table:
Removed Value within ExecTransType (20) field | Removed Value within OrdStatus (39) field | Removed Value within ExecType (150) field | ExecType (150) | ||||
---|---|---|---|---|---|---|---|
0 | New | (various) | |||||
1 | Cancel | H | Trade Cancel | ||||
2 | Correct | G | Trade Correct | ||||
3 | Status | H | Order Status | ||||
5 | Replaced | 5 | Replace | ||||
1 | Partial Fill | F | Trade | ||||
2 | Fill |
2. Replaced Fields: MaturityDay (tag 205) and UnderlyingMaturityDay (tag 314) [Replaced in FIX 4.3]
The MaturityDay <205> field introduced in FIX 4.1 has been removed and replaced by the MaturityDate <541> field. The MaturityMonthYear <200> field can still be used for standardized derivatives which are typically only referenced by month and year (e.g. S&P futures).
The UnderlyingMaturityDay <314> field introduced in FIX 4.2 has been removed and replaced by the UnderlyingMaturityDate <542> field. The UnderlyingMaturityMonthYear <313> field can still be used for standardized derivatives which are typically only referenced by month and year (e.g. S&P futures).
3. Replaced Fields: ExecBroker (tag 76), BrokerOfCredit (tag 92), ClientID (tag 109), ClearingFirm (tag 439), ClearingAccount (tag 440), and SettlLocation (tag 166) [Replaced in FIX 4.3]
The ExecBroker (tag 76), BrokerOfCredit (tag 92), ClientID (tag 109), ClearingFirm (tag 439), ClearingAccount (tag 440), and SettlLocation (tag 166) fields introduced prior to FIX 4.3 have been removed and the equivalent values can now be specified via PartyRole, PartyID, and PartyIDSource. In addition this <Parties> "component block" (see Volume 1: "Common Components of Application Messages") is flexible enough to allow new "roles" or types of firm identification to be specified without a corresponding increase in the number of FIX fields. All of the old field values can be specified via the following mapping table:
Removed Field | PartyRole (452) (also see Volume 1: "Glossary") | PartyID (448) | PartyIDSource (447) | PartySubID (523) | ||
---|---|---|---|---|---|---|
ExecBroker (tag 76) | 1 | Executing Broker | (value) | (various) | ||
BrokerOfCredit (tag 92) | 2 | Broker Of Credit | (value) | (various) | ||
ClientID (tag 109) | 3 | Client ID | (value) | (various) | ||
ClearingFirm (tag 439) | 4 | Clearing Firm | (value) | (various) | ||
ClearingAccount (tag 440) | 4 | Clearing Firm | (value) | |||
SettlLocation (tag 166) | 10 | Settlement Location | CED = CEDEL DTC = Depository Trust Company EUR = Euroclear FED = Federal Book Entry PNY= Physical PTC= Participant Trust Company |
C | Generally accepted market participant id | |
ISO Country Code (Local Market Settle Location) | E | ISO Country Code |
4. Replaced Field Enumerations for Futures and Options for SecurityType (tag 167) with CFICode (tag 461) [Replaced in FIX 4.3]
The CFICode was introduced to improve granularity in specifying security type. The adoption of CFICode <461> has made the values for futures and options in SecurityType <167> redundant.
The following Security Type values can be specified using CFICode via the following mapping table:
Value Removed From SecurityType (tag 167) | CFICode (tag 461) value | |
---|---|---|
"FUT" | Future | First position of CFICode = "F" |
"OPT" | Option | First position of CFICode = "O" |
5. Replaced Field: PutOrCall (tag 201) and UnderlyingPutOrCall (tag 315) with CFICode (tag 461) [Replaced in FIX 4.3]
The CFICode was introduced to improve granularity in specifying security type. The adoption of CFICode <461> has made the PutOrCall <201> and UnderlyingPutOrCall <315> redundant. The PutOrCall values are numeric and this has led to confusion on their usage as the data is not self describing. The CFICode uses a more readable format of "P" and "C" for put and call.
PutOrCall values can be specified using CFICode via the following mapping table:
Removed PutOrCall value | CFICode (tag 461) value | |
---|---|---|
0 | Put | First position of CFICode = "O" Second position of CFICode = "P" |
1 | Call | First position of CFICode = "O" Second position of CFICode = "C" |
6. Replaced Field: CustomerOrFirm (tag 204) with OrderCapacity (tag 528) [Replaced in FIX 4.3]
The Rule80A <47> and CustomerOrFirm <204> values have been merged and generalized into the new OrderCapacity <528> field. This was done to provide a more generalized approach to identifying order capacity across markets.
CustomerOrFim values can be specified using OrderCapacity via the following mapping table:
Removed FieldCustomerOrFirm (tag 204) values | OrderCapacity (tag 528) value | |
---|---|---|
0 | Customer | A - Agency |
1 | Firm | P - Principal |
7. Replaced values: OptAttribute (tag 206) with values in CFICode (tag 461) [Replaced in FIX 4.3]
The CFICode (tag 461) permits specification of the expiration style for options using more meaningful acronyms "A" for American and "E" for European. These values will replace the values currently used by some markets in the OptAttribute field. OptAttribute will still be used for versioning the option contract in the event of a corporate action, such as a split or merger, but will eliminate the problem when both the expiration style and a version number must be specified.
Certain OptAttribute values can be specified using CFICode via the following mapping table:
Values Removed From OptAttribute (tag 206) | CFICode (tag 461) | |
---|---|---|
L | American | First Position "O" Second Position "C" or "P" Third Position "A" for American Style Expiration |
S | European | First Position "O" Second Position "C" or "P" Third Position "E" for European Style Expiration |
8. Replaced values: AllocTransType (tag 71) with values in AllocType (tag 626) [Replaced in FIX 4.3]
The AllocTransType (tag 71) field specified both the type of "transaction": new, cancel, replace and the type or purpose of the Allocation message. A new field AllocType was introducted in FIX 4.3 which specifies the type or purpose of the Allocation message. Three fields were removed from AllocTransType and are now part of AllocType. In addition, AllocType supports additional values which were not defined in AllocTransType.
Certain AllocTransType values can be specified using AllocType via the following mapping table:
Values Removed From AllocTransType (tag 71) | AllocType (tag 626) | ||
---|---|---|---|
0 | New (Note: "New" was dual-purpose: 1) a new transaction (this meaning remains) 2) buyside calculated allocation The buyside calculated allocation meaning has been replaced by AllocType="Buyside Calculated") |
1 | Buyside Calculated (includes MiscFees and NetMoney) |
3 | Preliminary (without MiscFees and NetMoney) | 2 | Buyside Preliminary (without MiscFees and NetMoney) |
4 | Calculated (includes MiscFees and NetMoney) | 3 | Sellside Calculated Using Preliminary (includes MiscFees and NetMoney) |
5 | Calculated without Preliminary (sent unsolicited by broker, includes MiscFees and NetMoney) | 4 | Sellside Calculated Without Preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney) |
9. Replaced Field: RelatdSym (tag 46) with Symbol (tag 55) [Replaced in FIX 4.3]
The RelatdSym (tag 46) field used in the News and Email messages prior to FIX 4.3 has been replaced by the Symbol (tag 55) field thus allowing the News and Email messages to use the same
10. Removed Deprecated Field: Benchmark (tag 219) [Deprecated in FIX 4.3, Removed in FIX 4.4]
Affected Volume 3: field removed from Indication of Interest message.
The Benchmark field introduced in FIX 4.2 was deprecated in FIX 4.3 by the combined use of BenchmarkCurveCurrency, BenchmarkCurveName, and BenchmarkCurvePoint fields. (see Volume 1, SpreadOrBenchmarkCurveData component block). The Benchmark field was removed in FIX 4.4. Mapping of the replaced Benchmark field's values is as follows:
|
11. Removed Deprecated "On Close"-related Values for OrdType Field [Deprecated in FIX 4.3, Removed in FIX 4.4]
Affected Volume 1: Glossary, Business Terms.
Affected Volume 6: values removed from OnClose field in Field Definitions.
Three "on close"-related values in the OrdType field were deprecated in FIX 4.3 by the combined use of a new TimeInForce "At the Close" value and OrdType values. These OrdType values were removed in FIX 4.4. This makes "On close" handling consistent with "On open" (as a TimeInForce vs. OrdType). Note that CMS (e.g. used by NYSE) uses a TimeInForce for On Open (OPG) and an OrdType for On Close. FIX 4.3 implemented a consistent handling of the two vs. a continuation of following CMS-based semantics. Mapping of the deprecated OrdType field's values is as follows:
Replaced Value within OrdType field | TimeInForce (59) | OrdType (40) | |||
---|---|---|---|---|---|
5 | Market on close | 7 | "At the Close" | 1 | "Market" |
A | On close | 7 | "At the Close" | 1 | "Market" |
B | Limit on close | 7 | "At the Close" | 2 | "Limit" |
12. Removed Deprecated Field: Rule80A (tag 47) [Deprecated and Replaced in FIX 4.3, Removed in FIX 4.4]
Affected Volume 4: field removed from New Order — Single, Order Cancel/Replace Request (aka Order Modification Request), and New Order List messages.
The Rule80A field (known prior to FIX 4.2 as "Rule80A" and in FIX 4.2 as "Rule80A (aka OrderCapacity)") was deprecated and replaced in FIX 4.3 by the combined use of the new to FIX 4.3 OrderCapacity and Order Restrictions fields. The Rule80A field was removed in FIX 4.4. The "(aka OrderCapacity)" designation has been removed from the Rule80A field. Mapping of the replaced Rule80A field's values is as follows:
Replaced Field Rule80A (47) Value |
OrderCapacity (528) | OrderRestrictions (529) Note datatype: MultipleCharValue |
Side (54) | ||||
---|---|---|---|---|---|---|---|
A | Agency single order | A | Agency | ||||
B | Short exempt transaction (refer to A type) | A | Agency | 6 or A | Sell short exempt or Cross short exempt | ||
C | Proprietary, Non-Algorithmic Program Trade (non-index arbitrage) | P | Principal | 1 3 D | Program Trade | ||
Non-Index Arbitrage | |||||||
Non-algorithmic | |||||||
D | Program Order, index arb, for Member firm/org | P | Principal | 1 2 | Program Trade | ||
Index Arbitrage | |||||||
E | Short Exempt Transaction for Principal (was incorrectly identified in the FIX spec as "Registered Equity Market Maker trades") | P | Principal | 6 or A | Sell short exempt or Cross short exempt | ||
F | Short exempt transaction (refer to W type) | W | Agent for Other Member | 6 or A | Sell short exempt or Cross short exempt | ||
H | Short exempt transaction (refer to I type) | I | Individual | 6 or A | Sell short exempt or Cross short exempt | ||
I | Individual Investor, single order | I | Individual | ||||
J | Proprietary, Algorithmic Program Trading (non-index arbitrage) | P | Principal | 1 3 E | Program Trade | ||
Non-Index Arbitrage | |||||||
Algorithmic | |||||||
K | Agency, Algorithmic Program Trade (non-index arbitrage) | I or A or W | Individual or Agency or Agent for other member | 1 3 E | Program Trade | ||
Non-Index Arbitrage | |||||||
Algorithmic | |||||||
L | Short exempt transaction for member competing market-maker affiliated with the firm clearing the trade (refer to P and O types) | P | Principal | 4 | Competing Market Maker | 6 or A | Sell short exempt or Cross short exempt |
M | Program Order, index arb, agent for other member | W | Agent for Other Member | 1 2 | Program Trade | ||
Index Arbitrage | |||||||
N | Agent for other member, Non-algorthmic Program Trade (non-index arbitrage) | W | Agent for Other Member | 1 3 D | Program Trade | ||
Non-Index Arbitrage | |||||||
Non-algorithmic | |||||||
O | Proprietary transactions for competing market-maker that is affiliated with the clearing member (was incorrectly identified in the FIX spec as "Competing dealer trades") | P | Principal | 4 | Competing Market Maker | ||
P | Principal | P | Principal | ||||
R | Transactions for the account of a non-member competing market maker (was incorrectly identified in the FIX spec as "Competing dealer trades") | A | Agency | 4 | Competing Market Maker | ||
S | Specialist trades | P | Principal | 5 | Acting as Market Maker or Specialist in the security | ||
T | Transactions for the account of an unaffiliated member’s competing market maker (was incorrectly identified in the FIX spec as "Competing dealer trades") | W | Agent for Other Member | 5 | Acting as Market Maker or Specialist in the security | ||
U | Agency, Index Arbitrage | A or I | Agency or Individual | 1 2 | Program Trade | ||
Index Arbitrage | |||||||
W | All other orders as agent for other member | W | Agent for Other Member | ||||
X | Short exempt transaction for member competing market-maker not affiliated with the firm clearing the trade (refer to W and T types) | W | Agent for Other Member | 4 | Competing Market Maker | 6 or A | Sell short exempt or Cross short exempt |
Y | Agency, Non-Algorithmic Program Trade (non-index arbitrage) | A or I | Agency or Individual | 1 3 D | Program Trade | ||
Non-Index Arbitrage | |||||||
Non-Algorithmic | |||||||
Z | Short exempt transaction for non-member competing market-maker (refer to A and R types) | A | Agency | 4 | Competing Market Maker | 6 or A | Sell short exempt or Cross short exempt |
13. Removed Deprecated Field: OnBehalfOfSendingTime (tag 370) [Deprecated and Replaced in FIX 4.3, Removed in FIX 4.4]
Affected Volume 2: Message Routing Details – Third Party Message Routing, field removed from Standard Message Header.
The OnBehalfOfSendingTime field introduced in FIX 4.2 was deprecated and replaced in FIX 4.3 by the use of HopSendingTime (tag 629) field which is part of the "Hops" repeating group. The OnBehalfOfSendingTime field was removed in FIX 4.4. See "Volume 2 – Standard Message Header" for HopSendingTime usage.
14. Removed three Deprecated "Forex - "-related Values for OrdType Field [Deprecated and Replaced in FIX 4.3, Removed in FIX 4.4]
Affected Volume 1: Glossary, Business Terms.
Affected Volume 6: values removed from OrdType field in Field Definitions.
Three "Forex - "-related values in the OrdType field were deprecated and replaced in FIX 4.3 by the combined use of a specifying Currency in the Product field and use of "regular" OrdType values. These OrdType values were removed in FIX 4.4. Mapping of the replaced OrdType field's values is as follows:
Replaced Value within OrdType field | Product (460) | OrdType (40) | |||
---|---|---|---|---|---|
C | Forex - Market | 4 | "Currency" | 1 | "Market" |
F | Forex – Limit | 4 | "Currency" | 2 | "Limit" |
H | Forex – Previously Quoted | 4 | "Currency" | D | "Previously Quoted" |
15. Replaced value: "A = T+1" with value with "2 = Next Day (T+1)" in SettlmntTyp (tag 63) field [Replaced in FIX 4.4]
The value "A = T+1" was inadvertantly added to the SettlmntType (tag 63) field in FIX 4.3, however, the FIX specification already specified "2 = Next Day" which is synonymous. FIX 4.4 removed the "A=T+1" value and added " (T+1)" suffix to the "Next Day" value for clarification.
16. Replaced "Fixed Peg to Local best bid or offer at time of order" value from ExecInst (tag 18) Field [Replaced in FIX 4.4]
See "Volume 4 – Order Handling Instructions – pegged orders". Mapping of the removed ExecInst field's value is as follows:
Replaced Value within ExecInst (18) field | PegMoveType (835) | PegScope (840) | ExecInst (18) | ||||
---|---|---|---|---|---|---|---|
T | Fixed Peg to Local best bid or offer at time of | 1 | Fixed | 1 | Local | R | Primary peg |
17. Removed unused field: RatioQty (tag 319) [Replaced in FIX 4.4]
RatioQty (tag 319) was no longer used by any FIX messages as of FIX version 4.3 designating it as "No longer used as of FIX 4.3". Note that FIX 4.3 replaced this field with LegRatioQty (tag 623).
18. Removed unused field: SecDefStatus (tag 653) [Replaced in FIX 4.4]
SecDefStatus (653) was no longer used by any FIX messages as of FIX version 4.3 designating it as "No longer used as of FIX 4.3". Note that the FIX 4.3 draft process introduced this field, however, it was replaced with Security Definition messages prior to FIX 4.3 release.
19. Removed TotalVolumeTradedDate (tag 449) and TotalVolumeTradedTime (tag 450) fields [Replaced in FIX 4.4]
Removed TotalVolumeTradedDate (449) and TotalVolumeTradedTime (450) fields as FIX 4.4 specifies that MDEntryDate (272) and MDEntryTime (273) fields should be used instead.
20. Removed various Settlement Instructions-related fields [Replaced in FIX 4.4]
Removed the following Settlement Instructions-related fields:- SecuritySettlAgentName
- SecuritySettlAgentCode
- SecuritySettlAgentAcctNum
- SecuritySettlAgentAcctName
- SecuritySettlAgentContactName
- SecuritySettlAgentContactPhone
- CashSettlAgentName
- CashSettlAgentCode
- CashSettlAgentAcctNum
- CashSettlAgentAcctName
- CashSettlAgentContactName
- CashSettlAgentContactPhone
21. Removed "Default", "Specific Allocation Account Overriding", and "Specific Allocation Account Standing" values from SettlInstMode (tag 160) field [Replaced in FIX 4.4]
Refer to Appendix 6-H: Use of <SettlInstructions> Component Block for further details.
22. Removed several values from AllocType (tag 626) field [Replaced in FIX 4.4]
Removed values: "Sellside Calculated Using Preliminary (includes MiscFees and NetMoney)", "Sellside Calculated Without Preliminary (sent unsolicited by sellside, includes MiscFees and NetMoney)", and "Buyside Ready-To-Book — Combined Set of Orders". Renamed value "Buyside Ready-To-Book — Single Order" to "Buyside Ready-To-Book" in FIX 4.4.
23. Removed several values from YieldType (tag 235) field [Replaced in FIX 4.4]
Removing the following values from the YieldType field: "AVGLIFE = Yield To Average Life", "LONGEST = Yield to Longest Average (Sinking Fund Bonds)", and "SHORTEST = Yield to Shortest Average (Sinking Fund Bonds)" keeping "LONGAVGLIFE " and "SHORTAVGLIFE" values.