What is the best way to process trading status of a Future market, that is, when it is in normal, halt, open/close/auction state?
I am requesting quote via MsgModelType of MMT_MARKET_BY_PRICE and MMT_MARKET_PRICE.
I have seen TRD_STATUS and PRC_QL2 field being sent as part of initial quote.
Is TRD_STATUS field guarantee to be available on initial image and subsequent status change is broadcast as part of quote?
When is PRC_QL2 or PRC_QL3 field sent? It seems to be optional.
I am using RFA8.
Handling trade status is not straightforward. The reason for this is that each exchange has its own way of coding and mapping it. So, depending on the exchange, the status will be in one trade field or another, potentially even in a set of fields, and the data in those fields will vary by exchange as well. To add to the difficulty, it can happen that exchanges change the mapping ...
Start by looking at these fields: MKT_PHASE, MK_PHASE, INST_PHASE, MK_STATUS, MKT_STATUS, TRD_STATUS, FIN_STATUS, NASD_STATUS
For Xetra and Ireland it should be GV1_TEXT.
If they do not deliver anything useful for the exchanges you are interested in, look at the qualifier fields: ACT_FLAG1, CTS_QUAL, TRD_QUAL_2, IRGCOND, PRC_QL_CD, PRC_QL2, MKT_ST_IND, LIMIT_IND, ACT_TP_1, etc.
Documentation: using the Eikon GUI you can find some information. In a quote window, open WORLD/TAS1 (TAS stands for Time And Sales), or directly enter <countryISO>/TAS1 or <countryISO>/CHAR1 and follow the contextual menus (you might need to search a bit through those pages to find the qualifiers descriptions).
Image versus update: the initial image contains all fields, the following updates contain only the fields that have changed.
Hope this helps.
An Initial image will always have every fields that belong to the request instrument. And subsequent status changes will be broadcast as updates.
PRC_QL_CD, PRC_QL2 and PRC_QL3 are qualifier of the quote price. The updating rule of these fields are varies between exchange.
If you are looking for market and trade status, you should use TRD_STATUS or INST_PHASE.
TRD_STATUS cover the trading status of an instrument (normal, halt, suspend, etc), while INST_PHASE cover the current phase of an instrument (normal trading, specific auction period, etc)