Not getting data for Zinc Metal 'CMZNM20' in .NET API

Hi, I am using .net api, downloaded the realtime data sample project and tried to get 'settle' prices for Zinc metal CMZNM20 commodity after market close for that day, the API not returning values, customer support provided a format 0#<tickcode>: for excel, tried that too in c# but no luck, Please provide solution to resolve the issue.

image

Best Answer

  • Thanks for all,

    My issue got fixed, Zinc Metal 'CMZNM20' not populating in settle, cf_close etc., as suggested, it is populating in 'Close1'.

Answers

  • Hi @seshagiriraokancherla, The 0# prefix in a RIC signifies a chain RIC. It does not exist for the instrument you are interested in. The RIC - CMZNM20 is valid, but the settle and settle date fields are not populated. You can use Data Item Browser in Eikon to see which fields are available and maybe use the one what has data of interest to you.

    image

  • Dear @Gurpreet , thank you for the information, I can't find 'data item code' in the data item browser for 'Eve.Eval'. 'Eve.Eval' is showing up in the price window :

    image

    Could you provide 'data item code' for 'Eve.Eval'.



  • Dear @Gurpreet , thank you for the information, I can't find 'data item code' in the data item browser for 'Eve.Eval'. 'Eve.Eval' is showing up in the price window :

    image

    Could you provide 'data item code' for 'Eve.Eval'.

  • When you hover on the quote window, you can see the FID's which make up that display field. In this case, these FID's are CLOSE(50) and GV1_FLAG(1041). These FID's refer to the real time streaming data that is being displayed in the quote window. To get the same data from get_data call, you can use the fields CF_CLOSE and GV1_FLAG:

    >>> df,er = ek.get_data('CMZNM20', ['GV1_FLAG', 'CF_CLOSE'])
    >>> df
    Instrument GV1_FLAG CF_CLOSE
    0 CMZNM20 F 2340
  • Thank you for the information, but I am using .NET API, could you provide same in .NET API

  • I don't use the .NET API, but the data fields are same across the API's.

  • @seshagiriraokancherla

    The code for .NET API looks like:

               request = realtime.SetupDataRequest()
                    .WithRic("CMZNM20")
                    .WithFields(new List<string> { "GV1_FLAG", "CF_CLOSE" })
                    .OnDataReceived(data => 
                        { 
                            foreach (var record in data)
                            {                                                
                                Console.Write("{0} ", record.Key);
                                foreach (var val in record.Value)
                                {
                                   
                                    Console.Write("{0}: {1}\t", val.Key, val.Value.Value.ToString());
                                }
                                Console.WriteLine("");
                            }
                        })
                    .OnStatusReceived(status => 
                        {
                            Console.WriteLine(status.InstrumentState.ToString());
                        })
                    .OnError(error => 
                        {
                            Console.WriteLine(error.Message);
                        })
                    .CreateAndSend();