上一篇文章写得匆忙,经过读者的反馈,觉得还是有许多方面没有说全面,这篇文章补充说明一下。
之前文章主要讲了,一个年化收益高达570倍的量化策略虽然没有未来函数,但却是由于开启了【强制撮合】功能导致的,详细回顾可见上一篇文章《年化收益577倍的量化策略,没有未来函数,却有这个致命Bug》
这样对打板策略进行回测肯定是不合理的,因为在这样设置的情况下,大量的一字板涨停股票都可以丝滑买入,策略的收益就是来自这之后连续涨停的收益。
有经验的投资者自然清楚,在实盘当中,开盘就涨停的股票不是完全没有机会吃进,但能吃进的基本上都是涨停后封涨停不稳的,后续上涨就乏力了,而那些死死一字板封死涨停的股票,能吃进的概率是极小滴。
简单来说,实盘中这个打板策略能买进的股票后面上涨乏力,能连续涨停的股票绝大概率买不进。于是乎,咱把【强制撮合】功能关闭后,这个打板策略就出现亏损了,回测绩效如下。
看到了吧,策略源码就差了这么一行,回测绩效真是云泥之别,之前可以丝滑买入涨停股的策略,现在回测时都会被系统提示【 WARNING - 已经涨停,市价买单取消】,年化收益就从原来的狂赚570倍变成现在亏损57%。
这个回测中能成交、但实盘中不能成交的情况,让我想到了除了未来函数之外,量化回测当中的另外一个大坑,那就是【偷价】。顾名思义,那就是以不合理的价格交易,从不合理的价差当中偷取利润。
【强制撮合】是由于流动性问题导致实盘无法成交,而【偷价】则是由于不合理的交易价格导致实盘无法成交。
打个比方,双均线策略,前一个Bar出现金叉,则以当前Bar最低价买入,前一个Bar出现死叉,则以当前Bar最高价卖出。
明眼人都可以看出,正经的双均线策略,应该是上一个Bar出现金叉或死叉后,以当前Bar开盘价外加滑点成交,而开盘价与最高/低价之间的价差,就是回测当中动了手脚偷取的利润,而且实盘当中也做不到用这种价格交易。
有偷价的双均线策略回测绩效:
没有偷价的双均线策略回测绩效:
以上这个极端偷价例子说明可能带有一点未来函数的意思,只是为了说明偷价当中交易价格的不合理性,特别是有些"妖策略"用突破轨道出交易信号,然后以轨道价格成交的,这种也存在偷价行为。
对了,最后提一嘴,很多量化平台都有很多“新颖设置”,让你可以突破传统交易规则的束缚,想怎么交易就怎么交易,比如说股票可以T+0交易,当天买入的股票当天就可以买出,还比如非交易时间段也可以交易。
要意识到,除了未来函数/强制撮合/偷价/新颖设置之外,还会有很多坑,记得绕着走,别被忽悠了呐~
END
如果对本文有疑惑,或是想聊聊
亦或是围观朋友圈当点赞之交
点我,让我们一路同行
吃瓜吐槽写代码
(微信号:iquantman)
添加好友后,私信『666』
送你一些量化小福利
继续阅读
阅读原文