question

Upvotes
Accepted
3 2 4 10

How can individual messagges recover in EMA

If consumer receiving refresh or update messages is there way to uniquely identify each message( there is a seqnum field can we use this value for identification). And if there is missing message (gap in sequence numbers) can we request these messages individually, can this kind of scenario happen in API or is it handled by the API and transparent to the consumers.

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
Accepted
9.5k 10 5 7

EMA cannot request any specific data message; it returns the current data when an application subscribes an item and data occurs after that till the application unsubscribes the item. When this is missing message due to connection lost, EMA will recover the connection and re-subscribe items automatically; the application does nothing. Hence, the application will get the current data after EMA re-establishes the connection successfully. For example, the connection lost happens at 10.00. During 10.00-10.01, there are 3 data messages e.g. message1, 2 and 3 containing the same fields. EMA can re-establish the connection at 10.01. Hence, the application will receive the message 3 which are the current value. If message1,2 and 3 containing the different fields(message1-field id 10, message2-field id 20 and messages3-field id 30), EMA returns a message containing message1,2 and 3 which is the current value of each field.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
1.9k 6 9 16

From the scenario given that you want to get a missing tick in the recent past, it simply means that you just want that historical data again.

As far as I know, it is impossible that Real-time API products such as EMA or RFA request a single update tick for an item because a server sends only latest data to downstream at the first time (refresh) following by updates if it occurs. So, the missing message should be replaced in the server's cache already by recent data.

Besides, if considering the request message header, it does not have a sequence number in it which clearly implies that you can't specify a sequence number with a request message.

The closest scenario that we can imagine for this case is that if the server feed provides Time and Sales (TAS) version of the particular item, you can send a request and specify date and time for the missing message that you are interested in with the item name.

To request TAS data, you can use a prefix small ‘t’ in front of the base RIC to get the trade data within that day. In addition, you can specify a back date (maximum back date is 14 day) and time as well using the following name convention:

-------------------------------------

Time and Sales RIC naming

-------------------------------------

t<BASE_RIC>\[hhmm][-n]

hh – hour

mm – minute

n – day that you want to request in the past

Note:

Data will be shown in SEG_TEXT (FID=258)

PREV_LR (237) and NEXT_LR (238) link to the previous and next record.

Here there are some examples of Time and Sales requests around 7:00AM of 6 July 2016 :

tTRI.N/1000 - trade data of TRI.N before 10:00 of this day.

FIELD_ENTRY 258/SEG_TEXT:
16:02:00.914           56232   40.4500    05JUL    1841878     CLT  
15:59:59.851            4000   40.4500    05JUL    1840807  
15:59:58.161              61   40.4500    05JUL    1839427     ODD  

Remark: There was no trading for TRI.N at this moment (it wasn't 10:00), so the server sent the recent occurrences instead.

tTRI.N/1000-1 - trade data of TRI.N before 10:00 of yesterday.

FIELD_ENTRY 258/SEG_TEXT:
09:59:32.943             100 X 40.5900    05JUL     179871     M_SWEEP        
09:58:58.501             100 X 40.5700    05JUL     175847     M_SWEEP        
09:58:43.189              14 X 40.5600    05JUL     174681     1065    

In other hand, if the feed doesn't provide TAS version of the particular RIC, the server will send the result as follows:

FIELD_ENTRY 258/SEG_TEXT:
NO LOG FOR THIS INSTRUMENT   

However, there is a concern for TAS because Elektron Feed team plans to release a new Time Series service that provides historical data, so TAS may go obsolete in the future but there is no obvious End of Life date set yet.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
11.3k 25 8 13

To verify if there is missing message, you may refer to this "How to verify all ticks were captured?" question

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea