Retrieving pricing data using Python eikon.time_series for mutual funds and ETFs

I have a variety of mutual funds and elf that I would like to retrieve pricing data for. I use TR Eikon API Proxy - Data Item Browser to search for TR Codes. It turns out that in some cases I can easily find a RIC code for the mutual fund (1) whereas in other cases I can find a RIC code but no pricing data using 'get_timeseries'. (2)

Example 1 - The mutual Fund 'BNP Paribas OBAM' has ISIN NL0006294035. If I type this into the Data Item Browser I get "OBAMb.AS", and henceforth I am able to insert this into a Python ek.get_timeseries statement and retrieve prices. Works fine.

Example 2 - The mutual Fund 'Fidelity Funds - European Dynamic Growth Fund Y-DIST-EUR' has ISIN LU0936577138. If I type this ISIN into the Data Item Browser it shows the name of the fund correctly and I have a choice out of two. The first RIC LP86229468 shows no data in the Data Item Browser. The second RIC A1W4TZX.DX only shows a value for 'Last' or 'CF_LAST' (of 17.15) in the Data Item Browser (and no values for 'OPEN', 'CLOSE', 'HIGH', 'LOW', 'VOLUME'). When I insert this RIC into a Python ek.get_timeseries statement to retrieve pricing data, I merely get 'nan'.

df_tr = ek.get_timeseries(symbols[y], fields=['OPEN', 'CLOSE', 'HIGH', 'LOW', 'VOLUME', 'LAST'],start_date=startdate, end_date=enddate)

When symbols[y] = 'A1W4TZX.DX' the above statement yields 6 x nan.

Question: How do I find RIC codes for mutual funds that give me correct pricing data when using the Python ek.get_timeseries statement?

Best Answer

  • Hi @vanderkroon

    You can retrieve the timeseries for funds with the syntax using Net Asset Value that is associated with the funds pricing. That can be retrieved directly from an ISIN.

    ek.get_data(['NL0006294035','LU0936577138'], 'TR.NETASSETVAL', 
    {'SDate':'-1M', 'EDate':'0D'})

    If you want to find RIC you can use the field for the Lipper RIC codes which should contain the NAV timeseries.

    ek.get_data(['NL0006294035','LU0936577138'], 'TR.LipperRICCode')

    If you have more questions about the data availability, please open a ticket with your local Refinitiv helpdesk team.

Answers

  • Very helpful. However, how do I retrieve the date that goes with the NAV value?

  • Hi @vanderkroon

    You can do it with the same field together with suffix ".date"

    ek.get_data('NL0006294035',['TR.NETASSETVAL.date','TR.NETASSETVAL'] ,
    {'SDate':'-1M', 'EDate':'0D'})