我有数据框final
和我的投资组合的回报。我试图用返回值来计算MaxDrawdown。我尝试了下面的代码,并看到了许多stackexchange问题。但无法解决这个问题。有没有任何方法可以用投资组合的收益来计算最大的提取。在
Returns
1/2/2009 0.030483579
1/5/2009 0.002872092
1/6/2009 0.01461333
1/7/2009 -0.032431836
1/8/2009 0.0055774
1/9/2009 -0.019844336
1/12/2009 -0.019705618
1/13/2009 0.001093185
1/14/2009 -0.032726765
1/15/2009 0.013635182
1/16/2009 0.009807648
1/20/2009 -0.044440252
1/21/2009 0.035156229
1/22/2009 -0.01460641
1/23/2009 0.007399468
1/26/2009 0.007910521
1/27/2009 0.007848472
1/28/2009 0.028944903
1/29/2009 -0.023816962
1/30/2009 -0.02550717
2/2/2009 -0.000292223
2/3/2009 0.020191091
2/4/2009 -7.93651E-06
2/5/2009 0.020070065
2/6/2009 0.026235957
2/9/2009 -0.001606124
2/10/2009 -0.03629415
2/11/2009 0.00248416
2/12/2009 0.001925152
2/13/2009 -0.00441840
代码:
^{pr2}$有谁能帮我解决这个问题吗。谢谢!在
IIUC在
cumprod
加上diff
和min之后是最大下降量基于MDD definition
^{pr2}$您可以使用
pandas.expanding()
(doc),然后将max
应用到窗口,得到一个到目前为止最大缩进的数据帧。在pandas.expanding
将以pandas.rolling的方式应用函数,但使用一个从数据帧开始并扩展到当前行的窗口(有关窗口函数here和pandas.expanding的更多信息):将提取和最大提取(MDD)放在一个数据帧中,以便比较结果:
^{pr2}$相关问题 更多 >
编程相关推荐