熊猫-按标识符和日期分组,并计算跨不同时期的累计收益

时间:2019-06-19 23:52:05

标签: python pandas pandas-groupby

给出一个看起来像这样的DataFrame:

           ticker         date       return
0            AAPL   2012-12-31     0.032615
1            AAPL   2013-01-02     0.036938
2            AAPL   2013-01-03     0.023232
3            AAPL   2013-01-04     0.014632
5            AMZN   2013-01-07    -0.007089
6            AMZN   2013-01-08     0.003060
7            AMZN   2013-01-09    -0.015760
8            AMZN   2013-01-10    -0.019112
9            GOOG   2012-12-31     0.032615
10           GOOG   2013-01-02     0.036938
11           GOOG   2013-01-03     0.023232
12           GOOG   2013-01-04     0.014632
13           GOOG   2013-01-07    -0.017902
13           GOOG   2013-01-08    -0.007089
14           GOOG   2013-01-09     0.003060
15           GOOG   2013-01-10    -0.015760

我的目标是,对于每一行,我都能有另一列告诉我,报价器在提前5天,21天,63天和252天期间的累计收益是多少。例如,我可以通过以下操作计算出2012年12月31日GOOG的提前5天的累计收益:

((1 + df.iloc[9:13]['return']).cumprod()-1).iloc[-1].shift(-5)

但是,我想尽可能有效地做到这一点。我知道如何对代码和日期进行分组,但是我又如何在一定范围内累计收益并同时将其转移回去?在大熊猫中甚至有可能吗?

0 个答案:

没有答案