question

Upvotes
Accepted
5 1 1 2

How to get sequence number in RefreshMsg and updateMsg

We use Refinitv Elektron SDK API (ema.jar, upa.jar, upaValueAdd.jar version 3.5.0.0) to connect to Refinitiv to get market data.

We are looking into to validate whether some updates from Refinitiv are getting lost/dropped or received out of order.

We tried to use field SEQNUM (FID 01021) and updateMsg.seqNum(), but these are getting incremented in not a predictable format.

What field we can use within RefreshMsg and updateMsg to get message sequence number, which we can use ?

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-api
icon clock
10 |1500

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

Upvotes
Accepted
25.3k 87 12 25

Hi @hardeepsangha

The value of the SeqNum() and the SEQNUM FID values are controlled by the source publisher e.g. originating exchange.

You should not rely on them – other than maybe to confirm temporal ordering e.g. if they arrive out of sequence.

The Status will indicate Suspect Data state if an upstream device is concerned about the reliability of the data e.g. some temporary issue which it hopes will resolve soon.

You may continue to receive messages/data whilst the data state is Suspect and should treat the data accordingly / warn the user etc.

When the Suspect state is cleared you should receive an Unsolicited Refresh confirming the latest correct values for all fields of the instrument.

If you wish to explore the SEQNUM FID value in more detail, please raise a Content type ticket including details of the Exchange + asset classes you are consuming OR a list of sample RICS. The Content team may then be able to offer further information for that particular exchange + asset class.

Also, please be aware that, depending on the Real-Time feed / service you are consuming you may not receive every single tick e.g. the Refinitiv Real-Time Optimised feed is Bandwidth optimise to deliver 3 Trade Safe updates a second. OR, if you are consuming a service from an internal ADS server, your organisation may have applied conflation to the service - something you would need to check with your Market Data team.

icon clock
10 |1500

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

Upvotes
5 1 1 2

Hi umer.nalla,

Thanks for your response.

For the scenario where the client will be receiving the messages/data whilst the data state is Suspect. Is there some documentation listing error scenarios like this, which can be shared ?

Are there any other field's within the message which can be used to get the sequence number of messages ?

I will raise a ticket to get further details on SEQNUM FID.

icon clock
10 |1500

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

Upvotes
32.2k 40 11 19

Hello @hardeepsangha,

In addition to the answer from @umer.nalla, you may wish to review

this previous discussion thread

and

this previous discussion

centered around sequence numbers use.

icon clock
10 |1500

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

Upvotes
25.3k 87 12 25

Hi @hardeepsangha

Our Real-time APIs are 'content neutral' and just deliver whatever is sent by the feed/source provider. Suspect data scenarios will be determined by the feed /source provider.

In terms of the EMA API, please refer to the EMA RDMUsageGuide.pdf which can be found in the Ema\Docs folder of the RTSDK package.

You will find reference to Suspect data handling in the above doc e.g. 'Single Open and Allow Suspect Data Behavior'

One thing I should point out is that any code related to StatusMsg handling should not try and interpret any text message provided in the status msg - as the text is open to future changes. The developer should focus on the DataState, StreamState etc to determine any behaviour.

They can obtain a list of DataState, StreamState and StatusCode in the EMA Reference documentation for refinitiv::ema::access::OmmState

icon clock
10 |1500

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

Upvotes
5 1 1 2

Hi umer.nalla,

Thanks. Seems SEQNUM FID will change only for trade events.

Is there some FID which gets updated for any update happening within the refreshMsg/updateMsg ?

icon clock
10 |1500

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

Hi @hardeepsangha

As mentioned previously, please raise a Content type ticket including details of the Exchange + asset classes you are consuming OR a list of sample RICS. The Content team may then be able to offer further information for that particular exchange + asset class.

The Refinitiv Real-time feeds carry over 80million RICs from 10,000+ source - and we have Content specialists covering specific content sets - the forum moderators are not Content/Data specialists.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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