Deep Attentive Survival Analysis

Deep Attentive Survival Analysis in Limit Order Books: Estimating Fill Probabilities with Convolutional-Transformers

Abstract

策略执行过程中一个重要的选择是在LOB上下passive(liquidity providing)还是aggressive(liquidity tkaing)的订单。回答这个问题需要知道在LOB上挂passive单的成交概率。本文提出了一种基于深度学习的方法来估计挂在LOB上不同挡位订单的成交概率。主要采用一种生存分析的方法俩将time varying的LOB特征映射到订单成交时间的分布上。方法主要使用convolutional-transformer的encode以及单调的神经网络decoder组成。作者使用proper scoring rules来将该方法与其他方法对比,并且探索了用来估计成交概率特征中蕴含的可解释性。最终,作者统计分析了挂在有着不同queue dynamics和trading activity的order book中不同位置订单的成交概率。

1. Introduction

LOBs有不同的订单类型,其中limit orders和market orders最为常见。market orders会过spread在对手盘立刻成交,而limit orders会被放在订单簿不同挡位,如果成交的话会获得比market order更好的价格。limit order成交所需的时间被称为time-to-fill, 可以用不同方式估计。本文中,作者使用生存分析的方法来计算在LOB不同深度下limit orders的成交概率。

论文提出了从纵向数据中估计survival function的深度学习方法,具体利用一个基于transformer和部分单调的神经网络架构的encode-decoder结构。模型首先通过自注意力机制来总结在未下单前过去lookback window中最近的事件,然后利用这种潜在表示来估计订单提交后的成交概率。所使用的自注意力和卷积层提供了很有价值的时序信息,该信息可以提升基于最近trades对survival function的估计。为评估survival function的表现,作者采用proper scoring function来确保拟合正确。

论文主要使用Nasdaq交易所的数据。利用模型来预测挂在LOB不同档位订单的survival functions, 成交遵循price-time priority. 研究得到的结果在具有不同特征的资产上具有一致性。另外,作者通过shapley values发现模型主要依赖于高频信息,slow moving features提供的seasonal日内模式贡献较少。

2. Literature Review

这部分就不展开啦,感兴趣的话可以到原文阅读

3. Limit Order Books

挂单一直存在于LOB上知道被撮合成交或是扯淡。在文中,当提到market orders是,假设这些订单式要么是*fill-or-kill(FoK)的订单,要么等待直到成交,要么被取消,或者是immediate-or-cancel(IoC)的市价单,要么被立刻成交(entirely or partially)在预先确定的价格范围内。另外,所有的订单都是good for day(DAY)*的订单,当天收盘失效或是被撤单。

大部分交易所的撮合机制都遵循price-time priority,订单首先被按照价格排序,然后同一价位按照到达先后顺序。LOB有buy and ask双方,一个t时刻LOB的切片可以为被向量表示为:

$$
s_t=\left{p_a^l(t), v_a^l(t), p_b^l(t), v_b^l(t)\right}_{l=1}^L
$$
代表在时刻t ask和bid在不通过档位$l \in {1,…,L}$的量价。矩阵$\bm{x_t}\in \mathbb{R}^{T\times 4L}$代表LOB在时序t到t-T之间的变化。使用的message data的示例:
Example of message data

4. Survival Analysis

event time $T_l\in\mathbb{R}{\geq 0}$是一个随机变量,用来描述挂在不同档位$l$订单的成交时间。本文的目标是基于市场特征$\bm{x} \in \mathbb{R}^p$来预测$T_l$。所有的事件都是right-censoring的,即可能无法得到成交时间。当一个limit order被撤销,或是到达闭盘,就被考虑为一个censored event. 考虑N个形如$(\bm{x_i}, z_i, \delta_i)$的observations, $\delta_i$是一个indicator functions, 为0代表事件被censor, 其他情况为1. $z_i$和$\bm{x_i}$代表观测到的event time和截止挂单前最新的market features。 利用这个triplet可以估计survival function $S{T_l}(t \mid \mathbf{x})=\mathbb{P}\left{T_l>t \mid \mathbf{x}\right}$

events after submission of a limit order

survival function代表了挂在档位$l$订单在t时刻之前未被fill的概率。survival function 和对应的cumulative density function(CDF)之间的关系可以表示为:
$S_{T_l}(t \mid \mathbf{x})=1 - F_{T_l}(t \mid \mathbf{x})$, 因此pdf: $f_{T_l}(t \mid \mathbf{x})=- \frac{d}{dt} S_{T_l}(t \mid \mathbf{x})$描述了挂单之后在一定时间内成交的概率. 另外,hazerd rate表示订单在时间t后被成交的倾向性:
$$
h_{T_l}(t \mid \mathbf{x}) = \frac{f_{T_l}(t \mid \mathbf{x}) }{ 1- F_{T_l}(t \mid \mathbf{x})}
$$
$S_{T_l}, F_{T_l}, h_{T_l}$之间有如下关系:
$$
S_{T_l}(t \mid \mathbf{x})=\mathbb{P}\left{T_l>t \mid \mathbf{x}\right}=1-F_{T_l}(t \mid \mathbf{x})=\exp \left(-\int_0^t h_{T_l}(s) d s\right)
$$

survival functions的形状有一组参数$\bm{\theta} \in \mathbb{R}$描述。一般可能认为该函数可以由一些分布近似(e.g. Weibull distribution)并估计相关的参数。另一种方式是要通过神经网络来近似survival functions,这样参数更多但能更好拟合数据并且能反映与市场特征之间的非线性关系。利用最大似然估计来最大化right censored log-likelihood function:
$$
\mathcal{L}(\boldsymbol{\theta})=\log \left(L_N(\boldsymbol{\theta})\right)=\sum_{k=1}^N \delta_k \log \left(\hat{f}\left(z_k \mid \mathbf{x}_k, \boldsymbol{\theta}\right)\right)+\left(1-\delta_k\right) \log \left(\hat{S}\left(z_k \mid \mathbf{x}_k, \boldsymbol{\theta}\right)\right)
$$
$\hat{S}$和$\hat{f}$分别是neural network对survival function和density function的估计。具体的推导在appendix中。训练时,需要模型在精确的时间步来输出$\hat{S}(z_k | \bm{X_k}, \bm{\theta})$,本文使用的模型通过只对decoder输入时间$z_k$并结合从LOB中提取的latent representation, 从而在足够小的时间步上评估survival function并且遵循survival function的单调性。

为了评估模型拟合survival function的好坏,作者使用了scoring rule的概念。一个scoring rule$\mathcal{S}$的输入是一个在集合$\mathcal{Y}$上的分布$S$,观测样本$y \in \mathcal{Y}$, 并返回一个score $\mathcal{S}(S, y)$。对positive的scoring rules, 更高的分数代表模型你和更好,在生存回归中,一个scoring rule 是proper如果:
$$
\mathbb{E}{t, c, \mathbf{x}}[\mathcal{S}(S(t \mid \mathbf{x}),(z, \delta))] \geq \mathbb{E}{t, c, \mathbf{x}}[\mathcal{S}(\hat{S}(t \mid \mathbf{x}),(z, \delta))]
$$
对所有survival function的估计$\hat{S}(t \mid \mathbf{x})$, 即期望上,一个proper的scoring rule会给真实的survival function更高的分数。right-censored log-likelihood(RCLL)是一个proper scoring rule, 作者使用这个rule来确保你和的模型是正确逼近真实的survival function的。

5. Empirical and Statistical Evidence of Fill Rate Executions

首先介绍两种得到limit orders的成交时间的方式,第一种是记录挂在LOB上的limit order的结果,第二种是利用虚拟订单来建模limit order repegging. 同时,也比较了第一种方式得到的survival function与不同order book档位的关联,以及第二种方式的top level的研究。

5.1 Generating of training data

第一种得到 ${(\bm{x_i}, z_i, \delta_i)}_{i=1}^N$的方式是记录所有与某个订单挂单后有关的信息。如果最终成交,那么记录为filled, 不然记录为censored。time-to-fill在这里便指order submission后到观测到最终记录的时间。
另一种是利用虚假的订单,即放在交易队列末尾的一手订单。特别的,订单的survival function是与某档位的价格挂钩的,每次订单簿变动时都会检测该订单是否被fill。利用第二种方式,对订单簿中观测到的不同行为进行事后分析,文中只做了与LOB best ask and bid挂钩订单的分析。下图展示了估计的survival function随时间的变化,
order-repegging

可以看到成交概率随时间降低,以及成交概率随着order repegging的增加,就是Level1比Level5更好成交。但是,这种visualization只提供了一个survival function平均的视角,并且不能捕捉订单成交概率的微观结构,因此作者提出基于DLd的方式。

5.2 Fill statisics oflimit orders placed inside the bid-ask spread

这里,计算了挂在spread里的订单的成交概率,结合tick和trading activity不同的股票进行分析,九支股票的具体信息如下图。

stock statistics

直观上,交易tick较大的stock更倾向挂单在spread中,甚至跨过spread,但不能保证立刻成交,一个提升了best quotes的订单也更容易成交。这是合理的因为traders看到会立刻用liquidity taking的order match。

stocks survival
sutvial analysis stocks

结合上面两张图的结果可以得到:

  • 提升了best quotes的订单更容易成交,是合理的因为traders看到会立刻用liquidity taking的order match
  • 大tick股票挂在spread中的成交概率在短时间内显著上升到与best quote接近,这说明如果订单几秒内被成交则价格会向有利方向移动,否则价格可能会反向移动,使得订单rest deeper
  • 更活跃股票的survival function decay更快

6. Monotonic Encoder-Decoder Convolutional-Transformer

6.1 General Architecture

模型结构由两部分构成。encoder部分,参数$\Phi \in \mathbb{R}^{m_\Phi}$, 处理LOB数据并得到latent representation, 从而被decoder利用,参数为$\Psi \in \mathbb{R}^{m_\Psi+}$来预测limit order的survival function。decoder包含了一个单调的神经网络来保证是单调递减的survival function。encoder部分利用convolutional-transformer来建模LOB数据中复杂的依赖和影响关系。

conv-transformer models

6.2 Convolutional-Transformer Encoder

encoder结构如下所示,处理LOB时序数据并捕捉non-Marokovian的动态关系,其中包括两部分:一个locally-aware的卷积网络和一个transfomer模型。locally-aware的网络包含3个不同的Dilated Causal Convolutional(DCC)neural network来处理LOB数据并产生对应的queries, keys和values。利用卷积网络的输出作为transfomer的Q,K,V使得encoder更能关注到local context, 是的transformer具备鉴别values是异常值还是某种模式。
Structure of conv-Transformer

因此,DCCs的操作可以理解成一组数据驱动的local filters。从原始时间序列到卷积输出的hidden representation增强了对LOB的动态表述,从而transformer的自注意力机制也能捕捉到复杂的local依赖关系。另外,每一个DCCs的参数都是被调优用来从LOB中提取不同的相关特征。。比如,有些用来提取trend, 有些用来检测异常等。每个convolution neural network都有一层causal convolution构成,可以表示为:

qkv formula

其中p是的dilation factor. 这里卷积网络主要是作为融入了local context的特征提取器,因此比较简单,appendix中也有增加卷积网络层数的实验结果。

cnvolutional-Transformer的优点在于卷积层使得模型locally-aware并且稀疏的self-attention缓解了空间复杂度,是的计算attention的复杂度从$O(L^2)$降低到$O(L(log(L))^2)$, self-attention以及multi-head attention的原理就不介绍了。

6.3 Monotonic Decoder

在生存分析中,survival function需要随着时间递减,作者在decoder中使用单调网络来保证这点。decoder的输出$f_\Phi(.)$与CDF的性质一致,因为满足:
$$
\text { (i) } \lim {t \rightarrow-\infty} f{\Psi}(t, \mathbf{x})=0, \text { (ii) } \lim {t \rightarrow \infty} f{\Psi}(t, \mathbf{x})=1, \text { (iii) } \frac{\partial f_{\Psi}(t, \mathbf{x})}{\partial t} \geq 0
$$
具体的细节appendix中有提供,但从下面这个图也可以直观理解,encoder这里会加入时间步t并保证其weight为正实数,最终再对得到的survival function求导。
monotonic decoder

7. Experiments

7.1 Predictive Features

自变量分为slow-movingfast-moving的, slow-moving features能提供日内的交易模式,其中一种是return的volatility,通常在开盘时候会比较高因为uncertainty和对overnight information的调整。同样的现象在交易量上也有体现,开收盘时会更高。fast-moving的features能够帮助更细粒度的预测,作者指出了几种可能比较重要的:bid-ask spread的未来演化,volatility, order arrival speed。最终使用的自变量有五档量价和volume imbalance, microprice这些。

7.2 Model Fit

下面是很多实验结果,可以看到:

  • 提出的方法在RCLL评价指标下超过了benchmark models
  • 考虑到time-varying dynamics的模型表现更好
  • convolutional-Transformer因为能更好的处理信息lookback window变长时效果也有提升, 但LSTM or CNN未观察到

observed orders perform

pegged orders dataset

percentage improvement

7.3 Model Interpretability

作者主要利用attention heatmaps和shapley values来进行模型解释,从下图中不同head的attention map能看到,最左侧关注400 trades之前的volatility降低,其余的head有着稀疏的attention模式,表明模型结合了短期和长期信息来做出预测。
attention heatmaps

shapley values的beeswarm plot主要画的是基本的MN-MLP模型的结果,虽然不是本文用到的复杂模型但能提供一些理解,能直接看到模型给了fast-moving的features更多的权重。

shapley values

8. Conclusions

本文结合convolutional-Transformer提出了一种估计limit order成交概率的方式。为训练和评估模型,使用了right-censored log-likelihood,是一种proper的scoring rule。模型在observed orders dataset和pegged orders dataset上均超越了基准模型。最终,借助Shapley values和attention heatmaps来对特征重要性做出评估。

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2022-2024 Zstar
  • Visitors: | Views:

请我喝杯咖啡吧~