最大回撤
无论对机构投资者还是个人投资者,回撤都是不可避免的波动性风险。在历史测试中,一般用最大回撤率来衡量可能出现的最坏情况。
计算步骤:设净值曲线为向量A,取向量中任意两点Ai,Aj,其中i < j,则最大回撤(Max Drawdown)= max(Ai−Aj) / Ai
回撤控制原理
基本原理就是无穷等比数列,正如《庄子天下篇》中所说,“一尺之捶,日取其半,万世不竭。”当然实际操作中我们要取的比例要小很多,大约在0.2左右。
下面是公式和举例:
Vr= ( V - (1 - R) Vm) / R
Vb= min(V, Vr / (1-B) )
较正后净值 = (1.2 - (1-0.25) 1.3) / 0.25 = 0.9br />
也就是说,在当前时点,不在以1.2为净值计算交易数量,而以0.9计算,使得开仓比例相应降低。
如果觉得这种方式调整过于频繁,稍微有点回撤就要降低头寸,那么可以在微亏时设置一个缓冲区,使微亏时开仓比例不变,小亏时也变化不大,在上例中可使用1.125净值所对应的资金开仓。
实测
那么该控制最大回撤的效果如何呢?
我用iwencai接口简单写了个策略对比有无控制最大回撤下的收益走势
策略简介
1)每股股东自由现金流量>0.5元;
2)(向一般法人配售数量/boll)从大到小排名;
3)预测净利润增长率>50%或中线超跌;
4)总市值从小到大;
5)排除停牌和st。
6)五日调仓
原版:
最大回撤控制
可以看到原版策略收益本身不错,但是最大回撤太大了,是我们承受不了的。加了最大回撤控制后收益略微减少,但是最大回撤明显下降!
当然这个回撤也不是那么理想,可能跟策略本身有关。
改进思路:
1.使用模拟净值曲线控制最大回撤,我的优化版算的是优化后的净值曲线,是否用原版的净值取消作为参考可以更好?即在每个交易日计算原版策略应该有的净值。
2.缓冲区的优化