程序化交易实盘滑点与测试报告

刚刚使用程序化交易的新人一定遇到过这样的问题:一个在测试时收益率蛮高的模型,应用到实盘的时候,效果不理想甚至产生很大的亏损,一开始还以为运气不好,遇到了模型的盲点,但是连续一段时间情况没有任何改善,不明白是怎么一回事?

程序化交易实盘滑点与测试报告

其实背后的原因就是模型发出交易信号的价格和实盘交易的价格之间存在着差值,这个差值俗称“滑点”,在绝大多数情况下滑点是不利于你的交易方向的,滑点的大小直接影响你的收益率,特别是日内短线交易模型,滑点会拿走很大部分收益。

既然滑点这么不好,那有没有办法消除或减少滑点呢?答案是:滑点可以减少但没办法消除。为什么这么说呢?原因有两方面:

一、行情与交易软件的缺陷及网络延迟。软件与网络延迟会导致下单与实际价格有偏差。现在家家户户都有宽带了,文华软件也有升级,这方面都有所改善,但这个影响因素仍旧存在,就算你直接在交易所场内下单也会有微小的影响。

二、交易机制及成交因素。价格优先、时间优先的交易规则是不可能改变的,你想在下单的时候马上就成交?对不起,你得排队,要么你价格高于(买)或低于(卖)市场价,所以在文华上有“市价下单时,系统在市价基础上调整?个最小变动单位”的设置,你要确保立时成交,那么你就要付出代价。

说了这么多,再回到开头的问题,难道测试报告就没有参考价值了吗?当然不是!意思是你得把滑点这个因素加入到测试中去,方法如下:

把滑点作为手续费加入到测试中,测试品种最小变动单位乘以和约单位就是滑点的价格,一次开平仓有两次交易,所以要加上两次滑点费。以白糖测试为例,一个滑点的手续费设置就是手续费+2*滑点费=10元+2*10元=30元,两个滑点就是50元。

再来测试一下你的交易模型,这样的结果更接近于模型在实盘上的表现吧?

超长k线数据案例一:超长k线数据测试 量化交易

超长k线数据案例一:超长k线数据测试

前言 问题一:超长的K线数据有什么用? 以上期所的螺纹钢合约为例,螺纹钢2009年挂牌交易至今,已经有超过10年的历史数据。前8年的历史数据囊括了2009年的急涨急跌行情、2011年的震荡行情、201...