Missing Fields when there is no Quote on a RIC yet?
We have a new java application that accesses the Real-Time data as a Snapshot via the EMA java API. We came across a peculiar behavior, that our business department considers a showstopper for our acceptance test:
When receiving an ema.access.RefreshMsg for requesting data for RICs and processing the field list that is contained inside the RefreshMsg as a payload, we find, that for a small and random fraction of RICs, we receive an incomplete RefreshMsg that is missing one or more crucial Fields, such as BID, ASK or LATEST. When double checking for some exemplary RICs from within the EIKON Terminal, we found that the RIC did have the missing Fields displayed as “0” or “0.0” within EIKON, which led the business experts to conclude, that the price for the RIC had not been quoted yet. On the same day, we could confirm, that the missing field would indeed become available eventually at a later time.
The problem with that kind of behavior is, that it seems our old API connection would be able to discern between data that might still become available (and receive and report those Fields with a value of 0) and other data that is deemed to be permanently unavailable. So I have two questions:
How can we discern between temporary unavailable fields in RICs and other potentially permanent data issues at the field level?
What is the business interpretation of fields missing in a payload for a single RIC with an associated OmmState of (Data State: Ok, Stream State: Open, Status Code: None)?
Technical background info: Our old API connection was based on Thomson Reuter SSL Developers Kit (SDK) - C++ Edition Version 4.6.3 which will now be replaced by a java application based on EMA SDK Version 3.8.0. Our old Refinitiv Data Access Control System was Version 7.7 our new target Version is 7.9.
Example asof 2025/05/08 09:38 AM CET:
RIC: CAUSCOSR9Y=GCMN, PARTIAL DELIVERY: missing FIDs: [FieldID[value=22]]; OMMState:
Data State: Ok
Stream State: Open
Status Code: None
Other example instruments:
CAUSCOSR8Y=GCMN | PARTIAL DELIVERY: missing FIDs: [FieldID[value=22]] |
---|---|
CAUSCOSR9Y=GCMN | PARTIAL DELIVERY: missing FIDs: [FieldID[value=22]] |
CHF1YSACP500=ICAP | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1031]] |
ES261665158= | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1057]] |
EURAB6EE7Y=ICAP | PARTIAL DELIVERY: missing FIDs: [FieldID[value=25]] |
IT279199375= | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1057]] |
SARON.S | PARTIAL DELIVERY: missing FIDs: [FieldID[value=18] |
US238792983= | PARTIAL DELIVERY: missing FIDs: [FieldID[value=1057]] |
Answers
-
Hello @Goesta
The missing fields might be containing the blank data. In the older APIs this was represented using 0.
You can use one of the EMA example application to dump all the refresh message fields to console and confirm if all the fields are indeed there.
RefreshMsg streamId="5" domain="MarketPrice Domain" solicited RefreshComplete state="Open / Ok / None / ''" itemGroup="00 27" permissionData="03 01 01 84 43 c0" name="CAUSCOSR8Y=GCMN" nameType="1" serviceId="257" serviceName="ELEKTRON_DD" Payload dataType="FieldList" FieldList FieldListNum="26" DictionaryId="1" FieldEntry fid="1" name="PROD_PERM" dataType="UInt" value="8443" FieldEntry fid="2" name="RDNDISPLAY" dataType="UInt" value="153" FieldEntry fid="4" name="RDN_EXCHID" dataType="Enum" value="214" FieldEntry fid="6" name="TRDPRC_1" dataType="Real" value="(blank data)" FieldEntry fid="12" name="HIGH_1" dataType="Real" value="(blank data)" FieldEntry fid="13" name="LOW_1" dataType="Real" value="(blank data)" FieldEntry fid="15" name="CURRENCY" dataType="Enum" value="124" FieldEntry fid="19" name="OPEN_PRC" dataType="Real" value="(blank data)" FieldEntry fid="21" name="HST_CLOSE" dataType="Real" value="-1.00" FieldEntry fid="22" name="BID" dataType="Real" value="-1.00" FieldEntry fid="23" name="BID_1" dataType="Real" value="-1.25" FieldEntry fid="24" name="BID_2" dataType="Real" value="-1.00" FieldEntry fid="25" name="ASK" dataType="Real" value="3.00"
0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 684 Datastream
- 1.4K DSS
- 615 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 249 ETA
- 554 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 643 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 192 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 90 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛