As a vendor we see quite a lot of inter-op with counter-parties who mostly use ISO 4217 currencies in tag 15 but have custom codes (e.g. USd, GBp) for trading with the Price specified in the minor currency.
But it’s not standardised and there’s not even a CurrencyCodeSource to specify it.
Is there interest amongst folks for formally standardising the nomenclature for minor currency as an addendum to ISO 4217?
It comes up for us periodically, recently for an interface that only accept lower case text, including currencies.
It would be an interesting topic, but I also feel that new securities are rarely quoted in minor currencies now as inflation has largely eroded the benefit of doing so.
That is a good example of why we do not want values in the FIX Protocol to be unique just because of case sensitivity. CurrencyCodeSource(2897) only has official currency code standards and ISO 4217 only supports GBP (pounds) and not GBp (pence). The latter is a market convention that apparently causes issues.
The Orchestra Subcommittee recently discussed the issue of case sensitivity (see here for details). In short, values should be case sensitive but two values with different semantics should differ in more than just the case. So instead of a lowercase “p” implying a different unit, you would need “GBP” and a separate field to indicate whether the quantity is 1/1 or 1/100th of a pound.
This thread reminded me of the early days of FIX supporting bond trading when prices are still quoted in fractions. There was a lot of back and forth in the GFIC back then about whether to allow for fields the be able to express the exact fractions, e.g. 97-3/256. It turns out this was more of a display concern vs an one-the-wire concern. We settled that FIX price fields will always be decimal representation of whatever the fraction price is, it is up to systems to convert back to fractions for display purposes. Today we rarely hear of complaints of lack of fraction representation in a FIX message.
With that said, my question is whether this is really necessary on-the-wire? The display can show the GBp (pence) but in the FIX message it should be the GBP (pounds) representation. If the receiving side needs to display it in pence they can convert the pounds to pence.