第二章 市场微观结构基础:订单簿、价差与深度

做量化交易,你得先懂市场到底长什么样。

很多人一上来就研究各种策略,结果连订单簿都看不懂。我刚开始做高频交易那会儿,就吃过这个亏。今天咱们把市场微观结构的基础打牢,后面构建成本模型才不心虚。

2.1 订单簿结构:市场的“实时快照”

订单簿,说白了就是所有买卖挂单的集合。交易所维护着两个队列:买单队列和卖单队列。

买单按价格从高到低排,谁出价高谁排前面。卖单相反,谁卖得便宜谁优先。价格相同就看时间,先到先得。

我习惯把订单簿想象成一个“价格阶梯”。每一档价格上,都堆着一定数量的订单。

核心概念:

  • 买一(Bid1):最高的买入价格
  • 卖一(Ask1):最低的卖出价格
  • 价差(Spread):卖一 - 买一
  • 市场深度:每个价格档位上的挂单总量

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

价格 卖单量(手) 买单量(手) 价格
10.05 200
10.04 150
10.03 100
10.02 80 10.02
10.01 120 10.01
10.00 300 10.00

这里买一是10.02,卖一是10.03,价差只有1分钱。市场深度方面,卖单在10.03到10.05之间总共450手,买单在10.00到10.02之间总共500手。

我的经验: 做回测时,千万别只看成交价。我见过太多人用收盘价做策略,实盘一跑就崩。为什么?因为订单簿里的深度和价差,才是真实流动性的体现。

2.2 买卖价差:交易成本的“第一道坎”

价差就是你买入和卖出之间的价格差。你想想看,如果你在买一价买入,立刻在卖一价卖出,你亏的就是这个价差。

价差越小,流动性越好。像茅台这种大盘股,价差经常只有1分钱。但一些小盘股,价差可能达到几毛甚至几块。

为什么会这样?

因为做市商和套利者不愿意承担风险。流动性差的股票,他们挂单的价差就大,作为风险补偿。

避坑指南: 我曾经在回测中忽略价差,结果策略年化收益看起来有30%。实盘一跑,扣除价差成本后只剩8%。嗯,从那以后我再也不敢忽略价差了。

计算价差有两种方式:

  • 绝对价差:卖一价 - 买一价
  • 相对价差:绝对价差 / 中间价 × 100%

我个人习惯用相对价差,因为不同价格的股票,绝对价差没有可比性。比如1分钱的价差,对10块的股票是0.1%,对100块的股票只有0.01%。

2.3 市场深度:你能吃下多少“货”

市场深度衡量的是,在某个价格附近,有多少订单等着成交。

深度越大,你越容易大额交易而不影响价格。反之,深度浅的市场,你稍微买多一点,价格就蹭蹭往上涨。

我常用“深度斜率”这个概念。把订单簿的价格和累计成交量画成曲线,斜率越陡,说明深度越差。

# 计算累计深度
def calc_depth(order_book, side='ask'):
    """
    order_book: 订单簿数据,格式为 [(price, volume), ...]
    side: 'ask' 表示卖单,'bid' 表示买单
    """
    cum_vol = 0
    depth_profile = []
    
    for price, vol in order_book:
        cum_vol += vol
        depth_profile.append((price, cum_vol))
    
    return depth_profile

# 示例:卖单深度
ask_book = [(10.03, 100), (10.04, 150), (10.05, 200)]
depth = calc_depth(ask_book, 'ask')
print(depth)
# 输出:[(10.03, 100), (10.04, 250), (10.05, 450)]

你看,在10.03只能吃100手,到10.05就能吃450手。这就是深度分布。

关键指标:

  • 深度1%:价格变动1%时,能成交的总量
  • 深度斜率:价格每变动一个最小变动单位,成交量的变化
  • 订单簿不平衡:买单总深度 vs 卖单总深度

2.4 订单类型:你的“武器库”

做交易不能只会用市价单。我见过太多新手,上来就市价单猛干,结果滑点吃到吐。

2.4.1 市价单(Market Order)

市价单就是“不管价格,立即成交”。你下单时,系统会从最优价格开始,一路吃掉对手方的订单,直到你的数量全部成交。

优点:成交速度快。缺点:你无法控制成交价格。

我记得有一次,一个朋友用市价单买一只小盘股,本来想买1000手,结果买一只有200手,剩下的800手硬是把价格从10块推到了10.15。这就是典型的“滑点灾难”。

2.4.2 限价单(Limit Order)

限价单是“我只接受这个价格或更好的价格”。你挂一个买单,价格设10块,那只有价格≤10块时才会成交。

限价单的好处是你能控制成本。坏处是可能一直成交不了。

我个人的习惯是:

  • 做短线、抢流动性:用市价单
  • 做中长线、控制成本:用限价单
  • 做高频、做市:限价单是主力

2.4.3 冰山订单(Iceberg Order)

冰山订单,顾名思义,只露出水面一小部分。你实际想买10000手,但只显示100手。成交完100手,再露出100手,直到全部成交。

为什么要用冰山订单?

你想想看,如果你直接挂10000手买单,市场一看,哇,这么大买盘,价格肯定要涨。做市商和套利者会立刻把价格推高,你就买贵了。

冰山订单就是为了隐藏真实意图。

实战技巧: 我曾经用冰山订单在港股市场建仓。当时要买50万股,分成了500个冰山子单,每个只显示1000股。花了整整一个下午才建完仓,但价格只推高了0.2%。如果用市价单,估计要推高2%以上。

2.5 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你看一遍,应该能对市场微观结构有个整体认识。

市场微观结构知识体系 市场微观结构 订单簿结构 买卖价差 市场深度 订单类型 买一/卖一 价格优先 时间优先 绝对价差 相对价差 流动性指标 深度斜率 深度1% 订单簿不平衡 市价单 限价单 冰山订单

这张图把订单簿、价差、深度和订单类型串在了一起。你记住,这四个东西是互相影响的。价差影响你的交易成本,深度决定你能交易多大头寸,订单类型则是你控制成本的手段。

本章核心要点:

  • 订单簿是市场的“骨架”,价差和深度是“血肉”
  • 价差是交易成本的第一道坎,千万别忽略
  • 深度决定了你的交易对市场的影响
  • 选择合适的订单类型,能帮你省下不少钱

好了,市场微观结构的基础就讲到这里。这些概念看着简单,但真正用好它们,需要大量的实盘经验。下一章我们会把这些知识用到交易成本模型的构建中,到时候你就知道今天学的东西有多重要了。


公众号:蓝海资料掘金营,微信deep3321