我有一个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
最后的折线图应该是这样的(我不太关心图表的美学,例如字体,日期格式,图例位置等):
答案 0 :(得分:3)
添加1,然后使用cumprod()
,减去1,然后减去plot()
。
((df + 1).cumprod() - 1).plot()