我有一个数据框架,它包含了许多公司在IPO之后不同日期的日收益率,day_diff代表了IPO之后的天数,return_1代表了该公司在特定日期的日收益率。每个公司都有自己的company_tic,我有大约300家公司,我的目标是计算下面等式右边的第一个分量(因此具有每个day_diff和company_tic的结果,总是从第0天开始,直到数据的最后一天;例如,=从第0天到第1天,然后从第0天到第2天,从第0天到第3天,以此类推,直到我的最后一天,即第730天)。我尝试过df.groupby(['company_tic','day_diff'])['return_1'].expanding().prod(),但它不起作用。有其他替代方法吗?
Index day_diff company_tic return_1
0 0 xyz 1.8914
1 1 xyz 1.0542
2 2 xyz 1.0016
3 0 abc 1.4398
4 1 abc 1.1023
5 2 abc 1.0233
... ... ... ...
159236 x 3
1条答案
按热度按时间oalqel3c1#
不确定是否能完全得到你想要的,但你可能想用
cumprod
而不是expanding().prod()
。我试过了:
输出量: