I am running the following code:
def getPrices(RIC): try: return ek.get_timeseries([RIC], interval='quarterly', start_date='1900-12-31')[["CLOSE"]].rename(lambda x: RIC, axis=1) except: # ek.EikonError return None exp = "SCREEN(U(IN(Equity(active,public,primary))/*UNV:Public*/), IN(TR.ExchangeCountryCode,""CA""), CURN=CAD)" equities = ek.get_data(exp,["TR.Instrument", "TR.SharesOutstanding"]) prices = [getPrices(ins) for ins in equities.Instrument]
There are a few problems right now.
1. I'm getting a large number of "No data available for the requested date range" (e.g. for RIC VIBE.CD) After adjusting the date range, the same RICs still return the same error message.
2. This is taking a very long time, probably because I am getting time series for each of the 3000+RIC's retrieved from the screen. Is there a more efficient way to achieve the same goal?
1. VIBE.CD started trading on the 3rd of April 2019, hence you see no quarterly data.
2. You can request the first trading date (TR.FirstTradeDate) for each equity, map it to a specific quarter and then request the time series.