Getting Mutual fund time series data

Hello,

for my thesis I have to obtain times series return data for several mutual funds (at least monthly, but daily would be better) from 2000-today. However, the data is not available in Eikon (for example when I try it with the build formula tool in excel). Is it even possible to get return data for mutual funds in Eikon? Do I need access to Lipper for Investment Management? If yes, is it a separate product from Eikon (I guess then my university doesn't have it). Unfortunately there is not anyone from my uni that can help.

I would be happy if you share your ideas how I can get access to the data I need (time series data for mutual fund returns)

Thank you!

Best Answer

  • bob.lee
    Answer ✓

    Hi, @annemarie.otto and @aramyan.h ,

    Firstly, I have some comments on the answer @aramyan.h provided. It is the historical NAV (price) of the fund, not the return. You can derive the return from NAV, but that is just the price return not total return. I guess @annemarie.otto wanted total return of the funds that includes distribution reinvestment and also events like fund unit merge and split. But if price return is fine for the purpose, then yes, that @aramyan.h 's solution is a good one.@annemarie.otto can you check with if your organisation have access to RDP Funds API? Like Lipper for Investment Management, it also can provide historical returns (daily).


    If there is only a short list of funds you need the historical return time-series data, then you may want to try manually to get it fund by fund from the Eikon/Workspace platform. i.e., get the fund page and then go to "Price & Charts" --> "Rolling Performance". Once the chart show the correct data based on your chart configuration, you can just click the "Excel" icon at top right of the page to export to Excel file.

Answers

  • Hi @annemarie.otto,


    If I understood your question correctly, you can consider using get_history function from RD Libraries for Python. See an example below:

    import refinitiv.data as rd

    rd.open_session()
    rd.get_history("LP40187458", fields = ["NAVALUE"], start = '2020-01-01', end = '2024-03-15')

    screenshot-2024-03-15-at-181641.png

    You can search for other fields in Data Item Broswer by typing DIB in the search box of Workspace/Eikon.


    Hope this helps.


    Best regards,

    Haykaz

  • Hi @bob.lee ,

    thank you for your reply! In fact, I guess I don't have access to RDP Funds API.

    To conclude I have two options:

    1. Calculating the return with the NAVs -> But it's no real return since capital gains and dividends are not included, right? So I guess it's not such a good measure for my purpose.

    2. Taking the Rolling Performance. But is it really the "normal" monthly total return? I worry that it's some return measured from the beginning of each year or so? I really need the "normal" total return since I want to insert it in some regression equations (for example CAPM, 4-factor model, ...).

    Concerning the Rolling Performance:

    I tried to obtain it a)via your suggested way ("Price & Charts" -> "Rolling Performance" -> Export to Excel) and b)via Python. However, there were different results even though it was for the same fund. Do you maybe know what's the problem?

    1710702861962.png

    1710702910613.png

  • Hello @annemarie.otto ,

    1. I agree with you that price only return is not ideal for your research task. In theory, you can also get the dividend (not sure about capital gain) data and derive your “total return”, assuming no other events like unit merge or split happened to your funds. But this is a much time-consuming task.
    2. The monthly return should be the standard return (in %) for month-end to month-end period. E.g., the return with value 5.969459 as of 2024-02-29 should be the return for the period from 2024-01-31 to 2024-02-29. I checked that using Lipper for Investment Management (Lipper IM), the value matches. 1710722509743.png

    I am not sure how you get the other values (via Python?). If so, you can you share the Python code?

  • Hello again @annemarie.otto,

    I tried to guess where is your "wrong" values (from the 2nd screenshot you show) came from. It seems these are returns of the same fund but in EUR. So, the differences is due to the different currency. The sample fund you are using is denominated in USD.

  • Ahh thank you! In fact, I was thinking the same yesterday but the values are so different that I thought it wasn't because of the currency. But I checked again and you are right!
  • You mean the values from my other Screenshot? It was like this: 1710759554909.png

  • @annemarie.otto , So, as your Python code shows, you already have the solution, i.e., getting the rolling performance (total return) of funds using Python from Eikon/Workspace. Thanks for showing that code as I learned something new as I was not aware the "TR.FundRollingPerformance" function exists.