No data events from RIC XAU= and XAU=ALL

I've tried to subscribe using a C# program for 'XAU=' or 'XAU=ALL'. No data was returned from server. If I subscribe to currency such as HKDSGD=R, there were data streaming in.

I'm curious why XAU= or XAU=ALL doesn't work.

The fields I subscribed to were ("BID", "ASK", "CTBTR_1", "CTB_LOC1", "BCKGRNDPAG", "DSPLY_NAME", "TIMACT")

In fact my setup is a Thompson Reuters Hosted mode. The C# program interacts with the Eikon desktop software.

ANy clue of why this happens may help a lot. Did I miss out anything?

Best Answer

  • cewong
    Answer ✓

    Hi @Alex Putkov. I have not resolve this issue. Only worked around it. My workaround is not a solution but for temporary measure until I could spend a bit more time on this matter.

    I could subscribe and rates with XAUMYR=R

    Then I reconvert it back to USD/oz with MYR= rates.

    Is not accurate but I'm still preplexed by the cause of getting XAU= rates via C# .API

Answers

  • @cewong Assuming you are using .NET Data API, I would suggest subscribing to OnStatusChange and OnError events to determine why do you not get XAU=:

    private void Subscribe()
    {
    var realtime = DataServices.Instance.Realtime;


    _subscription = realtime.SetupDataSubscription()
    .WithRics(“EUR=“, “GBP=“)
    .WithFields(“BID”, “ASK”)
    .OnDataUpdated(DataReceivedCallback)
    .OnStatusUpdated(StatusUpdatesCallback)
    .OnError(ErrorCallback) //error call back
    .CreateAndStart();
    }

    Here is the list of statuses for your reference.

    image

  • In addition to the response by @Zhenya Kovalyov, it's worth checking if you can display these RICs in a Quote app in Eikon.

  • Ok. I'll try that. Will update progress after. Thank you.

  • @Zhenya Kovalyov - I made the addition as per your suggestion. The response I got for both SetupDataRequest & SetupDataSubscription was 'Ok'.

    Code snippet looks like this,

    image

    @Alex Putkov. - Yes I get data update Quote App but not from the .NET API. This anomaly occurs only for XAU= and XAU=ALL. If I subscribe to currency such as EUR or AUD, there are data.

    Note: Ignore the Elapsed Event heartbeat.

    image

  • @cewong if you are using the standard example, please make sure that DataReceived looks at the correct keys in the update event:

    private void DataReceivedCallback(IRealtimeUpdateDictionary updates)

    {

    if (updates.ContainsKey("XAU="))
    {
    if (updates["XAU="].ContainsKey("BID"))
    {
    Console.WriteLine("XAU=(BID) {0}", updates["XAU="]["BID"].Value.ToString());
    subscription.Stop();
    Program.StopMessagePump();

    }

    }

    }

    Might that be the case?

  • @Zhenya Kovalyov yes, in fact, my code just display any keys subscribed. As long as there is an event from EIkon's service, I should be able to show. Unfortunately, that wasn't the case.

    image

  • @cewong
    Were you able to resolve the issue? I'm afraid I'm out of suggestions. The fact that the issue is only happening for a couple of RICs and that you can view these RICs in a Quote app in Eikon makes no sense to me. If indeed you found the root cause of the problem, I'd very much appreciate you sharing it on this thread.

  • Hi @Alex Putkov. & @Zhenya Kovalyov

    An update. I noticed for RIC XAU= is from Commodity but XAUSGD=R is from FX.

    1) Is there a difference in subscribing via .NET API for commodity versus Foreign Exchange (FX)?

    2) How do I check if my subscription has access via API to Commodity RIC?

    image

    image

    Thanks.

  • @cewong

    1. Not really

    2. If you do not have access to a ric, it will return a NotPermission error

  • Is the XAUSGD=R (Thompson Reuters Calculated) rates derived from XAU= (cash spot) x SGD= (local intrabank fx) ?

    Another example for rates from XAUEUR=R is from cross of XAU= & EUR=?

  • @cewong yes, =R usually means 'derived calculation'.

  • Hi Zoya,

    I have not really found a solution as the workaround is not entirely applicable. For instance the XAUSGD=R will cross every price from any Contributors which can vary drastically especially between London and Swiss and banks.

    However with XAU=, at least this RiC has a field which I can put a condition to filter selected Contributors price will be consume.

    Is there a way I can subscribe an a derived RiC and specify only specific contributors price source event forward to me?

    If only I can get XAU= to work with .NET API. Anyone else from Refinitiv be able to simulate this problem I'm facing?

    Appreciate your kind feedback.

  • You cannot filter updates by contributor for Refinitiv calculated RICs such as XAUSGD=R, as all updates will have the same contributor: Reuters. I'm totally baffled by the behavior you describe, and needless to say that I cannot reproduce it. Quote app in Eikon and Eikon .NET API use the same data retrieval mechanism. If you're able to view the RIC in a Quote app you should be able to retrieve it in your application. The fact that you only experience the problem with a couple of RICs makes no sense either. It would however be interesting to see if you can retrieve the data for other precious metals: XAG=, XPT=. It would also be interesting to enable logging and see if streaming data is being retrieved by Eikon when you start the subscription in your application.
    Since this issue must be either machine or user account specific, it's not practical to troubleshoot it on this forum. You may want to open a ticket with Refinitiv Helpdesk, which you can reach by either calling the Helpdesk number in your country or by using Contact Us capability in your Eikon application. The Helpdesk can help you create and analyze Eikon logs.

  • Hi Alex

    I have tried silver and platinum before and same behavior as XAU=. The baffling thing is I can view in Eikon application but not through .NET API.

    Would there be some kind of permission for my user account restricting API access for all commodity RiC?

    As XAUSGD=R, XAUMYR=R are all FX RiC not Commodity.

  • You're right, it's totally baffling. The data entitlement controls are the same whether you use a Quote app or Eikon .NET API. If you can view a RIC in a Quote app, you should be able to retrieve it using Eikon .NET API. Just to see if we can establish any patterns, are you able to retrieve the following RICs into your application: GBP=, XAU=S, XAU=X? It would also be interesting to see if you can retrieve XAU= into Excel using =TR("XAU=","BID") function.