How do we extract quotes from EIkon via python?

Hello, all,

Are we able to extract the time-series of this data as below from EIkon API? Is there a way to extract the historical data as well?

I need to extract every rows and column of it.


1624857486356.png


Please advise. Appreciate it.

Thanks.


Best Answer

  • @stan.85 So to populate the list you could also try using RDP Search API - for example:

    rdp.search('RECYR01*')

    1624956481183.png

    So you could try it that way for each year and for the spot - probably you still need some processing.

    Regarding the field names you can use the Data Item Browser (type DIB into eikon search bar) or Code Creator App (type CodeCR into eikon search bar) which can help find any field you want and also you can check the relevant parameters. DIB is great because if you put an instrument in, it also returns values for each field - so its easier to zero in on what you want. Code Creator goes one step further and can actually create the python code for you once you have selected the fields and parameters you want. I tend to use DIB as i want to check values most of the time. I hope this can help.




Answers

  • @yeel.85 Please try the following:

    df3,err = ek.get_data(['RECSPOT=HVBS','RECYR01=HVBS','RECYR02=HVBS','RECYR03=HVBS','RECYR04=HVBS','RECYR05=HVBS','STCSPOT=HVBS','STCM1=HVBS','STCM2=HVBS','STCM3=HVBS','STCM4=HVBS','STCM5=HVBS','STCM6=HVBS','STCM7=HVBS','STCM8=HVBS','STCM9=HVBS','STCM10=HVBS','STCM11=HVBS','STCM12=HVBS','VEECSPOT=HVBS','VEECM1=HVBS','VEECM2=HVBS','VEECM2=HVBS','VEECM4=HVBS','VEECM5=HVBS','VEECM6=HVBS','VEECM7=HVBS','VEECM8=HVBS','VEECM9=HVBS','VEECM10=HVBS','VEECM11=HVBS','VEECM12=HVBS','NSWESCSPOT=HVBS','NSWESCM1=HVBS','NSWESCM2=HVBS','NSWESCM3=HVBS','NSWESCM4=HVBS','NSWESCM5=HVBS','NSWESCM6=HVBS','NSWESCM7=HVBS','NSWESCM8=HVBS','NSWESCM9=HVBS','NSWESCM10=HVBS','NSWESCM11=HVBS','NSWESCM12=HVBS'],
    ['DEALT_VL1','PRIMACT_1','SEC_ACT_1','SEC_VOL1','VALUE_TS1','VALUE_DT1'])

    df3

    1624873003276.png


    For the history I would try either the Historical Pricing service from our RDP APIs or our timeseries- which you can access using an eikon app key. I hope this can help.


  • Thanks chavalit, appreciate it. If i can the historical pricing, that would be awesome.
  • jason.ramchandani ,

    Thanks for the help. Just a few questions:

    1. Where can I find what parameters to use when we call the ek.get_data() as I will need to do the same for other brokers as well.
    2. As you have suggested using the Historical pricing service from the RDP API, would you be able to share the code for that? What should I fill for the parameter universe? Please advise.
    3. I am wondering if there is any documentation on the API that i can refer for future reference?
    StartDate = '2021.06.20'

    EndDate = str(datetime.date.today())

    data = rdp.get_historical_price_summaries(universe = ?, fields = fields, interval = rdp.Intervals.DAILY, start=StartDate, end= EndDate)


    Thanks.

  • @stan.85 So when you say parameters you actually mean ric construction so - for these RICs the easiest way is type in the first part of the RIC into search and then it will provide with a list of broker codes to add after the = sign.


    1624887397581.png

    Unfortunately we do not carry timeseries history for these RICs as I cannot chart them - so there is no history being collected. For a valid RIC the code below returns a dataframe.

    ric = 'VOD.L'

    data = rdp.get_historical_price_summaries(universe = ric,
    interval = rdp.Intervals.DAILY,
    start=StartDate,
    end= EndDate)

    data

    For more information on the RDP Historical Pricing endpoint please go to the API Playground which has sample and references as well as swagger documentation.

    1624888307824.png


    You can find the API Playground from the developer community portal Tools section. I hope this can help.



  • Hi, @jason.ramchandani


    Thanks for the info. Hmm, guess there is no other way to get that historical pricing. Yeap, I was referring to those ric, would have thought we might have an easier way to populate the list.

    Probably a last question (might be a silly one), was wondering where do we find the respective variable: 'DEALT_VL1','PRIMACT_1','SEC_ACT_1','SEC_VOL1','VALUE_TS1','VALUE_DT1' ?

    Thanks.

  • Thanks
    @jason.ramchandani. Appreciate it