fundamental quarterly data for stocks

Hello, for this specific company MMM.N, does every iteration of yr give me quarterly or annual data?

I need to retrieve 20 years of quarterly data of these data fields, so need to specify the range yr covers.

I am a newbie here and would appreciate any help or suggestions. Thanks!

for yr in [0,-1,-2]:
_df, err = ek.get_data("MMM.N",
['TR.EPSACTVALUE(Period=FY%s)'%yr,
'TR.EPSMeanEstimate(Period=FY%s)'%yr,
'TR.Ebit(Period=FY%s)'%yr,
'TR.CompanyMarketCap(SDate=%s)'%yr,
'TR.NetDebt(Period=FY%s)'%yr,
'TR.TotalLongTermDebt(Period=FY%s)'%yr,
'TR.CommShareholdersEqty(Period=FY%s)'%yr,
'TR.NumberofSharesOutstandingMean(Period=FY%s)'%yr], {'Curn':'USD'})

Best Answer

  • @mtinatin, great question! I think you can request all the data with in one go, something like this:

    fields = ['TR.EPSACTVALUE', 'TR.EPSMeanEstimate', 'TR.Ebit', 'TR.CompanyMarketCap', 'TR.NetDebt', 'TR.TotalLongTermDebt', 'TR.CommShareholdersEqty', 'TR.NumberofSharesOutstandingMean']

    df, e = ek.get_data(['MMM.N'], fields, {'Period':'FQ0', 'SDate':0, 'EDate':-79, 'Frq':'FQ', 'Curn':'USD'})

    Notice the use of the Period and Frq parameter keywords. Basically, it tells me to give me the current fiscal quarter (Period: FQ0) for each of the last 80 fiscal quarters (Frq:FQ).

    To double-check if the output is what you asked for, you can display selected attributes of the fields, such as `.date` or '.fperiod', like so:

    df, e = ek.get_data(['MMM.N'], ['TR.NetDebt.date', 'TR.NetDebt.fperiod', 'TR.NetDebt.value'], {'Period':'FQ0','SDate':0, 'EDate':-79, 'Frq':'FQ', 'Curn':'USD'})

    image

    To discover which attributes and parameters are available for the specific field, open the Data Item Browser, search for the field and open parameters in the sidebar:

    image