Receiving 0 indicative to indicate blank price but isBlank is not set
We have encountered some exchanges which send a zero indicative to indicate a blank price but the isBlank field in the RsslReal struct is not being set true. This makes it difficult to determine whether a zero indicative price is a true 0 or a blank without having a manual hard-coded condition for each market to indicate that this specific market uses 0s to indicate blanks, whereas other markets use 0s to indicate actual 0s and set the isBlank field to indicate blank.
Some observed examples of this behaviour are:
XSAF: ALSI (JSE All Share Index)
XSFE: NBB (NZ bank bills), YAP (SPI200), YBA (Aus bank bills), YTC (Aus 10 year treasuries)
XTAF: TX (TAIEX)
Has anyone else observed this? It seems like a failure in data normalisation by refinitiv, however I had no luck getting a resolution through a support ticket.
Thanks!
Best Answer
-
Thank you for reaching out to us.
I ran EMA C++ example (Cons120) to subcribe to /ABGJ.J.
Some fields contain real blank data.
How does the application check the blank data? The code should look like this:
void AppClient::decode( const FieldList& fl )
{
while (fl.forth()) {
cout << "Fid: " << fl.getEntry().getFieldId() << " Name: " << fl.getEntry().getName() << " value: " << fl.getEntry().getLoad().toString() << endl;
if (fl.getEntry().getLoad().getDataType() == DataType::RealEnum) {
if (fl.getEntry().getCode() == Data::BlankEnum) {
cout << "<### blank ###>" << endl;
}
}
}
}Please share RICs and fields that the application received 0, as blank data.
You can also enable the XmlTraceToStdout and XmlTraceHex configurations to verify the raw data.
<Consumer>
<Name value="Consumer_1"/>
<Channel value="Channel_1"/>
<Logger value="Logger_1"/>
<Dictionary value="Dictionary_2"/>
<XmlTraceToStdout value="1"/>
<XmlTraceHex value ="1"/>
</Consumer>0
Answers
-
@Jirapongse Thanks for your reply.
The FIDs we are looking at are IND_AUC and IND_AUCVOL.
Some exact RICs that we have observed this behaviour on are:XSAF:ALSIU4
XSFE:NBBH5
XSFE:NBBH6
XSFE:NBBM5
XSFE:NBBM6
XSFE:NBBU4
XSFE:NBBU5
XSFE:NBBZ4
XSFE:NBBZ5
XSFE:YAPU4
XSFE:YAPV4
XSFE:YAPX4
XSFE:YBAH5
XSFE:YBAH6
XSFE:YBAM5
XSFE:YBAM6
XSFE:YBAU4
XSFE:YBAU5
XSFE:YBAZ4
XSFE:YBAZ5
XSFE:YTCU4
XTAF:TXQ4
XTAF:TXU4We observe the behaviour daily between 7:16 am -7:17am UTC time.
As a specific example, on August 19th, for XSAF:ALSIU4, we received these messages:07:16:01 Process update for stream 1263 instr XSAF:ALSIU4
07:16:01 Field 3912:IND_AUC processed from Statistics type REAL value 0
07:16:01 Field 3913:IND_AUCVOL processed from Statistics type REAL value 0In this case, the exchange is known to use an IND_AUC value of 0 to indicate blank, however the refinitiv does not seem to be normalising the 0 it is sending to blank (it sends an actual indicative value of 0, which is not correct).
I do believe we are checking the isBlank field correctly, as it works as expected for many other symbols we trade.
Thanks!0 -
Yes, I got the 0 value when subscribing to NBBM5.
As this forum is more for programming type queries, rather than content queries - I would recommend you raise a 'I need help understanding content within the product' ticket with our helpdesk. That way a Content specialist can work closely with you and verify the assumption.
0 -
@Jirapongse
Thanks for your reply.
Unfortunately I have been through the process of raising a ticket with the helpdesk, and the suggestion from them was to post on this forum.
Not sure if you have any other suggestions or avenues we could look at?
Regards,Jeremy
0 -
@viv_manoj
I can submit a ticket on your behalf.
What data feed product (Real-Time Optimized, or Edge Device) are you using?
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
- 685 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
- 252 ETA
- 556 WebSocket API
- 38 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
- 652 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
- 27 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 193 TREP Infrastructure
- 228 TRKD
- 917 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 中文论坛