How to filter through for ETFs using the Morningstar Rating in Refinitiv (using rd.get_history)

Hello LSEG Community,

I am currently collecting data on many ESG ETFs through Refinitiv workspace using rd.get_history in Python. However, I would like to know if their is a function I can use to filter ETFs that I have downloaded from Refinitiv Workspace based on their specific Morningstar Ratings. This is so I can only use ETFs that have a 5 or 4 star Morningstar Rating. This is the function I am using now:

etfs = 
["QQQ.O",
"ACWI.O",
"TLT.O",
...]
df = rd.get_history(
universe=[etf],
fields=["TR.PriceClose(Curn=USD)"],
start="1980-12-31",
end="2023-12-31")


If this is not possible, is their another way I could filter these ETFs based on the Morningstar Rating using Python?

Regards,

Xavier

Best Answer

  • aramyan.h
    Answer ✓

    Hi @xavier.bishop ,


    I am not sure, if we have Morning Star rating data, nevertheless I would I suggest you reach out to the "Get Help & Support" (F1) within the desktop or via my.refinitiv.com and they can bring in a content specialist to provide you with the respective fields if any. Then you can incorporate that into your code and/or let us know if any issues with retrieving that data using the API and we can help.


    Best regards,

    Haykaz

Answers

  • Thank you for your reply Haykaz. I have sent a inquiry in Help & Support on
    my.refinitiv.com. I am still new to Refinitiv and Python so your feedback is very appreciated.
  • Hi @xavier.bishop, I do not think LSEG got Morningstar ratings for funds. LSSEG's funds contents are sourced from Lipper. For ETFs there are also data from exchanges, but these are mostly stock level data. Lipper got "Lipper Leaders ratings" for fund, but the methodology is different from Morningstar. The primary rating is "Consistent Return" which is a measurement/ranking based on risk adjusted return for funds relative to the same peer group (classification of funds) also in 5 levels. If you want to use Lipper Leaders ratings, you screen for the ETFs with specific rating using FSCREEN app on Workspace/Eikon. Then use the list of funds (say in Lipper ID) to get the other fund details using the rd.get API. Actually you can do everything interactively in FSCREEN, but if you want automations, then you still need rd.get API part (except the screening part). In case your goal is automate everything, including future screening for the funds, then I can only think of the "RDP Funds API" for that.