Getting Volume and Open_Interest for last trading date after close

Hi,

Last night at 20:07 I ran my C# API to get OHLC, Volume and OI for ESc1 and ESc2. At that time the API returned:

  03/04/19 00:00
2814
2819.75
2767.5
2791.25
0
0

So, I got 0 for OI and Volume. This is more than 3 hours after the CME close.

When I run it again this morning I get:

  03/04/19 00:00
2814
2819.75
2767.5
2791.25
1791972
2445886

So now data is correct. I need to have this data at the same time as the other data is available.

Why did it return 0 last night?

Code I used:

object volumeObject;
double? volume = null;
if (record.TryGetValue("NDA_VOLUME", out volumeObject))
volume = (double)volumeObject;

object open_interestObject;
double? open_interest = null;
if (record.TryGetValue("NDA_OPEN_INTEREST", out open_interestObject))
open_interest = (double)open_interestObject;


Thank you!

Best Answer

  • In resolution to case 07416365 the content team confirmed that for S&P 500 E-mini futures (ESc1 and ESc2) the exchange publishes volume and open interest on the collection feed at the following times: from Monday through Thursday, the exchange sends the values at 3 am GMT. For Friday's data, they send the values at 9:45 pm on Sunday.

Answers

  • @jerome your code looks fine, but it does not show what data you are requesting. Judging by the fields that you are using, I am guessing, it is a time series request, daily, withView('NDA_RAW'). Could you show the request params?

  • Hi Zhenya,

    Please find the code below:

    Thanks


    public void Launch(String ric, DateTime dt)
    {
    Console.WriteLine("Get RIC: "+ ric);
    //Console.WriteLine("");


    request = timeSeries.SetupDataRequest(ric)
    .WithView("NDA_RAW")
    .WithAllFields()
    .WithInterval(CommonInterval.Daily)
    .From(dt)
    // .WithNumberOfPoints(50)
    .OnDataReceived(DataReceivedCallback)
    .CreateAndSend();


    //Console.Write("finished");
    }


  • @jerome so ```dt``` is today-50?

  • Sry - let me re-paste..

    			request = timeSeries.SetupDataRequest(ric)
    .WithView("NDA_RAW")
    .WithAllFields()
    .WithInterval(CommonInterval.Daily)
    .From(dt)
    .OnDataReceived(DataReceivedCallback)
    .CreateAndSend();

  • Sry - let me re-paste..

    			request = timeSeries.SetupDataRequest(ric)
    .WithView("NDA_RAW")
    .WithAllFields()
    .WithInterval(CommonInterval.Daily)
    .From(dt)
    .OnDataReceived(DataReceivedCallback)
    .CreateAndSend();

  • Sry - let me re-paste..

    			request = timeSeries.SetupDataRequest(ric)
    .WithView("NDA_RAW")
    .WithAllFields()
    .WithInterval(CommonInterval.Daily)
    .From(dt)
    .OnDataReceived(DataReceivedCallback)
    .CreateAndSend();

  • DateTime dt = new DateTime(2018, 12, 1);

  • @jerome
    I opened case 07416607 with Refinitiv Helpdesk on your behalf to investigate at what time volume and open interest should be populated in NDA_RAW view for these futures.

  • @jerome it is not clear why you got this issue, might have been a content issue. The only thing I can recommend at this point is keep an eye on this and report it should this happen again.

    So, next time you see this, compare your output to the following Excel function. If it shows zeros as well, you can safely assume this is a content issue and report it to the support desk.

    =RHistory("ESc1","NDA_RAW.Nda_date;NDA_RAW.Nda_open_interest;NDA_RAW.Nda_volume;","INTERVAL:1D",,"CH:Fd")
  • ok - will check it again tonight