Hi all,
For the implementation of interfaces between its Exchange system(Trading and Market Data, etc.) and Member Firm systems, our company(Exchange) currently uses some specific tags among the already allocated tags in range of 5,000 to 9,999. However, our FIX implementation (Ver. 4.2) in our global customer system has already been using those tags in different semantics for last ten years without following the officially allocated name and description of the corresponding fields.
Q#1. In case we are forced by some reasons to continue to use the same tag numbers(5,000 ~ 9,999) of the pre-allocated user defined fields but in our own semantic, is it not compliant to FIX standards or strictly prohibited by FIX GTC? (I see that many global exchanges such as LME, ASX, and etc. are giving their own names or descriptions to the pre-allocated tag numbers and their message specification describes that it is referring to the FIX standard version.)
Q#2. If the answer to the above Q#1 is ‘non-compliant’ or ‘prohibited’, is it recommended by FIX Global Technical Committee(GTC) to convert the number of our own semantic fields into the new available number ranging from 20,000 to 39,999?
-
If yes, is it mandatory to register them to FIX standards or just recommended?
-
If the replacement with the new ranged tag numbers is not applicable or realistic for us, what is the alternatives or another recommendation?
FIX only defines “non-compliance”, there is no additional severity level called “strictly prohibited”. FIX is a free and open standard, i.e. it is up to the users to see the benefit and use it in a compliant manner. Cases of non-compliance do have different levels of severity in my personal view and this translates into more or less pain when tyring to communicate with a FIX-compliant counterparty.
I am aware of the mis-use of user-defined fields in the public range 5000-9999. It is recommended to either use these fields with the published field name and semantic (=as-is) or to go into the non-public range of 20000-39999. There is no possibility to register these, i.e. there can be conflicting names and semantics across counterparties.
The best advice I can give you is to use standard fields and avoid user-defined fields as much as possible. If you identify gaps in FIX then you are encouraged to get involved and ask around in this forum if it is really a gap. As a FIX member you then have the possibility to join working groups to submit a Gap Analysis to the FIX GTC and propose an extension. All changes are driven by the FIX users just like new features of a software application are driven by its users. The FIX GTC merely ensures due process and tries to avoid redundancies or inconsistencies with existing standard messages, fields and valid values.
Really appreciated and through this forum I will identify gaps as you recommended.