Date in dataframe of fundamental data

Hi

I download historical fundamental data for number of companies

How can I get it with date of financial statement?

Like "RH=date" in excel.

Tried to get date with one of parameters like,

parameters = [

"TR.F.TotAssets.date",

"TR.F.TotAssets",

"TR.F.ComEqTot",

"TR.F.TotRevenue",

"TR.F.GrossProfIndPropTot",

"TR.F.EBIT",

"TR.F.EBITDA",

"TR.F.NetIncAfterTax",

"TR.F.IncBefDiscOpsExordItems",

"TR.F.NetCashFlowOp",

"TR.F.NetCashFlowInvst",

"TR.F.LeveredFOCF",

"TR.F.IntrExpn",

"TR.F.ReturnCapEmployedPctTTM",

"TR.F.ReturnAvgTotAssetsPctTTM",

"TR.F.ReturnAvgComEqPctTTM",

]

parameters_properties = {

"SDate": 0,

"EDate": -40,

"Period": "LTM",

"FRQ": "FI",

"Curn": "USD",

"Scale": 0,

}

df, err = ek.get_data(ticker, parameters, parameters_properties)

But if for some reason there no data for some parameter for some period, I get data frame with no relation between columns

For example COOP.O has null values for assets, so i get dataframe that starts with 30/09/2020 data for assets and 31/03/2021 data for rest of the fields in same row.


Thanks




Best Answer

  • @elie Just to come back to you about the case I opened on your behalf - it was indeed an error and our content specialists have fixed the issue and the data will reflect in the product within 6 hours. I hope this resolves things. So I think you can remove the dates column for each field and just use the first one eg field1.date, field1, field2 ... fieldn as you are using the same TR.F source. You have the code already. I hope this can help.

Answers

  • @elie Try replacing/adding 'TR.F.TotAssets.date' with 'TR.F.TotAssets.fperiod'. I hope this can help.

  • No it doesn't, just replaces date 30/09/2020 with date that looks like FY2020Q3

    Still no connection between data, in same row i get data for 30/09/2020 and for 31/03/2021

  • @elie ah ok so you are asking about date fidelity across rows. So with Eikon Data API this is not guaranteed - especially across different datasets. In your case I believe all data are from the TR.F fundamentals source - so these should be consistent. The only reason I can think of why this might not be the case is in the case of interim or quarterly reporting where some balance sheet items are not required to be reported. I think there is a problem with this company - I tried this call adding date outputs for each field to see if we have date fidelity across the row. In the case of INTC.O and some others and it was totally fine - only for COOP.O did the total assets field show a different date to the rest of the fields.

    parameters = ["TR.F.TotAssets.date","TR.F.TotAssets","TR.F.ComEqTot.date","TR.F.ComEqTot","TR.F.TotRevenue.date","TR.F.TotRevenue","TR.F.GrossProfIndPropTot.date","TR.F.GrossProfIndPropTot","TR.F.EBIT.date","TR.F.EBIT","TR.F.EBITDA.date","TR.F.EBITDA","TR.F.NetIncAfterTax.date","TR.F.NetIncAfterTax","TR.F.IncBefDiscOpsExordItems.date","TR.F.IncBefDiscOpsExordItems","TR.F.NetCashFlowOp.date","TR.F.NetCashFlowOp","TR.F.NetCashFlowInvst.date","TR.F.NetCashFlowInvst","TR.F.LeveredFOCF.date","TR.F.LeveredFOCF","TR.F.IntrExpn.date","TR.F.IntrExpn","TR.F.ReturnCapEmployedPctTTM.date","TR.F.ReturnCapEmployedPctTTM","TR.F.ReturnAvgTotAssetsPctTTM.date","TR.F.ReturnAvgTotAssetsPctTTM","TR.F.ReturnAvgComEqPctTTM.date","TR.F.ReturnAvgComEqPctTTM"]

    parameters_properties = {"SDate": '0',"EDate": '-40',"Period": "LTM","Frq": "FI","Curn": "USD","Scale": '0'}

    df, err = ek.get_data('INTC.O', parameters, parameters_properties)
    df

    1627428084331.png

    So with this and other companies we do have date fidelity. You can also toggle the output to different types of date, calcdate, period etc you can see these all in the Data Item Browser tool (type DIB into Eikon search bar). Unfortunately you seem to have found an error with COOP.O. I have opened a case (10124973) on your behalf to investigate this as it does indeed appear incorrect. They should contact you directly. I hope this can help.

  • @jason.ramchandani thank you for you answer

    in excel i do get fidelity across rows, please see attached

    so maybe there some parameter that should be added to :

    parameters_properties = {"SDate": 0,"EDate": -40,"Period": "LTM","FRQ": "FI","Curn": "USD","Scale": 0,}

    1627452552644.png


  • @elie There is most certainly an issue with this company's records - specifically some being duplicated for the same date - it is this that is the cause of the date misalignment. Please see the code below- note i am requesting period: FQ0 and freq: FQ (which makes more sense to me than requesting period: LTM for freq: FI) - no matter the issue still remains:

    parameters = ["TR.F.TotAssets.date","TR.F.TotAssets","TR.F.ComEqTot.date","TR.F.ComEqTot","TR.F.TotRevenue.date","TR.F.TotRevenue","TR.F.GrossProfIndPropTot.date","TR.F.GrossProfIndPropTot""TR.F.EBIT.date","TR.F.EBIT","TR.F.EBITDA.date","TR.F.EBITDA","TR.F.NetIncAfterTax.date","TR.F.NetIncAfterTax","TR.F.IncBefDiscOpsExordItems.date","TR.F.IncBefDiscOpsExordItems","TR.F.NetCashFlowOp.date","TR.F.NetCashFlowOp","TR.F.NetCashFlowInvst.date","TR.F.NetCashFlowInvst","TR.F.LeveredFOCF.date","TR.F.LeveredFOCF","TR.F.IntrExpn.date","TR.F.IntrExpn","TR.F.ReturnCapEmployedPctTTM.date","TR.F.ReturnCapEmployedPctTTM","TR.F.ReturnAvgTotAssetsPctTTM.date","TR.F.ReturnAvgTotAssetsPctTTM","TR.F.ReturnAvgComEqPctTTM.date","TR.F.ReturnAvgComEqPctTTM"]

    parameters_properties = {"SDate": '0',"EDate": '-40',"Period": "FQ0","Frq": "FQ","Curn": "USD","Scale": '0'}

    df, err = ek.get_data('COOP.O', parameters, parameters_properties)
    df

    1627463427455.png

    You can see in row 1 and row 2 the record is being repeated for Total Assets - there are repeated records in this field which need investigation and removal. The content team are working on this issue now with the case number I provided earlier. I hope this can help.

  • @jason.ramchandani This company is only example of lack of fidelity between rows

    Can i get with python data like i get it in excel? (example and screenshot in previous message)

  • Dear @jason.ramchandani please see list of tickers

    err_list=['CAGR.PA', 'ADMA.O', 'ALGN.O', 'AMP',

    'ATHX.O', 'AVXL.O', 'AZO', 'BCC', 'BRT',

    'CHK.O', 'CNMD.K', 'COOP.O', 'CTBK.NS',

    'CW', 'CYCC.O', 'CZNC.O', 'DLB', 'DRQ',

    'ENSG.O', 'ESCA.O', 'FLL.O', 'FLO', 'FORD.O',

    'FOSL.O', 'GNW', 'HAE', 'HELE.O', 'HRB', 'IMGN.O',

    'ISBC.O', 'ISNS.O', 'ITEL.NS', 'LGL', 'LIN', 'LOAN.O',

    'LUB', 'M', 'MICR.PK', 'NLS', 'NOVT.O', 'NUS', 'NWN',

    'PGTI.K', 'QRTEA.O', 'RCII.O', 'RCMT.O', 'SAIL.NS',

    'SIX', 'SLCA.K', 'SPB', 'TAST.O', 'TILE.O', 'TPB', 'UNB.O', 'UTHR.O', 'WGO']

    those tickers has null value in date column for recent quarter. ("SDate": 0, "EDate": 0)

    If I download data in excel I do not have this problem.

    Please help to solve this issue