Imported from previous forum
[ original email was from Jeremy Sutton - jezza.sutton@patsystems.com ]
I am getting some hassle from a FIX vendor about our use of 268=0 within the market data message. We (and others) use this to indicate that the market is in fact empty. For instance, subscribe to bids and offers with full refresh and then delete all the bids and all the offers from the market. How else can I represent that the last entry in the market was removed? Obviously this is not an issue with incrementals, since you just delete the last entry.
For a full refresh I have to report something but the vendor points out that in FIX.4.4 tag 268 is data type NumInGroup which is defined as positive. We’re actually doing this in FIX.4.2 but I always keep an eye on the FIX.4.4 future.
Can anyone else think of a way of representing the empty market on a full refresh without “breaking” the definition of tag 268? The vendor in question is dumping my message because it’s not valid in their eyes. The solution from the vendor was to supress certain message validation in their application but that did not seem very elegant.
[ original email was from Matt Simpson - msimpson@cme.com ]
Thanks for bringing this up. We plan to address it in an upcoming MD Optimization Work Group meeting.
Some initial thoughts here are to extend the Snapshot Full Request message in one of two ways: add a “null market” enumeration to MDEntryType/tag 269 which could be accompanied by other useful information in the MDEntries group, or add a new tag for “Null Market” that exists outside the MDEntries group.
As you point out, the current NumInGroups data type does not allow a non-positive value. The difficulties associated with changing or adding a data type are probably great enough that we don’t want to go that route.
I am getting some hassle from a FIX vendor about our use of 268=0 within
the market data message. We (and others) use this to indicate that the
market is in fact empty. For instance, subscribe to bids and offers with
full refresh and then delete all the bids and all the offers from the
market. How else can I represent that the last entry in the market was
removed? Obviously this is not an issue with incrementals, since you
just delete the last entry.For a full refresh I have to report something but the vendor points out
that in FIX.4.4 tag 268 is data type NumInGroup which is defined as
positive. We’re actually doing this in FIX.4.2 but I always keep an eye
on the FIX.4.4 future.Can anyone else think of a way of representing the empty market on a
full refresh without “breaking” the definition of tag 268? The vendor in
question is dumping my message because it’s not valid in their eyes. The
solution from the vendor was to supress certain message validation in
their application but that did not seem very elegant.
[ original email was from Jeremy Sutton - jezza.sutton@patsystems.com ]
Using 268=0 seems to be a fairly common practise in the real world though. As in, although one FIX vendor is giving me some grief over this on my outbound traffic, another interface I have to actually receive prices from a liquidity provider sets 268=0 to indicate the market is empty.
So allowing zero would be nice from my perspective 
I was just interested if there was any current other way of doing it, the answer being “no”.