.NET examples for getting basis,contract month and last values

I was trying to get basis, contract month and last values for SOYBCHSSVG-C1 . Since I learned that getting history not possible with python I switched to .NET.

Here most of the examples show how to get the open, close, high and low with examples like


foreach (IBarData bar in chunk.Records.ToBarRecords())

{

if (bar.Open.HasValue && bar.High.HasValue && bar.Low.HasValue && bar.Close.HasValue && bar.Timestamp.HasValue)

{



it will be great if anyone can give some examples of how to deal with the basis, contract month and last values


Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @bibin.jose

    The code to retrieve that data is:

                ITimeSeriesDataRequest tsRequest = timeSeries.SetupDataRequest("SOYBCHSSVG-C1")
                          .WithView("NDA_RAW")
                          .From(DateTime.Today.AddMonths(-1))
                          .WithInterval(CommonInterval.Daily)
                          .OnDataReceived(chunk =>
                          {
                              Console.WriteLine("{0}", chunk.Ric);
                              foreach (IData record in chunk.Records)
                              {
                                  foreach (string field in record.Keys)
                                  {
                                      Console.Write("{0}:{1} ", field, record[field]);
                                  }
                                  Console.WriteLine("");
                              }
                          })
                          .CreateAndSend();


    The output is:


    image

    The code uses the ITimeSeriesDataService to retrieve historical data. For more information, please refer to the Time Series tutorial.

Answers

  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @bibin.jose

    If the data is below, the answer could be similar to this thread.

    image

    The chain RIC is 0#SOYBCHSSVG:. The fields could be "DSPLY_NAME", "DATE_RANGE","PRIMACT_1", and "GEN_VAL1". However, you need to contact the content support team via my.refinitiv.com for confirmation regarding RICs and fields.

    The code looks like:

    IRealtimeService realtime;
    ...
               
    List<string> rics = new List<string>();
                var chainRequest = realtime.GetChain("0#SOYBCHSSVG:", true, constituents =>
                {
                    // Iterate through chain constituents
                    foreach (var constituentRic in constituents)
                    {               
                       // Console.WriteLine("{0}", constituentRic);
                        rics.Add(constituentRic);

                    }
                    var snapRequest = realtime.SetupDataRequest(rics).WithFields(new List<string> {"DSPLY_NAME", "DATE_RANGE","PRIMACT_1","GEN_VAL1"}).OnDataReceived(
                        update =>
                        {
                            foreach (var record in update)
                            {
                                Console.Write("{0} ", record.Key);
                                foreach (var val in record.Value)
                                {
                                   // Console.WriteLine("{0} : {1}", val.Key, val.Value.Value.ToString());
                                    Console.Write("{0}\t", val.Value.Value.ToString());
                                }
                                Console.WriteLine("");
                            }
                        }
                        ).CreateAndSend();
                });

    The output is:

    image


    The code uses real-time data API to retrieve the data. For more information, please refer to the Real-time data tutorial.

  • @jirapongse.phuriphanvichai


    Thank you. I am looking for something like this.


    image


    I know what is the RIC's but not sure about the fields.


    I a trying to get the historical data like this. Is this possible?