如何找到可靠的回测研究数据?

我们构建策略靠的不是站在回测起点往后看的先见之明,而是站在回测终点往前看的后见之明。

有越来越多的投资者开始接触、熟悉程序化交易。量化投资的方法有很多,涉及到的专业知识也很广泛,包括数学、统计学、信息技术、计算机技术等等。

量化投资首先是将交易策略模型程序化,买卖完全遵从系统的判断;其次是保证交易方法的一致性,将操作规范、获利以及风险管理等条件都写成程序语言,依据程序发出买卖信号。

如何判断一个策略到底好不好呢?大家通常会使用历史数据对策略模型回测,利用历史场景来检验和优化策略模型的盈利能力和抗风险能力。

那么,历史数据的准确性就是交易策略检验结果的关键因素,假如所采用的数据是不准确的,那么在这种数据下回测和调优的策略模型显然是无法在市场中使用的。

不同数据提供商提供的历史数据质量、时间长短、详细程度也会是有差别的。

大家是否会好奇,既然都是交易所发送出来的,为什么会有数据好坏的差异?

如果我们把交易所比喻成一个电视台,他不断的给客户发送信号。有的人是装了电视机,收看电视。而数据提供商装的是录像机录数据,然后把录像带卖给客户。录制方式、信号稳定性的不同就会导致各个数据提供商的数据质量就会不同。

在股票回测中,比较重要的数据有两块:一是Tick数据,二是Level 2数据。Tick数据是3秒一次的成交数据,而Level 2数据是逐笔成交明细。

国内逐笔数据分为逐笔委托数据和逐笔成交数据。在国内,最高精度的分笔订单簿数据除了交易所作为机密保存,谁也没有。(八特,现在可以在闪策科技开发的尚策云回测平台使用到逐笔数据进行撮合验证策略模型,完美重现订单薄功能。)

尽管国内的Tick数据并不是真正意义上的 Tick,但是使用这种数据进行回测,也可以更接近和还原真实的市场环境。

Tick数据本身并不神秘,就是交易所把每只股票的active order book(无论这笔order是否有被撮合成交)里面的买、卖的单的情况发给你,包括:开盘价、最高价、最低价、最新价、成交量、成交额。举个栗子:

最真实的order book是这样的,一天的市场一开始的时候苹果股票的order book清空(这里不进行auction period的探讨):

1. 第一个卖家:1000@100 :

这时候交易所会发给你一个message,告诉你苹果股票有人想以100块钱买1000股,那么这个order就先挂在了order book上。

2. 第二个卖家来了,他想卖得更高: 

 

这时候交易所会发给你另一个message,告诉你苹果股票有人卖的价格比你差,于是排序在下面。

3. 刚才的第一个卖家后悔了,cancel了他的order:1000@100 撤消了,那么交易所会有message告诉你,但是你需要自己编程处理这种remove掉一个tick的情况:

4. 终于有买家来了... 500@90 , 这个价格是不会成交的,因为买家低于现在的最佳卖价:101,那么order book里面会继续存着这个order,同时会发送一个tick告诉市场上的其他人:有买单了:

5. 继续,接着有一位买家以101块钱买入1000股,等于要把目前的best offer 1000@101给匹配撮合,那么你是不会收到这个最新的bid: 101@1000 的,因为它会进入matching engine的瞬间跟对面的best offer 撮合了,tick table的一个规则: bid offer 永远不会cross,否则要么是数据商的bug,要么是交易所的bug。现在,你只会收到一个告诉你delete the best offer的message,那么tick table长这样:

Tick数据的逻辑就是这么简单,市场在不断重复这个增、删、改、成交这四个步骤。但是比较麻烦的是,每一次变化都会推一次增量更新。

很多时候Tick的数据会以UDP发送,想象股市上如果交易非常活跃,那么数据量会非常大,如果录制的数据不准确,如何处理?一个Tick没有算对,那么后面的Tick Table可能都会受到影响。

所以一旦录制的数据有所缺失,很难弥补和获取到完整有效的数据源,从而对研究、开发策略模型会造成影响。

----------------------------------------------------

推荐阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.股票期货经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.当真躺着赚钱?量化交易的十大难题

5.从量化到高频交易,不可不读的五本书

6.如何有效的规避量化交易中的滑点?

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值