第一章:市场微观结构——订单簿的构成

做量化交易,尤其是大单交易,你第一个要搞清楚的,就是订单簿。

说白了,订单簿就是交易所里那个实时更新的「挂单墙」。所有想买的人和想卖的人,都在上面挂着价格和数量。我刚开始做算法交易时,总觉得这东西就是个简单的价格列表。后来有一次,我挂了一笔大单,结果市场瞬间滑了十几个tick,我才意识到——订单簿的深度和结构,直接决定了你的交易成本。

1.1 限价单与市价单

订单簿里只有两种订单:限价单和市价单。理解它们的区别,是冲击成本建模的第一步。

  • 限价单(Limit Order):你指定一个价格,比如「我100块买」。只有价格到了,才会成交。它提供流动性,挂在订单簿上等人来吃。
  • 市价单(Market Order):你不指定价格,直接说「我现在就要买」。它会立刻吃掉订单簿上最便宜的卖单。它消耗流动性。

嗯,这里要注意:市价单是冲击成本的直接来源。你想想看,一个大买家冲进来,把卖一、卖二、卖三全部吃掉,价格自然就被推高了。这就是所谓的「市场冲击」。

核心概念:限价单提供流动性,市价单消耗流动性。大单交易的核心,就是如何用限价单来「伪装」市价单的执行意图。

1.2 买卖价差(Bid-Ask Spread)

买卖价差,就是订单簿上最优买价和最优卖价之间的差距。比如买一挂99.98,卖一挂100.00,价差就是0.02。

这个指标,我习惯用它来快速判断市场的流动性状况。价差越小,说明市场越活跃,流动性越好。价差越大,说明市场冷清,你进去交易的成本就越高。

我曾经在某个小币种上吃过亏。当时价差只有0.01,我以为流动性很好。结果一进去,发现订单簿上只有薄薄一层,后面全是空的。大单进去,直接打穿了三个价位。所以,光看价差不靠谱,还得看深度。

价差大小 市场状态 大单交易建议
< 0.01% 高度流动 可直接使用算法交易
0.01% - 0.05% 中等流动 需要拆分订单,控制节奏
> 0.05% 低流动 建议使用限价单,耐心等待

1.3 市场深度(Market Depth)

市场深度,就是订单簿上每个价位挂了多少量。它告诉你:如果你想买1000股,价格会推到什么位置。

我个人习惯用「深度图」来直观感受。下面这张图,就是典型的订单簿深度结构:

订单簿深度结构图 买一 100.00 买二 99.99 买三 99.98 卖一 100.01 卖二 100.02 卖三 100.03 价差 = 0.01 ← 买盘深度(流动性提供) | 卖盘深度(流动性消耗) →

这张图里,左侧是买盘(限价买单),右侧是卖盘(限价卖单)。宽度代表每个价位的挂单量。你看,买一挂了100股,买二挂了60股,买三只有40股。这说明买盘深度在逐渐变薄。

如果你要卖出一大笔,价格会从买一100.00开始,一路往下打穿买二、买三。每打穿一层,价格就滑一个tick。这就是冲击成本的核心来源。

实战技巧:我建议你在交易前,先拉一下订单簿的「累积深度曲线」。它能告诉你:在某个价格范围内,总共能吃掉多少量。这个曲线,是冲击成本建模的基础数据。

1.4 订单簿的动态变化

订单簿不是静止的。它每时每刻都在变化——有人挂单,有人撤单,有人吃单。我见过最极端的例子,是某个消息出来后,订单簿在0.1秒内完全变了样。

所以,做冲击成本建模时,不能只看静态的订单簿快照。你得考虑订单簿的「恢复速度」。比如,你吃掉了一层卖单,新的卖单会不会很快补上来?如果补得快,冲击成本就小。如果补得慢,价格就会持续偏离。

嗯,这里有个坑:很多新手以为订单簿深度是固定的。其实不是。高频做市商会根据市场情况动态调整挂单。你吃单的动作本身,就会改变订单簿的形态。这就是所谓的「反馈效应」。

避坑指南:我曾经在回测时,直接用历史订单簿快照来模拟大单交易。结果实盘时发现,实际冲击成本比回测高了30%。原因就是回测没有考虑订单簿的动态变化。记住:历史订单簿只是「当时」的静态快照,不代表「你交易时」的实时状态。

1.5 小结

订单簿是市场微观结构的核心。限价单和市价单的博弈,决定了价差和深度。而价差和深度,直接决定了你的大单交易成本。

我个人习惯,每次交易前先花30秒扫一眼订单簿:价差大不大?深度够不够?有没有大单在某个价位堆积?这些信息,能帮你快速判断当前是否适合进场。

下一章,我们会深入讨论冲击成本的数学建模。但在此之前,先把订单簿的结构吃透。这是所有模型的地基。

蓝海数据掘金营 | 专注资料整理