用深度学习方法来估计限价订单簿中的成交概率
来源：SSRN
作者：Costis Maglaras，Ciamac C. Moallemi，Muye Wang （哥伦比亚大学）
在实际最优交易问题中，决定使用市价单还是限价单是一个重要问题。做出此决定的一个关键因素是了解限价单执行的不确定性，即成交概率或订单将在一定时间范围内执行的概率。同样，我们可以估计成交时间的分布。我们提出了一种基于循环神经网络的数据驱动方法来估计限价单在当前市场条件下的成交时间分布。通过使用历史数据集，我们证明了这种方法相对于几种基准测试技术的优越性。在典型交易问题中实现交易策略时，这种方法还可以显著降低成本。
大多数现代金融交易所使用电子限价单（LOB）作为集中式系统来交易和跟踪订单。在这样的交易所，剩余限价订单等待与对方市场订单匹配。
由于交易所通常提供多种订单类型，当交易者提交订单时，他们经常面临多种订单类型的选择。最常见的选择是在市价单和限价单之间。市价单是以当前最佳价格立即执行的订单。此类订单被优先考虑立即执行的交易者使用。限价单是仅以指定价格或更低价格执行的订单。因此，限价单通常不会立即执行，在某些情况下，限价单根本不执行。限价单的提交和执行之间的延迟称为“成交时间”。为了在市价单和限价单之间做出明智选择，交易者必须了解限价单执行的不确定性，更具体地说，是给定时间范围内的成交概率，或等价的成交时间分布。
深度学习是机器学习的一个分支，它使用神经网络来捕捉数据中的复杂模式。典型的神经网络由多层人工神经元组成，这些人工神经元使用激活函数来模拟非线性关系。具有多层的深度神经网络有效地表示了这些激活函数的所有层的函数组合。因此，深度神经网络可以表示非常复杂的函数并捕获传统线性模型无法捕获的模式。
在本文中，我们应用深度学习技术来研究限价单执行的不确定性，即成交概率或等效的成交次数分布。准确的成交概率预测有助于交易者更好地在市价单和限价单之间做出决定，我们通过一个原型交易问题来证明这一点。
我们提出来一种基于特定循环神经网络（RNN）架构的数据驱动方法来预测限价单执行。大多数关于限价单执行的研究都使用基于模型的方法，这不可避免地受到各种模型限制的影响，例如模型指定错误。我们提出来一种数据驱动的方法，可以利用丰富的交易市场数据。为了模拟限价单执行的时间动态，我们构建来一个RNN，而不是更传统的前馈神经网络。在本研究中，我们通过设计风险率方法直接估计成交时间的分布。据我们所知，这是第一项通过成交时间分布直接预测限价单执行的研究。
我们展示了针对基准模型更好的预测准确性。RNN的性能使用两个指标来衡量——成交概率和以执行为条件的成交时间的期望。我们使用逻辑回归等传统估计方法来建立基准。在不同的时间范围内，RNN方法在这两个指标上都优于基准。
我们在原型执行问题中展示来更好的性能。更好的限价单执行预测对交易策略实施具有重要意义。我们指定了一个基准交易问题，该问题考虑了执行单个股票时市价单和限价单之间的权衡，目的是最大程度地减少实施不足。由于RNN更准确地预测成交概率，它还通过减少实施不足来改进交易策略。
2.限价订单簿和动机
在本节中，我们将介绍订单簿的机制，并讨论考虑限价单和市价单之间权衡的典型交易问题。最优交易策略需要成交概率作为输入，这激发了成交概率估计问题。
2.1限价订单机制
限价订单簿负责跟踪各种价格水平的所有剩余限价订单。由于投资者的偏好和头寸随时间变化，限价订单簿也需要动态变化并随时间变化。在交易时间内，市价单和限价单不断被提交和交易。这些事件改变了剩余的限价单，从而改变了限价单的形状。其他改变限价单形状的市场事件包括部分或完全取消剩余限价单。
限价订单簿与匹配引擎配对，匹配引擎将传入的市场订单与剩余的限价订单相匹配以完成交易。匹配引擎运行的最常见规则是“价格-时间优先”。当有新的市价订单被提交买入时，限价卖出订单将以最低要价执行；当提交新的市价单时，卖出、买入限价单将以最高出价执行。对于相同价格的限价单，匹配引擎遵循时间优先级——先提交的订单先执行。
限价订单簿的配置和匹配规则促使研究人员将限价订单簿建模为排队系统（例如，Cont等人[2010]、Moallemi和Yuan[2016]、Toke[2013]）。市价单对应服务完成，限价单对应客户到账。这些方法的困难在于这些市场事件动态的复杂性。经验证据表明，这些市场事件的发展率会根据市场状况而变化。例如，Biais等人[1995]发现证据表明，当买卖差价较大或订单簿时，投资者更有可能提交限价订单（而不是触及报价）。Cho和Nelling[2000]报告说，限价单未完成的时间越长，执行的可能性就越小。
2.2实施不足：市价单和限价单之间的权衡
市价单和限价单之间的选择可以看作是立即执行和价格溢价之间的权衡。买入市价单以最佳要价执行，而买入限价单以较低价格执行。因此，限价单至少获得每股市价单的买卖价差。类似的情况适用于卖单。然而，即使限价单提供价格溢价，也不能保证执行。因此，价格溢价仅以一定概率实现，即成交概率。
为了更好地证明这种权衡，请考虑以下程序化的交易问题。假设代理人试图在固定时间范围[0，h]内购买一股股票。（销售问题是类似的）代理人寻求最小化实施不足
3.循环神经网络（RNN）
对于代理人正在考虑下达的新限价订单，请考虑预测不同时间范围内的成交概率的问题。这个问题可以表述为监督学习问题。我们收集在各种市场条件下提交的限价单并记录它们的成交时间。选择输入特征来表示市场条件，并训练神经网络来预测成交概率。本节的其余部分概述了输入特征、循环神经网络（RNN）架构以及用于预测极限订单成交概率的危险率方法。
3.1 LSTM架构
在限价订单簿市场中，过去的事件可以预测近期的未来。因此，我们不仅在提交限价单时收集输入特征，还在订单提交之前收集特征。这些输入特征集共同代表市场状况，有助于预测限价单的成交概率。
为了处理输入特征的时间序列，需要特殊的神经网络结构。传统的前馈神经网络时静态模型，它们不具备对数据中的时间动态进行建模的能力。RNN时一类神经网络，专门设计用于模拟过去观察和未来观察之间的时间动态。在这项研究中，我们使用长短期记忆（LSTM）网络，这是一种有助于建立产期时间依赖性的特定RNN结构。
3.2 输入特征
每次对市场进行抽样时，都会收集下面概述的一组输入特征。
l 市场中的一般信息，例如一天中的时间、自上次交易以来的时间、中间价和买卖差价被收集为特征。
l 订单簿的深度表示股票在不同价格下的即时供应和需求。近端和近端前5个价格水平的深度（剩余股票数量）被计算并作为特征收集。
l 流量信息作为特征包含在哪，以捕获订单簿的演变。这些包括添加到限价订单簿的股票数量、执行的股票数量，以及自上次收集特征以来取消的股票数量。
l 计算交易和价格变化的强度度量并收集为特征。强度被建模为指数衰减函数，在交易的时间实例上增加。
这些输入特征对称地对待市场。换句话说，买入限价单和卖出限价单没有特征区分。“近端”是指限价单被提交到市场的一侧——如果限价单是买入，则市场的买入端就是近端。“远测”是限价单提交到市场的另一侧——如果限价单是买入，市场的要价侧是远侧。
3.3 危险率输出
限价单成交时间可以被概念化为生存分析中的一种“生存时间”，统计的一个分支，用于分析特定事件发生之前的持续时间，例如生物有机体的死亡或机械系统的故障。我们研究中定义分析的事件是限价订单的执行。在这些类型的分析中，风险函数通常用于模拟生存时间的分布。最简单的生存时间分布，即指数分布，由恒定的风险率建模。在这项研究中，为了对限价订单执行时间的分布进行建模，我们估计率多个时间间隔的恒定风险率。这种方法可以对比指数分布更普遍的分布建模，同时还保持易处理性。
4. 模型估计
本节概述了RNN模型的估计过程。包括关于数据源、生成合成限价单的模拟方法和最大似然估计的讨论。
4.1 纳斯达克之痒
我们的方法使用NASDAQ ITCH数据（参见NASDAQ[2010]）进行了测试，该数据提供了 III级市场数据。III级市场数据包含市场中发生的事件的消息提要。常见的改变限价订单簿的市场事件包括“添加订单”、“订单执行”、“订单取消”和“订单替换”。这些市场事件在整个交易时间内发生，并不断改变限价订单簿。“添加订单”事件消息的示例如表1所示。
从这些事件消息中，可以构建一个限价订单簿来计算每个价格水平的剩余股票总数（深度）。限价订单簿是动态的，每次发生新的市场事件时都会更新。
4.2 合成限价订单
为了估计新限价订单的成交时间，我们需要一组新限价订单、输入特征和在各种市场条件下提交的相关成交时间的数据集。人们可能会需求使用来自市场的真实限价单，但是有一些紧迫的问题：
l 审查：大多数限价订单在执行前被取消。这使得成交时间观察受到高度审查。
l 选择偏差：知情交易者可能有影响限价单提交的策略。这些策略可以基于短期价格预测等因素。此类订单的成交时间分布可能与不知情交易者的订单有很大不同。为了预测不知情交易者的成交时间，我们需要对不知情订单进行无偏的成交时间观察。
由于这些问题，我们选择模拟合成限价订单来生成数据。这些合成限价订单被假定为无穷小并且没有任何市场影响。我们将这些订单随机进行买卖，它们的提交时间在整个交易时间内统一抽样。然后将这些订单提交到限价订单簿同一侧的最佳价格水平。随着限价订单簿随时间演变，这些合成限价订单的队列位置也在订单簿中发生变化。我们跟踪这些头寸并不断检查成交条件。如果满足成交条件，那么我们认为限价订单已执行；如果从未满足成交条件且市场收盘，我们将限价订单视为未执行。
成交条件旨在跟踪限价订单的进度并确定其实际提交的成交时间。成交条件定义如下。
1.新限价单：
l 如果新的买入限价订单的价格高于合成卖出订单的价格，则合成卖出限价订单被执行。
l 如果新的限价卖单以低于合成买单的价格进入，则合成限价买单被执行。
2.新市价单：
l 如果市价订单与综合限价订单的价格不同，则适用上述相同的逻辑。
l 如果市价订单与合成限价订单的价格相同，则如果市价订单的大小合成限价订单前面的限价订单份额，则执行合成限价订单。否则合成限价单的排队位置前进。
3.取消：
l 如果取消发生在合成限价单之前，则限价单的队列位置前进。
这种模拟方法避免了上述两个真实限价单的问题。首先，由于合成限价单随时间统一提交，因此避免了交易策略引入的选择偏差。其次，由于合成限价单直到当天结束才会取消，因此大大减轻了对成交时间观察的审查。
图4给出了使用特定交易日美国银行历史数据合成限价单的图形描述。
4.3 最大似然估计
从风险率设置中，可以明确导出密度和累计分布。因此，可以为每个限制顺序计算对数似然，并使用最大似然估计来训练RNN。对数似然函数可以表示如下：
5.数值实验设置
本节概述了数值实验中使用的数据的详细信息，包括股票选择、限价订单模拟和训练测试拆分程序。介绍了描述性统计数据，并讨论了一些预测模式。
5.1 股票选择和实验设置
我们使用的数据是从2012年10月1日到2014年9月30日这502哥交易日数据。本研究选取了一组流动性高的大盘美股进行研究（表4）。对于每个交易日，在整个交易时间内统一选择的时间模拟1000个合成限价单。对于每个合成限价单，收集输入特征集并记录其执行结果。这些被用作监督学习算法的输入和输出。
为了估计成交时间分布，我们将时间轴分为10个区间（9个闭合区间和1哥半开半闭区间）。这些间隔的边界设置为合成成交时间的十分位数。
我们使用14个月的数据训练和测试RNN模型——前12个月作为训练数据，随后一个月用于验证，最后一个月作为测试数据。通过在验证数据集上提前停止来对模拟进行正则化——验证数据集上的性能在训练过程中受到监控，一旦性能停止改善，训练就会停止。此过程重复10次，训练、验证和测试数据每次提前一个月，直到数据周期结束（2014年9月30日）。一旦训练了RNN模型，就会在测试数据集上计算性能。
5.2 执行统计
以下统计数据是两年期间所有8只股票的平均值。在接下来的讨论中，我们将重点关注以下两个量。
5.3 可预测的模式
尽管限价单执行本质上是随机事件，单仍有一些特征表现出很强的可预测模式。这些模式激发了输入特征的选择和基准模型的构建。
一天中的时间：
交易强度显示盘中模式。在开市和收市前后最为强烈，在中午前后最为缓慢。这种一般模式也对限制订单执行有很大的影响。限价单在开市和收市前后执行得更快，成交概率更高，而在中午前后执行得更慢，成交概率耕低。为了演示这些模式，交易时间被分为5分钟的间隔，对于每个间隔，给定一分钟时间范围（h=1分钟）的所有综合限价订单的平均条件成交时间和成交概率绘制在图5，这种模式在不同的时间范围内持续存在。
队列不平衡：
队列不平衡（QI）是最高价格水平下队列长度之间的百分比差异。队列不平衡可以在数学上表示如下：
查看队列不平衡影响的另一种方法如下。交易不会随着时间的推移均匀发生。相反，当队列不平衡处于极值时，它们会更频繁地发生。图7说明了这一事实。左边的直方图是我们数据周期内整个交易日在均匀随机时间采样的队列不平衡情况。近/远侧也是随机选择的。很明显，直方图呈以0为中心的对称钟形。这意味着市场供需大部分时间接近平衡，极端失衡的情况极少发生。右边的直方图是仅在交易时刻采样的队列不平衡。近/远侧也是随机选择的。直方图仍然是对称的并且以0为中国女性，但它在极值（接近-1和1）处具有更高的浓度。
6.数值实验结果
本节概述了数值实验的结果。将RNN模型的性能与基准模型进行比较，并重新审视它们在第2.2节的交易问题中的应用。
6.1 基准模型
我们使用第5.2节中的两个相同指标，即成交概率和条件预期成交时间，将RNN的性能与基准模型进行比较。以下基准模型用于比较目的。
线性/逻辑回归：
预测订单是否会被执行是一个二元分类问题，而逻辑回归是一个自然的线性基准。预测条件预期成交时间是一个连续值预测问题，线性回归是一个自然的基准。这两个模型仅使用提交时收集的输入特征。
桶预测：
回归仅捕获数据中的线性模式。为了构建非参数基准，我们使用分桶经验方法作为估计量。基于第5.3节中的讨论，我们选择了一天中的时间和队列不平衡作为分桶的特征。
一天中的时间分为15分钟间隔，队列不平衡分为5分位数。每个桶是时间间隔和队列不平衡5分位数的交集。在每个桶中，订单是否被执行及其执行时间的简单经验方法被用作预测。
点估计器：
对于预估成交时间的问题，最简单的预估方法是对市场行情进行完全无条件的预测。我们将其称为点估计器，它是通过平均目标范围内所有订单的成交时间来计算的。
6.2 成交概率
为了使用各种模型评估成交概率预测的准确性，将接受者操作特征（ROC）曲线的曲线下面积（AUC）用作度量标准。
正如我们在表6中看到的，RNN在所有三个时间范围内都优于两个基准模型。随着时间范围的延长，所有三个模型的预测准确性都会降低，这表明成交概率在较短的时间范围内更具可预测性。
6.3 成交时间的条件预期
为了评估填充时间的条件期望预测的准确性，使用实际成交时间和估计成交时间之间的均方根误差（RMSE）作为度量。
正如我们在表7中看到的，RNN在所有三个时间范围内都优于所有基准模型。与成交概率预期类似，随着时间范围的延长，所有模型的预测精度都会降低，这表明成交时间在较短的时间范围内更具可预测性。
6.4 实施不足
在本节中，我们将重新审视第2.2节的交易问题，并证明更准确的成交概率预测会在减少实施缺口方面带来更好的交易策略。
数值结果：
表8显示来使用各种策略的每笔交易的平均实施不足。市价单策略是交易者在时间范围开始时提交所有交易的市价单。因为每笔交易的收益都是半价差，因为实施不足，时间跨度的长度根本不会影响这个策略。限价单策略是交易者在时间范围开市时为所有交易者提供限价单，如果限价单在时间范围结束时未执行，则放置清理交易者。对于更长的时间范围，限价单的执行概率更高，这导致执行缺口更低。这两种策略不需要任何预测建模。
我们将这些与基于使用三种不同模型的成交概率预测的策略进行比较——逻辑回归、桶预测和RNN模型。这三种策略遵循阈值策略及其各自的成交概率估计。表8显示来这五种交易策略在所有合成限价单上的平均实施不足。
从表8中可以看出，使用任何预测模型都可以显著减少实施不足，RNN在所有三个时间范围内产生最佳性能。这些减少部分是由于更准确的成交概率预测，但也部分是由于更小的清理成本。根据经验，与其他模型相比，RNN始终产生较低的清理成本（表9）。这表明当RNN错误地预测限价单执行时，价格不会像基准模型做出相同搞得错误预测时那样向另一个方向移动那么远。对于更长的时间范围，因为价格有更多时间进一步移动，清理成本变得更高。
市价单和限价单之间的选择可以看作是立即执行和价格溢价之间的权衡。要做出明智的选择，必须考虑限价单执行的不确定性，在这项研究中，我们开发来一种数据驱动的方法，通过估计限价单成交时间的分布来预测成交概率。
为了生成一个无偏差的限价单成交时间数据集，我们使用纳斯达克 ITCH历史数据集来模拟合成限价单，跟踪它们的位置，并记录它们的成交时间。为了估计成交时间的饿分布，我们构建来一个RNN来预测时间轴上预定间隔的危险率。RNN产生显著的可预测性，比基准模型更准确。这种预测改进也具有经济价值。在原型交易问题中，当交易策略由RNN实施时，它会产生最低的实施不足。
本研究在以下方面与许多其他研究不同：
1.据我们所知，这是第一项预测限价单成交时间分布的研究。
2.通过使用数据驱动的方法，我们在最小的模型假设下运作。
3.我们使用RNN结合过去的订单流信息进行预测。
以下是关于本研究与现行的一些评论：
1. 我们当前的方法仅提供提交给最佳买入价/卖出价的限价单的估计。之前的研究发现执行结果对限价很敏感，因此使用我们当前的模型来提供在其他价格水平提交的限价单的估计是不合适的。可以通过将本文扩展到多个价格水平来进行进一步的研究。这将有助于评估限价和成交概率这件的进一步权衡。
2. 假设合成限价单是无穷小的并且没有任何市场影响。这也意味着不能部分填写合成限价单。然而，之前的研究表明，限价单的规模不会显著影响执行结果。