Time Series Historical Data

Hi, i am trying to get the historical time series data of the book value per share of a specific company and the earnings per share

using the get_timeseries and the data item browser for book value per share i get NA

using the get_data function i get a series but there is no date time.


how should i do this?

Best Answer

  • raksina.samasiri
    Answer ✓

    Hi @ken03 ,

    You can add 'Frq' into parameters as below (W = Weekly, M = Monthly)

    weekly

    df, err = ek.get_data(
    instruments = ['AAPL.O'],
    fields = [
    'TR.PriceClose.date',
    'TR.BVPSActValue',
    'TR.EPSActValue',
    'TR.PriceToBVPerShare',
    'TR.PriceClose'
    ],
    parameters = {'SDate': '2020-01-01', 'EDate': '2023-01-01', 'Frq': 'W'}
    )

    display(df)

    1680142809393.png

    monthly

    df, err = ek.get_data(
    instruments = ['AAPL.O'],
    fields = [
    'TR.PriceClose.date',
    'TR.BVPSActValue',
    'TR.EPSActValue',
    'TR.PriceToBVPerShare',
    'TR.PriceClose'
    ],
    parameters = {'SDate': '2020-01-01', 'EDate': '2023-01-01', 'Frq': 'M'}
    )

    display(df)

    1680142725483.png


Answers

  • Hi @ken03,


    Thank you for you question. Could you please provide the scripts you were trying and also specify the parameters of the request? In the meantime, the code below retrieves Book value per share and the actual EPS value for AAPL for the previous 5 fiscal quarters.

    df, err = ek.get_data(
    instruments = ['AAPL.O'],
    fields = [
    'TR.F.BookValuePerShr(SDate=0,EDate=-5,Period=FY0,Frq=FQ)',
    'TR.EPSActValue(SDate=0,EDate=-5,Period=FY0,Frq=FQ)',
    ]
    )

    display(df)


    image

    You may change the fields and the parameters of the requests. For fields I would suggest looking at the Data Item Browser (DIB) in Eikon/Workspace and for the parameter values you can look into Codecreator app again in Eikon/Workspace to build your code.

    Hope this is helpful, please let me know should you have any further questions or needed something different.

    Best regards,

    Haykaz

  • Hi h.aramyan01

    1. i am also trying to get the daily close prices

    2. i would need the dates as a column also as i intend to plot a time series.

    3. i am trying to calculate the daily close price against the book value per share to calculate the PB

    4. i am trying to get the same result as that in Refinitiv's Datastream Chart Studies

  • Hi @ken03 ,


    Please have a look at the code below, hopefully that addresses your request.

    df, err = ek.get_data(
    instruments = ['AAPL.O'],
    fields = [
    'TR.PriceClose.date',
    'TR.BVPSActValue',
    'TR.EPSActValue',
    'TR.PriceToBVPerShare',
    'TR.PriceClose'
    ],
    parameters = {'SDate': '2020-01-01', 'EDate': '2023-01-01'}
    )

    display(df)

    screenshot-2023-03-28-at-102718.png

    Please note that I have included PriceToBVPerShare so no need to calculate that yourself. As mentioned in my previous comments, for any additional fields please refer to DIB under Eikon/Workspace.


    Best regards,

    Haykaz

  • Hi both how do i change this from daily data to weekly or monthly data

  • h.aramyan01 how do i set the end date as today's date, is there some sort of Today() function like in excel?

  • Hi @ken03 ,


    There are multiple ways getting today's date in Python. One such an example would be:

    from datetime import datetime
    datetime.today().strftime('%Y-%m-%d')


    Hope this helps.


    Best regards,

    Haykaz

  • @aramyan.h -- i notice that the dates ends with T00:00:00Z which makes it difficult to concat with data pulled from your get history. how do you solve this?