I'm trying to make a stock universe with historical price data for each constituent of the Euro Stoxx 50 equity index.
However, as I am a new user, I can't seem to figure out the process.
This is what I have so far.
I thus end up with 50 small dataframes, one for each constituent in the Euro Stoxx 50. I would like to merge all these into 1 dataframe, which I could use as a stock universe.
Would be great if anyone could help!
From the "LDJES50I|L" request, you can get the list of items. Then, change the list of items to a comma-separated string which can be used in the second request.
The code looks like:
df = ds.get_data(tickers="LDJES50I|L", fields=["MNEM"], kind=0) tickerList = df["Value"].tolist() tickerString = ",".join(tickerList) df1 = ds.get_data (tickers=tickerString, fields=['P']) df1
The output is:
From the syntax that you are using, I would say that you are not using the Eikon Data API. But a Datastream library, what I suppose do not support the functionality you are looking for. You need to make the adjustment of your python code to handle the edition of the dataframes.
You want an Eikon version it would be:
value='0#.STOXX50E' lista, err = ek.get_data(value,'RData') lista=list(lista.Instrument[~lista.Instrument.isnull()].values) df = ek.get_timeseries(lista,'CLOSE', start_date="2019-08-01", end_date="2019-09-11",interval="daily",normalize=True) df.head() Date Security Field Value 0 2019-08-01 DPWGn.DE CLOSE 29.400 1 2019-08-02 DPWGn.DE CLOSE 28.350 2 2019-08-05 DPWGn.DE CLOSE 27.880 3 2019-08-06 DPWGn.DE CLOSE 28.510 4 2019-08-07 DPWGn.DE CLOSE 28.685