量化投资与机器学习微信公众号,是业内垂直于 量化投资、对冲基金、 Fintech、人工智能、大数据 等 领域的 主流自媒体 。 公众号拥有来自 公募、私募、券商、期货、银行、保险、高校 等行业 20W+ 关注者,连续2 年被腾讯云+社区评选为“年度最佳作者”。
量化投资与机器学习公众号独家解读
量化投资与机器学公众号 QIML Insight——深度研读系列 是公众号今年全力打造的一档 深度、前沿、高水准 栏目。
公众号 遴选 了各大期刊前沿论文 ,按照理解和提炼的方式为读者呈现每篇论文最精华的部分。 QIML希望大家能够读到可以成长的量化文章,愿与你共同进步!
本期遴选论文 来源: SSRN标题: Deep Order Flow Imbalance: Extracting Alpha at Multiple Horizons from the Limit Order Book作者: Petter N. Kolm、Jeremy Turiel、Nicholas Westray
作者基于原始订单数据,构建了订单状态指标、订单流指标,并结合深度学习模型对Nasdaq的115股票构建高频价格预测模型,并对比了多个模型的效果。 核心观点如下:
订单流的原始数据,可以直接作为深度学习模型的输入,而不需要过多的进行特征工程。
模型预测的效果与股票交易活跃度有关,成交活跃的股票,模型的整体效果更优。
在多预测时间段的测试中,模型整体对于短期价格的变动有优秀的预测能力,模型效果的最优表现出现在K=10附近。
订单簿如下图所示,按照价格优先时间优先的原则将买单卖单做如下排列,
针对订单簿的数据,作者定义了以下指标:订单簿状态LOB,订单流OF,订单流失衡(OFI)
其中 为前十档的卖价, 为前十档的卖量, 为前十档的买价格,
为前十档的买量。
2、Bid-Ask Order Flow(OF)
3、Order Flow Imbalance(OFI)
预测模型
作者测试了多种模型,对比各种模型的预测效果。
实证
因变量
因变量是股票在未来一段时间用mid-price计算的收益率,对于每一时刻t,模型预测了多个未来horizon的收益率,用向量r表示: 其中r为mid-price return, 表示两个tick之间中间价计算的收益率。 该模型是采用长度为w的滚动窗口进行计算,对于所有模型,w统一设置为100:
如表6所示,由于每个股票的成交活跃度都不一样,EBAY和MSFT每天Order Book的活跃度(Updates)差了三个数量级。所以作者针对每个股票设定各自的时间划分间隔(stock specific time increment):
其中分子是一个交易日交易时间的毫秒数,N表示这个股票每天非零的mid-price returns的数量。那对于(14)中,具体的预测时间点为以下10个时间点:
其中 表示时刻t的mid-price, 是为了考虑延迟,所以在时间t用的实际上是
的mid-price, 的取值是10毫秒。
自变量
作者测试了两种自变量的表现,分别是上式(1)的LOB和上式(4)的OF,对于所有自变量和因变量都Winsorize到0.5%和99.5%的区间,并转换为z-score。最终作者选取了纳斯达克上市的115只股票的订单数据作为训练样本。
其中
是模型的mean square error, 是基于测试时间段 r 的均值计算的mean square error,以此作为模型表现得基准。
大于0,说明模型的效果优于Benchmark。
模型设置
表2给出了所有模型的参数及设置,单个模型的训练时间在10-60分钟左右。
结果
短期预测效果对比
下图给出了各模型短期预测效果的对比,其中左边的自变量是OF,右边的自变量是LOB。X轴对应不同的预测horizon(如17表示,一共10个horizons);Y轴是根据18计算的模型表现,首先计算每个股票每个Horizon每天平均的 ,然后把所有股票的 平均就得到Y轴的值。可以看出:
预测准确度比较
基于OF和LOB两种输入,分别测试的6个模型,所以一共有12个组合。每天对12个模型的不同horizon的表现进行排序(1-12名),然后把所有测试时间段,每个模型每天的排序计算平均值,由下图表示:
预测表现和股票其他特征之前的关系
作者针对OF作为输入的LSTM模型,研究模型表现与股票特征之间的关系,计算出每个模型测试时间的 均值,并计算对 与股票各特征做回归,包括Tick Size, LogUpdates, LogTrades, LogPriceChg, Log(Updates/PriceChg。 可以发现模型的表现与TickSize和Updates正相关,与PriceChg负相关。其中PriceChg表示单位时间价格变动的次数,一定程度反映了股票的波动性。
具体的截面回归的结果如下表所示:
长期预测能力
以上的结果都限定在k=10以内(等式17中的k),对于更长时间的预测效果,如下图所示,可以看出模型的表现在x轴等于2的时候达到最大,当x超过2,模型的效果持续下降。
总结
订单流的原始数据,可以直接作为深度学习模型的输入,而不需要过多的进行特征工程。
模型预测的效果与股票交易活跃度有关,成交活跃的股票,模型的整体效果更优。
在多预测时间段的测试中,模型整体对于短期价格的变动有优秀的预测能力,模型效果的最优表现出现在K=10附近。
参考文献
Zhang, Zihao, Stefan Zohren, and Stephen Roberts (2018). \BDLOB: Bayesian Deep Convolutional Neural Networks For Limit Order Books". In: arXiv preprint arXiv:1811.10041.