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 ?
Best Answer
-
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.
0
Answers
-
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.
0 -
Hello @hardeepsangha,
In addition to the answer from @umer.nalla, you may wish to review
this previous discussion thread
and
centered around sequence numbers use.
0 -
Hello @hardeepsangha,
In addition to the answer from @umer.nalla, you may wish to review
this previous discussion thread
and
centered around sequence numbers use.
0 -
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
0 -
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 ?
0 -
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.
0
Categories
- All Categories
- 6 AHS
- 37 Alpha
- 161 App Studio
- 4 Block Chain
- 4 Bot Platform
- 16 Connected Risk APIs
- 47 Data Fusion
- 30 Data Model Discovery
- 608 Datastream
- 1.3K DSS
- 577 Eikon COM
- 4.9K Eikon Data APIs
- 7 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- Trading API
- 2.7K Elektron
- 1.3K EMA
- 236 ETA
- 519 WebSocket API
- 33 FX Venues
- 10 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 20 Messenger Bot
- 2 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 59 Open Calais
- 264 Open PermID
- 39 Entity Search
- 2 Org ID
- PAM
- PAM - Logging
- 8.4K Private Comments
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 20 RDMS
- 1.4K Refinitiv Data Platform
- 367 Refinitiv Data Platform Libraries
- 3 Refinitiv Due Diligence
- LSEG Due Diligence Portal API
- 3 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.1K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 10 World-Check Customer Risk Screener
- 990 World-Check One
- 44 World-Check One Zero Footprint
- 45 Side by Side Integration API
- Test Space
- 3 Thomson One Smart
- 1.2K TR Internal
- Global Hackathon 2015
- 2 Specialists Who Code
- 10 TR Knowledge Graph
- 150 Transactions
- 142 REDI API
- 1.7K TREP APIs
- 4 CAT
- 21 DACS Station
- 117 Open DACS
- 1.1K RFA
- 103 UPA
- 172 TREP Infrastructure
- 224 TRKD
- 886 TRTH
- 5 Velocity Analytics
- 5 Wealth Management Web Services
- 59 Workspace SDK
- 9 Element Framework
- 5 Grid
- 13 World-Check Data File
- Yield Book Analytics
- 46 中文论坛