分享

尝试调降交易模型的回撤风险(2 合理的目标函数)

 量化猫 2018-01-21

  昨天我们说了建模测试的环境,突出几个关键字:各品种等资金分配(手数固定),全品种建模,无参数优化,引入日频振幅或ATR控制止损等。其实都是为了提升模型的可信程度,让样本容量尽可能大,让幸存者偏差尽可能少。


  今天简单谈谈合理的目标函数。我在大概2年前建模的时候,眼睛里只有净利润,因为当时手工交易实际上频率很高,带来的单笔回撤不大,而且手工交易难成长期贯穿的体系,所以利润是第一追求目标,认为模型一定要达到极高的收益,忽略了回撤。


  后来开始关注收益风险比从这时开始,我们开始考虑每一次交易中,利润从最高点回撤到最低点的过程。我们同时看到,如果单一追求利润,可能导致单笔交易利润贡献不稳定,以及在盘整震荡时期的资金曲线回撤很大。


  当我们观察到现象,就可以采取应对措施了,比如模型本体的平仓条件信号过慢,我们用回落幅度追踪止损加速其平仓信号值发出。再比如,我们调整任何一个模块的时候,都可以观察其是否有能力降低每一次的利润回落速度,我们称之为平均回撤。


  与平均回撤对应的是:调整后收益风险比。这个目标函数相当有趣,在我们看来它才是真正的风险(回撤)表达方式,它不仅考虑最坏的那一次或者那段时间,而是考虑每一段时间,每一次的利润回吐。当我们用各种方法调升调整后收益风险比的同时,最大回撤也得到控制,收益风险比得到提升。


  再后来我们关注了夏普比率,理论上夏普比率越大,就说明获得同样投资收益率的波动性比较小,也意味着投资回报率的可复制性也越高。但是鉴于测试样本的不足,以及夏普比率仅是对每一次平仓后的收益做分析,对于价格回撤这个动作的控制依然不足,所以它作为参考指标之一。


  胜率呢?胜率我们作为不同类型模型的判别标准,比如趋势类胜率在35%左右,震荡类胜率在65%左右,而胜率在同一类模型中,是没有太重要的评比意义的。


  交易次数呢?理论上交易次数不能太多,但是恰巧交易次数是模型和行情发生了一次“关系”,如果发生了很多次“关系”,依然能够保持较好的收益风险比,我们是不是可以更加确信这个模型的稳健呢?显然是这样,所以在较高的手续费率设置下(这个问题昨天忘记说明,我们通常设置万5~万10的费率+开平各1跳滑点),只要资金曲线稳健,交易次数多一些,没有太大问题。


  在等手数开仓的测试环境下,我们还会考虑一个目标函数,资金曲线的R平方值,R-square来描述数据对模型的拟合程度的好坏,在资金曲线测试中,是资金曲线和直线的拟合度指标。R平方值可以表示出你的模型是否基业长青,还是说在某些时段出现了严重衰减。R平方值在同一个类型模型中,差别不大,在模型迭代过程中,可能由于我们多品种的关系,差别也不大。但是在针对单品种测试中,和复杂模型测试中,R平方值有模型鉴别能力。


  健全的测试环境,健康的目标函数,是程序化交易模型逐渐走上正规的起点。


  当然你的水平逐渐提高时,还可以构建复杂目标函数,它是几个传统目标函数的组合关系,或者仅是权重打分。利于迭代模型和一些机器优化。



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多