Time-series Total Return for Index (benchmark) eg .FTLC

Hi, using TR.TotalReturn to get the monthly time series of returns for an index doesn't work e.g. df, e = ek.get_data(['.FTLC'],['TR.TotalReturn.date','TR.TotalReturn'],parameters={'SDate':'0M','EDate':'-59M','Frq':'M','CH':'Fd'}). Can you please confirm what I should be using?

Best Answer

  • Alex Putkov.1
    Alex Putkov.1 ✭✭✭✭✭
    Answer ✓

    Total return for indices is not available through Eikon Data APIs. However you can get it using Datastream Web Service.

    import DatastreamDSWS as dsws
    ds = dsws.Datastream(username='XXXXXXX', password='XXXXXXX')
    df = ds.get_data(tickers='<.FTLC>',
    fields=['RI'], start='-5Y', end='-0M', freq='M')
    df['Total Return'] = df.pct_change()
    df
    If you don't have credentials for Datastream Web Service (Datastream Child ID and password), contact your Refinitiv account team.

Answers

  • @mohammed_sabur, I think you need to clarify what you meant by “total return”
    first. The RIC: “.FTLC” itself is a
    capital return index (CR) as the index do not include the distributions from
    the underlying assets (constituents).
    There is a total return (TR) version of the same index and its RIC is “.TRINMX”. You can check the return from the TR version
    is always higher than or equal to the CR version because the distributions of
    the underlying assets are reinvested in the TR version.

    Since index itself never pays dividends, there is only one “return”
    you can derive from the index value itself.
    The return of an index is simply:

    (Current index value / Previous
    index value) – 1

    You should able to calculate that from the index
    time-series directly. Typically the
    historical value of an index can be obtained by TR.CLOSEPRICE field. You should set the “Adjusted” flag to 1 so
    the historical data is adjusted in case there is a split or merge event (re-base
    of the index), but that is very rare for indices.

  • Thanks. Both answers help.