【答读者问13】backtrader实盘交易中应该注意些什么(数据篇)?
作者:yunjinqi   类别:    日期:2021-12-23 17:50:07    阅读:1859 次   消耗积分:0 分    

答读者问是免费文章,不计入专栏中。写作本文使用了62分钟,阅读大概3分钟。

有个读者咨询使用backtrader连接IB进行实盘交易的时候需要注意些什么?由于我使用backtrader只连接过oanda做外汇交易,并且也做期货的量化交易,中间碰到过很多问题,就在这里泛泛而谈一下,做实盘交易的时候需要注意的问题。

数据问题

跟回测一样,数据也是基础,如何处理实时的交易数据,对实盘交易有一定的影响。

  1. 数据的获取方式

    常见的获取数据的方式可以分为两种,一种是请求响应式,请求一次获取一次数据;一种是订阅全推式,订阅了数据之后,会源源不断的传送数据过来。一般情况下,交易所会提供两种模式供大家选择,使用两种模式,都各有利弊吧,国内做期货交易的,使用订阅全推式的比较多。

    • 优点

    • 缺点

    • 举例说明

    • 可以获取全部的数据,可以根据数据合成不同周期的K线

    • 比较适合用于事件驱动的量化交易框架,每次推过来一个数据,量化交易系统就运行一次,而不用再额外进行时间控制

    • 编写策略逻辑,相对而言,更轻松一些

    • 需要额外对数据进行处理,如果全推过来的是tick数据,而我们是要用5分钟的K线进行交易的话,就需要合成5分钟K线。

    • 全推过来的数据,占了更多的内存,导致可能需要运行一段时间就需要重启策略。

    • 交易所推过来的数据,有可能是交易时间之外的无效的数据,需要特别处理。

    • 就不需要过多举例了,市面上常见的量化框架,好多都是这种模式

    • 优点

    • 缺点

    • 举例说明

      # 我在16年、17年最开始做比特币量化交易,就是使用的这种方式实现的,看起来比较low,没有技术含量,但是就是特别简单con = Truewhile con:
          # 判断现在的时间是否是应该计算交易信号的时间
          	# 如果是,就获取数据,计算交易信号
          		# 如果产生了开平仓的信号,就下单交易
                  	# 如果下单了,就观察订单有没有成交
                      	# 如果订单成交了,就进入下一步
                          # 如果订单没有成交,就撤单,重新下单,监控订单是否成交,直到订单全部成交
                  # 如果没有产生开平仓信号,就忽略,进入上层逻辑
              # 如果不是交易时间,忽略,进入上层逻辑
          # 每次循环,固定增加一定的时间,比如0.1秒
          time.sleep(0.1)# 这就是一个完整的可以实现量化交易的代码,写起来特别简单。
    • 在需要的时候才调用一次数据,可以节省程序运行的内存。

    • 避免交易时间之外的无效数据(有的交易所在交易时间之外,也有一定的数据)。

    • 可以自由控制计算交易信号的时间

    • 编写量化交易的程序可以比较简单,一般会一点语法就可以实现(当然,也可以很复杂的实现)

    • 本地时间与交易所时间不一致问题(可以计算时间差,进行规避)

    • 请求响应式的优缺点

    • 订阅全推式的优缺点

  2. 数据的准确性

    一般情况下,从交易所直接获取的数据,准确度应该还是蛮高的;如果是从第三方获取的数据,就需要额外注意。最好的情况是,能够对交易数据做一个简单的验证(不能牺牲速度),分析什么情况下,数据出现了异常,比如乌龙指造成的指数的大涨?

  3. 数据的及时性

    尽可能采用低延迟的方法获取数据,数据是否及时,直接影响着交易速度。

  4. 数据的完整性

    如果是请求响应式获取的数据,本身就是市场得到一个切片;如果是订阅全推式的获取数据,从交易所推过来的数据,可能在中途发生丢包的概率相对而言就比较大了,数据就有一定的可能不是完整的。

数据问题是实盘交易的时候需要考虑的第一个问题,需要重视,数据出了问题,就像地基没有打好一样,很容易出各种问题。

注:谈一点关于IB交易的问题,我本身没有用这个做过实盘交易,前几年IB的客户端会每24小时断一次(也不知道现在还是不是这样),需要注意这个问题。

以上纯属胡言乱语,仅供参考。


智慧、心灵、财富,总要有一个在路上,愿我们能在人生的道路上,不断成长、不断成熟~~~

感兴趣可以关注我的专栏:

my_quant_study_note:分享一些关于量化投资、量化交易相关的思考

backtrader量化投资回测与交易:本专栏免费,分享backtrader相关的内容。

量化投资神器-backtrader源码解析-从入门到精通:本专栏目前收费299元,预计更新100篇策略(更新中)+36篇backtrader讲解(已完成)+backtrader源码分析。


版权所有,转载本站文章请注明出处:云子量化, http://www.woniunote.com/article/42
上一篇:【答读者问12】如何理解backtrader的line以及对line进行操作?
下一篇:【答读者问14】backtrader实盘交易中应该注意些什么(风险管理篇)?