给定一个如下所示的数据帧:
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)
但是,我希望尽可能有效地做到这一点。我知道如何分组;但是,我怎样才能在某个时间范围内累积回报,并同时将其转回呢?这在熊猫身上可能吗
目前没有回答
相关问题 更多 >
编程相关推荐