在量化交易中的应用_机器学习在量化交易中的应用(1)

0a365b2ad2cd18ce46f00da5d8f38798.png

机器学习在很多领域都取得了很好的效果,比如大家熟悉的搜索、推荐以及NLP和图像等。但是在金融和投资领域却很少看见成功的例子。近期花了不少时间研究机器学习在量化交易中的应用,同时在阅读Advances in Financial Machine Learning 这本书,这个系列主要会实现书中的一些代码和自己的想法。

常见的金融数据有很多,比如基本面数据和市场的交易数据等等。对于技术分析或者ML方法来说,我们可能会更关注交易数据。一般来说交易数据可以分为tick数据和标准的Bar数据。tick数据是最基本的金融数据,Bar可以看作对tick数据的采样,比如1min/5min数据等等。采样意味着信息的丢失,比如在交易密集的时刻和交易不密集的时刻,等时间间隔采样就不太合适,我们需要更有效率的采样方式,这样我们的机器学习模型才会有更好的效果。

Time Bars

一般各个交易系统用的都是Time Bar,可以理解为对原始的数据做等时间间隔的采样,常用的技术指标就是基于这些信息计算的,比如

  • 时间 timestamp
  • 开盘价 Open
  • 收盘价 Close
  • 最高价 High
  • 最低价 Low
  • 交易量 Volume

虽然这些时间bar历史最为悠久, 但是如果直接运用在机器学习项目中,则会有很多问题。 第一个问题过采样/欠采样,因为市场的信息并不一定是等间隔的,拿股票数据来说,一般开盘和收盘的时候,信息量会更大一些。 第二个问题是统计层面的,基于等时间间隔采样的时间序列是自相关的,而机器学习模型一般假设样本符合是独立同分布。为了更好的分析金融时间序列,我们应该采用其他的采样方法。

Tick Bars、Volume Bars、Dollar Bars

Time bar是每间隔一段时间采样,Tick Bars则是每间隔一定的Tick数量采样,这样的好处就是每个采样点之间都有相同的tick数量。但是在国内的期货和股票市场,我们拿到的大多都是快照数据,tick bar按照相同的tick采样方式可以并不是十分有效。那么如果按照Volume和Dollar采样可能更加适合。如果用机器学习中的说法,那么利用dollar和volume的采样方法可以改善过采样和欠采样的情况。

任意选取一天的期货数据,这里采用的是螺纹钢在2018-05-11这一天的数据,我们可以看到基于dollar和volume的采样方法在11点多上涨的时候,保留了更多的信息,而依靠等时间间隔的采样方法可能欠采样了。

2462099692c886c0584f9091cc8688a8.png

下图给出了更详细的分析,我们可以对比采用不同的方法在每一周采样的bar的数量,如果是基于等数量的tick采样,每周的采样点数基本是不变的。 如果基于等volume和等dollar的采样方法,则会有随着时间变化有不同的数量。

60a25d4b5f31e8aafd983dc6537aa39f.png

接下去我们探索一个重要的性质,比较不同采样比例下的自相关系数。下图是不同采样方法的自相关系数,横坐标是Lag,可以看到volume和dollar和tick相比,在Lag=1的情况下,volume和dollar自相关系数非常小,而tick bar的自相关系数非常大。那么我们认为dollar bar和volume bar是比tick bar有更好的统计性质。

d3f70f72592455baa5f03b8fae5f6483.png

总结

可以看到,通过上述的采样的方法,我们可以解决传统采样方法的过采样和欠采样问题,并且得到的时间序列有更小的自相关系数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值