numpy 公司收益随时间增加的倍数(BHARs)

xqk2d5yq  于 2022-11-23  发布在  其他
关注(0)|答案(1)|浏览(137)

我有一个数据框架,它包含了许多公司在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

oalqel3c

oalqel3c1#

不确定是否能完全得到你想要的,但你可能想用cumprod而不是expanding().prod()
我试过了:

df['return_1_prod'] = df.groupby('company_tic')['return_1'].cumprod()

输出量:

day_diff company_tic  return_1  return_1_prod
0         0         xyz    1.8914       1.891400
1         1         xyz    1.0542       1.993914
2         2         xyz    1.0016       1.997104
3         0         abc    1.4398       1.439800
4         1         abc    1.1023       1.587092
5         2         abc    1.0233       1.624071

相关问题