闪策科技:聊一聊这款『真』逐笔订单级的回测系统

发布于: 修改于: 雪球转发:0回复:0喜欢:0

回测是每一个量化策略在投入实盘前,必须要做的测试流程。这样做不仅仅对策略本身负责,也对交易所和全市场负责,几个事故案例相信大家都有耳闻过。

策略在用真金白银进行交易前,主要是针对这两方面进行检验:

策略的可用性——策略是建立在对市场的一系列假设上,回测的核心目的就是测试这些假设是否稳定,在历史不稳定时期会产生什么样的损失,以及寻找预防风险的灵感。

程序的正确性——如果策略程序代码有bug,会在回测过程中暴露出来,避免实盘交易时可能会产生的风险。

所以,回测就是通过“挑错”来淘汰劣质的、错误的策略,再通过“调优”,找到策略参数的最佳落点。

1. 回测系统的设计要点

回测系统的主要功能是历史行情回放、成交模拟和绩效分析。

其中,最难的部分是模拟交易所撮合机制,对委托订单进行模拟成交。

因为策略触发的委托订单会对当时的市场、“未来”的行情走势造成影响。

这好比往水中投入了一块石头泛起的涟漪。无论是订单自身的价格推动力,还是其他投资者做出的反应,都会使市场产生一系列波动,从而产生冲击效应。

冲击成本的高低,会影响到一个策略能否获得更好的业绩表现。

所以,科学地模拟市场的参与度,对于策略成交概率的预估是非常重要的。

传统的回测撮合模式可能是见价即成 ,但在实际交易时,会出现各种无法成交的情况。比如因为极端行情产生的流动性真空,没有对手可以成交,或者只能成交少部分委托。

不准确的回测除了导致回测和实盘有很大的差距,策略也因在回测时没有遇见这样的场景而无法改进其处理未知风险的能力和机制。

2. 回测成交概率要真实

中国证券市场属于订单驱动市场,交易通过投资者的买进委托和卖出委托竞价所形成。

委托订单都会在盘口根据各交易所行情发布规则体现,交易所会根据委托订单的先后顺序,按照“价格优先、时间优先“的撮合原则对委托订单进行撮合。

所有这些委托信息,每一笔的买卖方向、数量、价格、发起者等订单信息都会被交易所记录下来。

那些未成交的限价委托订单则组成了订单簿。

订单簿可以很好地查阅到市场的流动性有多少,有多深。

不同于海外市场的实时行情发送机制,中国证券市场采用的是快照行情,每3秒发送一次当下这一秒(切片时的)盘口的状况。

但每次切片的间隔,市场增减了哪些委托,有多少成交发生,这些市场行为的变化无从知晓。

在回测时,如果只是根据我们所“看到”的“有的”价格即成交,不考虑真实市场状态下的成交概率,就会出现大家常说的价格真空、偷价、未来函数等问题。

买卖队列好比是一群人排了两条很长的队,一边是买,一边是卖,更好的价格会排在前面,每个人手上也有一定的买、卖数量。大家根据价格顺序、时间顺序进行排队、等待匹配。

同样的价格,排在队伍后端的订单交易成功的可能性就会下降,也许在我们排队等待的过程中,排在前面的可匹配的买卖订单已经完成交易。

3. 官方撮合最可信

所以,最准确的模拟撮合方法就是回放交易所的逐笔委托和成交数据,根据交易所撮合机制、市场流动性来模拟撮合订单,从而得出策略的成交概率。

中国两大证券交易所,目前只有深交所支持逐笔委托和逐笔成交的实时推送,可以通过这两个数据重构订单簿。

上交所的逐笔数据暂时还未完全公开地提供给市场进行策略研究和回测使用。

在没有订单簿数据的情况下,有些回测系统会通过历史数据,猜测每个快照之间的委托、交易变化情况,设计一个成交模型来预估一个成交概率。

但只有越接近交易所的撮合机制和流动性模拟,还原真实市场可能会面临到的情况,得到的回测结果才会越准确。

4. 『真』回放订单簿的回测系统

想要更科学、准确的回测平台?

可以了解一下闪策科技基于上交所信息公司 ——上证信息“智能数据服务”开发的策略检验平台——尚策云IntelliCloud策略回测平台。

通过尚策云即可使用交易所的逐笔撮合服务,更准确地模拟成交为策略提供验证服务,提升策略回测的准确性。

尚策云可以实现以下数据支持和回测功能:

数据支持——沪深Level-1、Level-2,股票期权、固定收益、期货交易所等历史数据和实时行情服务;

极度仿真——可快照、可逐笔,让回测结果更科学可信;

高效回测引擎——支持对滑点、手续费、成交类型、成交比例等参数的自定义,专业分析报告,业绩一目了然。

因为常有朋友在后台留言咨询或进一步了解我们的分享,为了能更加及时地答复大家,小闪也是有微信的人了。

大家可以添加小闪的微信以获得及时的沟通。


更多高频交易、量化交易、程序化交易技术知识敬请关注闪策科技公众号。

ID:上海闪策信息科技(ShanceTech)