在高频交易中,关于limit order book(LOB)的动态建模是一个非常重要的问题,如果能有一个模型可以很好地描述LOB随时间的演化,那么就能从微观上更好地理解价格的变化机理,从而更好地指导高频交易。这篇文章的内容主要来自《Trades, Quotes and Prices: Financial Markets Under the Microscope》的Part III,它从最基本的模型出发,逐步深入地介绍一些LOB模型,并利用这些理论模型来解释限价订单簿的形成与演化。
整体来说,这些模型会从限价订单薄的本质——订单队列入手进行建模,从一个订单队列的dynamic出发,逐步深入地研究订单的到达、撤销和执行等事件对于订单队列的影响,然后再由此扩展到关于LOB的价格变动,从而实现对于微观价格变化的理论建模。接下来我们就开始具体介绍LOB的建模,关于limit order book 的概念这里就不再过多介绍了,不了解的同学可以自行找资料学习。
Zero-Intelligence Modeling
显然,对一个LOB的dynamic进行完整的建模是一件很复杂的事情,因为LOB是由市场上所有的交易者发出的订单形成的,而我们不可能去估计每一个交易者的个体行为,因此为了使建模变得可行,我们这里假设所有的订单的行为都是随机产生的,即订单的到达、撤销和执行等行为都可以由某些随机过程来描述。当然,这样的假设并不符合实际,我们交易者通常是按照某些策略(strategy)来做行动的,因此这样的基于随机性假设的建模也被叫做零智能建模(zero-intelligence modeling)。虽然这样的假设很简单,但是却能够帮助我们对LOB进行建模,而且在一些特定条件下,其理论结果与实际市场表现符合地很好。
The Master Equation
通过上面的介绍我们知道,价格的变动的前提是最优买单或卖单订单队列变空,因此如果我们能够对最优买单和卖单队列同时建模,那么就能够用模型估计价格下一次变动的方向及其概率,而这也是高频交易中的核心问题。由于该部分公式较多,受限于篇幅,这里只简单介绍分析思路及部分结果,想深入了解的同学可以看原书第7章。
价格下一次变动的问题其实可以看做为两条最优队列之间的the race to the bottom,即两条队列变空的“竞赛”。如果最优买单队列变空,那么价格就有一定概率减小(参考上一节的情况2),因此我们可以通过上述模型研究the race to the bottom问题,最终估计出价格上涨或下跌的概率 。
具体来说;令最优买单和卖单队列的长度分别为 和 ,我们要研究的问题类似一个二维粒子的随机运动,我们要研究它会先在哪一个维度到达0。对于一个初始位置为 的随机粒子,其运动轨迹如下图所示,其中左图为完全随机游走的粒子(即买单和卖单队列的dynamic相互独立),右图为真实股票CSCO的运动轨迹。
首先看真实股票的统计结果,考虑到真实样本在某些状态 上的数量可能很少甚至缺失,所以这里将二维的 转化为一维的queue imbalance ratio ,用来表示买卖队列长度的不平衡,而且无需再针对于不同股票和时间段做标准化。在真实数据上的统计结果如下所示,其中虚线为模拟数据的结果(两队列长度是独立的随机游走),可以看出虽然价格在下一次变动时为上涨的概率与 呈正相关,但简单的随机游走模型还是与真实情况存在较大差异。