2、市场微观结构:订单簿(Order Book)深度解析

做高频做市,说白了就是在跟订单簿打交道。你盯着的那些跳动的数字,背后是无数交易者的博弈。我刚开始接触这个领域时,觉得订单簿不就是一堆买单卖单嘛,有什么好研究的?后来被市场狠狠教育了几次,才明白这里面门道深得很。

2.1 订单簿的本质

订单簿,就是交易所用来记录所有未成交订单的电子账本。它实时反映了市场上所有参与者挂出的限价单。我个人习惯把订单簿想象成一个「价格-数量」的二维矩阵,每一档价格上堆积着多少筹码,一目了然。

举个例子,假设某只股票当前订单簿长这样:

卖五 10.05 2000
卖四 10.04 1500
卖三 10.03 3000
卖二 10.02 2500
卖一 10.01 1000
—— —— ——
买一 10.00 800
买二 9.99 1200
买三 9.98 2000
买四 9.97 1800
买五 9.96 2500

这里卖一10.01元就是当前最低的卖出报价,买一10.00元是最高的买入报价。两者之间的价差,就是做市商最关心的「Spread」。我在项目中遇到过,有些流动性差的品种,Spread能大到几个tick,这时候做市策略就得格外小心。

2.2 限价单与市价单

这两种订单类型,是订单簿运转的基础。你想想看,没有它们,市场就没法撮合了。

限价单(Limit Order)

限价单就是你指定一个价格,只有市场达到这个价格时才会成交。它提供了流动性,挂在订单簿上等着别人来吃。做市商主要就是靠挂限价单来赚取价差收益的。

限价单有个特点:价格优先,时间优先。同样价格,先挂的单子先成交。我建议做高频的朋友,一定要关注自己的订单在队列中的位置。有时候就差那么几微秒,你的单子就被排在后面了。

市价单(Market Order)

市价单就是「不管价格,立即成交」。它会直接吃掉订单簿上最优的对手盘挂单。市价单消耗流动性,是限价单的对手方。

为什么会这样?因为市价单的成交价格是不确定的。如果订单簿上卖一只有1000股,你市价买入2000股,那剩下的1000股就得用卖二的价格成交。这就是所谓的「滑点」。我曾经吃过这个亏,一次大单下去,成交均价比预期高了两个tick,利润直接打没了。

核心要点:限价单提供流动性,市价单消耗流动性。做市商本质上是「流动性提供者」,通过限价单赚取买卖价差。

2.3 盘口数据:Bid/Ask/Last

盘口数据是交易者最常看的三个数字:

  • Bid(买价):当前最高的买入报价,即买一的价格
  • Ask(卖价):当前最低的卖出报价,即卖一的价格
  • Last(最新成交价):最近一笔成交的价格

这三个数据构成了市场最基本的快照。我个人习惯用Bid和Ask的中间价(Mid Price)作为「公允价格」的参考。但要注意,中间价并不等于真实成交价,它只是理论上的均衡点。

举个例子,如果Bid=10.00,Ask=10.02,那中间价就是10.01。但实际成交价可能在10.00到10.02之间波动,取决于买卖双方的博弈。

小技巧:当Last价格频繁在Bid和Ask之间跳动时,说明市场流动性好,买卖活跃。如果Last长时间停留在Bid或Ask一侧,说明市场有偏向,可能有大单在推动。

2.4 Tick数据与Level2数据

这两个概念,很多新手容易搞混。我简单说说它们的区别。

Tick数据

Tick数据记录的是每一笔成交的详细信息,包括:

  • 成交时间(精确到毫秒甚至微秒)
  • 成交价格
  • 成交量
  • 成交方向(买方主动还是卖方主动)

Tick数据是「事后」的,它告诉你已经发生了什么。做回测时,Tick数据是黄金标准,因为它包含了最细粒度的市场信息。

Level2数据

Level2数据是订单簿的深度快照,它告诉你「现在」市场上挂着什么单子。通常包括:

  • 前10档或前50档的买卖挂单
  • 每档价格上的挂单数量
  • 有些交易所还会提供逐笔委托数据

Level2数据是「实时」的,做市策略主要依赖它来决策。我建议做高频的朋友,一定要接入Level2数据,只看盘口那三档是远远不够的。

注意:Tick数据和Level2数据的数据量差异巨大。Tick数据每秒可能只有几十条,而Level2数据每秒可能有上千条更新。处理Level2数据时,一定要考虑性能问题,否则你的策略会跟不上市场变化。

2.5 订单簿的核心逻辑

说了这么多,我们来画一张图,把订单簿的核心逻辑串起来。

订单簿核心逻辑 限价单 提供流动性 市价单 消耗流动性 订单簿 盘口数据 Bid / Ask / Last Tick数据 逐笔成交记录 Level2数据 订单簿深度快照 做市策略

这张图把整个流程串起来了。限价单和市价单进入订单簿,订单簿产生盘口数据、Tick数据和Level2数据,这些数据再输入到做市策略中,策略根据这些信息决定如何调整报价。

嗯,这里要注意一点:做市策略不是简单地看盘口数据就完事了。你需要同时分析Tick数据中的成交方向,以及Level2数据中的挂单变化,才能判断市场的真实意图。我见过不少新手,只看Bid/Ask就敢下单,结果被大单砸得头破血流。

实战建议:在做市策略中,至少需要同时监控以下三个指标:
1. 买卖价差(Spread)—— 决定你的利润空间
2. 订单簿深度(Depth)—— 判断市场承接能力
3. 成交方向(Trade Direction)—— 识别主力意图

好了,这一章的内容就到这里。市场微观结构是高频做市的基石,理解透了,后面的策略才能站得住脚。

专注资料整理