绘制Pandas DataFrame的累积回报

时间:2016-10-23 15:04:55

标签: python pandas plot

我有一个pandas时间序列数据帧:

                  q1        q2        q3        q4        q5
2001-09-30  0.211770  0.085683  0.050699  0.037150  0.042206
2001-10-31  0.203492  0.107347  0.075474  0.063460  0.052081
2001-11-30  0.089562  0.064950  0.055432  0.058544  0.052215
2001-12-31 -0.078566 -0.017314 -0.015337  0.003871  0.013463
2002-01-31 -0.151178 -0.024362 -0.012938 -0.005622 -0.010209

计算每个桶的累积回报然后绘制折线图的最优雅方式是什么?

例如,' q1'的累计回报率在2001-11-30计算如下:

(1+0.211770) x (1+0.203492) x (1+0.089562) - 1 = 0.588969

最后的折线图应该是这样的(我不太关心图表的美​​学,例如字体,日期格式,图例位置等):

enter image description here

1 个答案:

答案 0 :(得分:3)

添加1,然后使用cumprod(),减去1,然后减去plot()

((df + 1).cumprod() - 1).plot()