市场微观结构:订单簿、价差与高频视角
本课目标:理解限价单簿的运行机制与价差、深度的含义,认识 tick 级数据的处理量级和订单不平衡等微观结构指标的预测意义,并把高频视角的洞察反哺给低频策略。
限价单簿:价格是怎么形成的
日线数据把一天压缩成四个价格,而真实的价格形成过程发生在限价单簿(Limit Order Book)里。A 股是典型的订单驱动市场:所有买卖限价单按”价格优先、时间优先”排队,买一是最高买价,卖一是最低卖价,两者之间就是买卖价差。
订单分两类,角色完全不同:
- 限价单:挂在簿上等待成交,为市场提供流动性,代价是不一定成交、且排队时暴露信息。
- 市价单(或对价单):立刻吃掉对手方挂单,消耗流动性,代价是支付价差甚至更差的价格。
每一笔成交都是”耐心的挂单者”与”着急的吃单者”的相遇。理解这一点,价格就不再是一条抽象曲线,而是买卖双方排队博弈的实时结果。A 股行情快照还提供买卖各五档或十档的价格与挂单量,这就是大多数研究者能看到的订单簿切面。
价差与深度:流动性的两个维度
衡量一只股票”好不好交易”,至少要看两个维度:
| 维度 | 含义 | 对交易的影响 |
|---|---|---|
| 买卖价差 | 卖一价减买一价 | 每次”立即成交”的固定过路费 |
| 深度 | 各档位挂单量 | 决定大单会把价格推多远(冲击成本) |
价差窄、深度厚的股票,进出成本低;价差宽、深度薄的股票,回测里的”理论收益”很大一部分会被交易本身吃掉。价差从哪来?做市与挂单方要求补偿三类成本:处理订单的固定成本、持有头寸的存货风险,以及最重要的逆向选择成本——挂单者随时可能被”知道得更多的人”成交,价差是他们向全市场收取的保险费。
这解释了一个常见现象:重大消息前后价差会突然放宽、深度变薄——挂单者担心逆向选择,集体后撤。流动性不是常数,而是随信息环境呼吸的变量,且往往在你最需要它的时候消失。
tick 与快照数据:先掂量一下工程量
从日频转向日内,数据量级完全不同。A 股全市场一天的逐笔成交加逐笔委托有数亿条记录,即便只用三秒一档的行情快照,单日也在数千万行级别。这带来实际的工程约束:
- 存储要用列式格式(如 Parquet)并按日期、代码分区,CSV 在这个量级不可行。
- pandas 逐行处理会慢到不可用,需要向量化、分块处理,或换用更高效的计算引擎。
- 清洗规则完全不同:集合竞价时段、涨跌停封板、快照乱序与丢包,都需要专门处理。
import pandas as pd
def snapshot_features(df: pd.DataFrame) -> pd.DataFrame: """从五档快照计算基础微观结构指标""" out = pd.DataFrame(index=df.index) out['spread'] = df['ask1'] - df['bid1'] out['mid'] = (df['ask1'] + df['bid1']) / 2 out['rel_spread'] = out['spread'] / out['mid'] bid_vol = df[[f'bid_vol{i}' for i in range(1, 6)]].sum(axis=1) ask_vol = df[[f'ask_vol{i}' for i in range(1, 6)]].sum(axis=1) out['order_imbalance'] = (bid_vol - ask_vol) / (bid_vol + ask_vol) return out建议在动手前先明确研究目标:是要做日内信号,还是只为低频策略估计交易成本?后者需要的数据量小得多。
订单不平衡与短周期预测
微观结构研究最经典的发现之一:订单流不平衡(买方主动成交量与卖方主动成交量之差,或买卖盘挂单量之差)对未来极短周期的价格变动有预测力。直觉很朴素——买压大于卖压时,价格短期内更可能上移。
类似的微观结构指标还有:价差变化(信息事件的前兆)、挂单撤单频率(高频参与者的活跃度)、成交在买卖价的分布(主动买卖力量对比)、大单拆分痕迹(机构建仓的脚印)。需要泼的冷水是:这类信号的预测周期通常以秒或分钟计,信号强度随时间快速衰减,只有交易成本和延迟控制到位的参与者才能变现。对普通研究者,它们更大的价值在于理解市场,而非直接构建策略。
A 股高频的现实约束
把海外高频交易的图景直接搬到 A 股会失真,几个关键约束:
- T+1 制度:股票当日买入不能当日卖出,纯日内往返的股票高频策略在现货端基本不成立。日内交易的空间主要在期货、期权和可转债(T+0 品种)。
- 交易成本结构:卖出时的印花税加上佣金、经手费,对高换手策略是硬约束。任何高频信号都要在扣除全部成本后重新评估。
- 涨跌停与停牌:极端行情下价格被制度截断,流动性瞬间归零,信号与执行都会失真。
这些约束共同决定了:A 股市场上微观结构研究的主要产出,往往不是独立的高频策略,而是执行与成本优化能力。
高频视角对低频策略的启发
即使你只做周频、月频策略,微观结构视角依然值钱:
- 成本模型更真实:用价差和深度数据为每只股票建立差异化的成本假设,替代”千分之几一刀切”,小市值股票的回测结论可能因此反转。
- 执行算法有依据:调仓单拆散到日内、参考成交量分布执行(如 VWAP 思路),减少冲击成本——这直接提升策略净收益,且没有容量代价。
- 容量估计有抓手:策略能管多大规模,本质由持仓股票的日均成交额和深度决定,微观数据给出定量答案。
- 信号时点更干净:理解集合竞价与尾盘的特殊性后,你会重新审视用收盘价回测、次日开盘成交之间的裂缝。
本文为方法讨论,不构成投资建议。
本课小结
- 价格形成于限价单簿的排队博弈,限价单提供流动性、市价单消耗流动性。
- 价差与深度是流动性的两个维度,逆向选择成本是价差的核心来源,流动性会在关键时刻收缩。
- tick 和快照数据的量级要求列式存储与向量化处理,动手前先明确研究目标。
- 订单不平衡等指标对秒到分钟级价格有预测力,但变现门槛高;T+1 和成本结构限制了 A 股股票端的高频空间。
- 微观结构对低频策略的最大价值:真实的成本模型、更好的执行和有依据的容量估计。
动手练习:取一只流动性好和一只流动性差的股票各一天的五档快照数据:(1) 计算全天相对价差和五档总深度的时间序列,对比两只股票的日内形态(开盘、午间、尾盘);(2) 计算订单不平衡指标,检验其与未来 1 分钟中间价变动的相关性;(3) 假设你要在 30 分钟内买入 500 万元,基于深度数据粗估两只股票的冲击成本差异。