基于Order Book的深度学习模型:预测多时间段收益序列

时间:2024-02-26 08:37:35

https://mp.weixin.qq.com/s/N12GzvYCOpcqDlkaei5moA

本期遴选论文
来源: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)

 

1、Order Book States(LOB)

其中  为前十档的卖价, 为前十档的卖量, 为前十档的买价格, 为前十档的买量。

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个时间点:

各时间点的mid-price return为:

其中  表示时刻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轴的值。可以看出:

  • 基于LOB的模型,处理CNN=LSTM跑赢基准,其他模型都没法从LOB中学习到有效信息。由于OF只是基于LOB计算的衍生指标,给定足够数据的情况下,理论上深度学习的模型(如LSTM等)应该能够学到如基于OF模型一样的效果,但是整体而言,基于OF(左边)的模型表现更好。

 

  • 模型的效果在X轴等于2(k=10)时,达到了上限,也就是说深度学习模型整体对短期的价格变动有更好的预测结果。

 

图片

 

预测准确度比较

 

基于OF和LOB两种输入,分别测试的6个模型,所以一共有12个组合。每天对12个模型的不同horizon的表现进行排序(1-12名),然后把所有测试时间段,每个模型每天的排序计算平均值,由下图表示:

 

  • OF模型的整体排名要由于LOB

     

  • 含有LSTM部分的模型的表现要由于ARX和MLP

     

  • CNN-LSTM的表现很稳定,在各horizon得排在第一

 

图片

 

预测表现和股票其他特征之前的关系

 

作者针对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.