I have a quick question about how to calculate returns of equity indices over a certain period of time. For individual stocks, we have TR.TotalReturn and if I want to get returns from 2019-12-31 to 2020-01-10, the function below provides me with what I want:
df_stock_returns = ek.get_data(['3436.T', '8035.T', '7735.T'],
fields=['TR.TotalReturn', 'TR.TotalReturn.date'],
parameters={'SDate':'2019-12-31', 'EDate':'2020-01-10'})[0]
So, I don't have any problem with individual stocks. However, when it comes to equity indices, TR.TotaReturn is not compatible with indices such as .TOPX.
df_index_returns = ek.get_data('.TOPX', fields=['TR.TotalReturn'],
parameters={'SDate':'2019-12-31', 'EDate':'2020-01-10'})[0]
This returns NaN.
If I want to calculate individual stocks' relative returns vs. TOPIX, how can I do that? One idea is to use 1475.T, which is TOPIX ETF, as an individual stock, but an ETF is not exactly the same as an index. So, could someone let me know how I can sort it out? I also tried
df_index_returns = ek.get_data('.TOPX', fields=['PCTCHNG'],
parameters={'SDate':'2019-12-31', 'EDate':'2020-01-10'})[0]
but it only gives me the latest one day return, ignoring SDate and EDate parameters.