ek.get_data correct date with multiple fields

Hi,


I have the following call in excel:

=@TR("IAG.AX","TR.IssueMarketCap(Scale=6 ShType=FFL), ((TR.FreeFloatPct)/100), TR.IssueSharesOutstanding(Scale=3), TR.CLOSEPRICE(Adjusted=0)","SDate=2020-10-27 EDate=2020-12-01 Curn=USD CH=Fd RH=calcdate")

I repeat to make this same call in:

 ek.get_data


However I want in the return also a correct date (that is correct for all fields) so that If I later use the information I know which get_data result is for which date

data, err = ek.get_data("IAG.AX"
, fields = ["TR.IssueMarketCap('Scale'=6,'ShType'=FFL)"
,"TR.FreeFloatPct()/100/*FreefloatWeight*/"
,"TR.IssueSharesOutstanding(Scale=3)/*shares outstanding*/"                                       ,"TR.CLOSEPRICE(Adjusted=0)/*close*/"]
, parameters = {"Curn" = "USD", "SDate" = "2020-10-27"
, "EDate" = "2020-12-01"}


I can add a date like e.g.:

"TR.CLOSEPRICE(Adjusted=0).DATE"


But then how do I know for sure that this date is valid also for the other fields (not close price)?








Best Answer

  • @laurens thanks for your question - so there is no way to guarantee fidelity of dates across different fields with the Eikon Data API library - without explicitly requesting a date or a calc date:

    data, err = ek.get_data("VOD.L",fields = ["TR.IssueMarketCap(Scale=6).calcdate","TR.IssueMarketCap(Scale=6)","TR.FreeFloatPct.calcdate","TR.FreeFloatPct","TR.IssueSharesOutstanding(Scale=3).calcdate","TR.IssueSharesOutstanding(Scale=3)","TR.CLOSEPRICE(Adjusted=0).calcdate","TR.CLOSEPRICE(Adjusted=0)"],parameters = {"Curn": "USD", "SDate" : "2020-10-27", "EDate" : "2020-12-01", "Frq":"D"})

    data

    1686664252042.png

    The RD Library does have row fidelity but it does this by inserting NA artefacts. I hope this can clarify.

Answers

  • Hi @laurens , Please use the Data Item Browser. With this tool, you can find the Date value for any field as shown here: https://developers.refinitiv.com/en/video-catalog/data-item-browser

  • sorry, but this is not an acceptable answer. If you look at the formula's used you might infer that the data browser is already used. So this I obviously already tried...

    Looking at your answer I doubt if you understand the difficulty of the question asked.

  • sorry, but this is not an acceptable answer. If you look at the formula's used you might infer that the data browser is already used. So this I obviously already tried...

    Looking at your answer I doubt if you understand the difficulty of the question asked.

  • hi @jason.ramchandani01 many thanks for your answer, this is what I already was suspecting.


    To clarfiy upon your last sentence:

    (`The RD Library does have row fidelity but it does this by inserting NA 
    artefacts.`)


    is this only for RD or also for RDP, and if possible can you provide me with an example?


  • I checked this query

    import refinitiv.data as rd
    rd.open_session()

    df = rd.get_data(universe="VOD.L",
    fields= ["TR.IssueMarketCap(Scale=6)","TR.IssueMarketCap(Scale=6).calcdate","TR.FreeFloatPct","TR.FreeFloatPct.calcdate","TR.IssueSharesOutstanding(Scale=3).calcdate","TR.CLOSEPRICE(Adjusted=0)","TR.CLOSEPRICE(Adjusted=0).calcdate"],
    parameters = {"Curn": "USD", "SDate" : "2020-10-27", "EDate" : "2020-12-01", "Frq":"D"})

    I notice than that still there is no consistency in the dates:

    1686671570599.png

    Is this a design choice?



  • I just checked RDP and RD behave the same.
  • Apologies @laurens I meant with a get_history call you get row fidelity as below - we did not change the get_data output:

    df = rd.get_history(universe="VOD.L",fields= ["TR.IssueMarketCap(Scale=6)","TR.FreeFloatPct","TR.IssueSharesOutstanding(Scale=3)","TR.CLOSEPRICE(Adjusted=0)"],parameters = {"Curn": "USD", "SDate" : "2020-10-27", "EDate" : "2020-12-01", "Frq":"D"})

    df

    1686672399358.png

    I hope this can help.

  • thx Jason!