第二章 市场微观结构:订单簿、买卖价差、市场深度、流动性、交易成本

做市商这行当,说白了就是在市场的缝隙里找饭吃。你赚的不是方向判断的钱,而是流动性服务的钱。那这「缝隙」到底长什么样?嗯,这就是我们今天要聊的市场微观结构。

我个人习惯把市场微观结构比作一个「活着的生态系统」。订单簿是地形,买卖价差是门槛,市场深度是护城河,流动性是水源,交易成本是过路费。你只有把这五样东西摸透了,才能知道自己的策略到底在跟谁博弈。

2.1 订单簿:市场的实时心电图

订单簿(Order Book)是所有限价单的集合。它记录了当前市场上所有未成交的买单和卖单。我刚开始做高频策略时,总觉得看K线就够了,直到有一次在流动性极差的币对上做市,K线显示价格纹丝不动,但订单簿里已经暗流涌动——嗯,从那以后我再也不敢只看K线了。

订单簿的核心结构其实很简单:

  • 买单(Bids):按价格从高到低排列,最高价叫「买一」
  • 卖单(Asks):按价格从低到高排列,最低价叫「卖一」
  • 价差(Spread):卖一价减去买一价

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

价格 买单数量 卖单数量
100.05 0 500
100.04 0 300
100.03 0 200
100.02 100 0
100.01 400 0
100.00 600 0

这里买一是100.02,卖一是100.03,价差只有1分钱。看起来流动性不错对吧?但别急,我们接着往下看。

我的小技巧: 做市商最怕的不是价差大,而是订单簿「断层」。如果买一到买二之间差了10个tick,那说明市场深度不够,你的挂单很容易被吃掉。

2.2 买卖价差:做市商的饭碗

买卖价差(Bid-Ask Spread)就是你赚的「过路费」。你以买一价买入,以卖一价卖出,中间的差价就是你的利润空间。但这里有个坑——价差不是固定的。

影响价差的因素主要有三个:

  1. 波动性:市场越动荡,做市商越不敢挂单,价差自然拉大。我记得2020年3月美股熔断那会儿,很多股票的价差直接翻了10倍。
  2. 流动性:交易量越大的品种,价差通常越小。比如比特币在币安上的价差可能只有0.01%,但在小交易所可能高达0.5%。
  3. 信息不对称:如果市场上有大资金在暗处盯着,做市商会主动拉大价差来保护自己。

你想想看,如果价差是1分钱,你每做一次双边交易(买+卖)就赚1分钱。但如果你一次交易1000股,那就是10块钱。嗯,做市商赚的就是这种「薄利多销」的钱。

避坑指南: 我曾经在某个山寨币上做市,价差看起来很大(0.5%),但实际成交时发现,我的买单刚挂上去就被吃掉了,然后价格瞬间下跌——这是典型的「钓鱼单」陷阱。后来我才明白,价差大不一定代表利润高,还要看订单簿的「真实深度」。

2.3 市场深度:你的护城河有多宽

市场深度(Market Depth)衡量的是在某个价格水平上,有多少订单在等着成交。说白了,就是你的订单能被「消化」多少而不引起价格大幅波动。

深度通常用「深度图」来展示。我个人习惯用Python画一个简单的深度图,代码大概长这样:

import matplotlib.pyplot as plt

# 假设的订单簿数据
bids = [(100.00, 600), (100.01, 400), (100.02, 100)]
asks = [(100.03, 200), (100.04, 300), (100.05, 500)]

# 计算累计深度
bid_prices, bid_volumes = zip(*bids)
ask_prices, ask_volumes = zip(*asks)

bid_cumsum = [sum(bid_volumes[:i+1]) for i in range(len(bid_volumes))]
ask_cumsum = [sum(ask_volumes[:i+1]) for i in range(len(ask_volumes))]

plt.step(bid_prices, bid_cumsum, where='post', label='Bids')
plt.step(ask_prices, ask_cumsum, where='post', label='Asks')
plt.xlabel('Price')
plt.ylabel('Cumulative Volume')
plt.legend()
plt.show()

这个图能告诉你:如果你想买入500股,需要吃掉卖一到卖三的所有订单,价格会从100.03推到100.05。这个「价格冲击成本」就是市场深度不足的代价。

核心观点: 做市商不是跟市场对赌,而是跟「流动性不足」对赌。你的策略越能适应不同的深度环境,活得就越久。

2.4 流动性:市场的血液

流动性(Liquidity)是个很玄的概念。你很难用一个数字定义它,但你能感觉到它——当你挂单后很快成交,那就是流动性好;当你挂单半天没人理,那就是流动性差。

衡量流动性的常用指标有:

  • 买卖价差:越小流动性越好
  • 市场深度:越深流动性越好
  • 成交量:越大流动性越好
  • 订单簿斜率:越陡峭流动性越差

我建议你在做策略回测时,一定要考虑流动性的变化。比如,早盘和尾盘的流动性通常比午盘好,大行情前后的流动性会突然枯竭。这些细节,直接决定了你的策略是赚钱还是亏钱。

2.5 交易成本:隐形的杀手

交易成本(Transaction Cost)不只是手续费。它包含三部分:

  1. 显性成本:佣金、印花税、过户费等。这些是明码标价的。
  2. 隐性成本:滑点(Slippage)、市场冲击成本。这些才是大头。
  3. 机会成本:因为流动性不足而无法成交的损失。

举个例子,你挂了一个买单,价格是100.02,但市场突然拉升,你的单子没成交。等你撤单重新挂时,价格已经到100.05了。这个「没赚到的钱」就是机会成本。

我见过很多新手做市商,只盯着手续费算账,结果被滑点吃得干干净净。说白了,交易成本管理才是做市商的核心竞争力。

我的经验: 在回测中,我通常会把滑点设为价差的1.5倍。为什么?因为实际交易中,你的订单不一定总能吃到最好的价格。留点余量,总比实盘亏钱好。

2.6 知识体系总览

下面这张图是我自己梳理的市场微观结构知识框架,你可以把它当作本章的「地图」:

市场微观结构 订单簿 买卖价差 市场深度 流动性 交易成本 限价单集合 买一/卖一 做市商利润来源 波动性影响 价格冲击成本 深度图分析 成交量/价差/深度 时间维度变化 显性+隐性+机会 滑点管理 核心:做市商赚的是「流动性服务」的钱 不是方向判断,而是微观结构套利

这张图把五个核心概念串起来了。你仔细看就会发现,它们之间是互相影响的——价差影响深度,深度影响流动性,流动性又反过来影响交易成本。做市商策略,本质上就是在这些变量之间找平衡。

好了,这一章的内容就到这里。记住一句话:市场微观结构不是理论,是你每天实盘交易时面对的「战场地形」。下一章我们会把这些概念落地到具体的做市商策略中,到时候你会看到它们是怎么变成真金白银的。


专注资料整理