一句话结论:五档盘口最有价值的地方,不是单独观察“买一到买五”,而是把各档价格与挂单量转换成订单不平衡、盘口深度、价差、压力方向和流动性等可计算特征,再将这些特征作为量化策略的输入。
摘要
五档盘口提供的是某一时刻买卖两侧有限档位的价格与挂单信息。对于量化系统来说,它比单纯的最新价多了一层市场微观结构信息:市场愿意在哪些价格挂单、买卖两侧的数量是否失衡、盘口距离当前价格有多远。本文从订单不平衡、盘口深度、买卖价差、加权盘口价格等角度拆解五档盘口指标,并说明如何避免把静态盘口数据误读成交易信号。QuantDash 官方公开能力包括五档盘口、实时行情快照以及批量五档盘口查询,可作为这类数据接入方案之一。
1. 先明确:五档盘口到底提供了什么信息?
五档盘口可以理解为当前买方和卖方最靠近市场价格的若干层限价委托信息。
一个简化的数据结构可以表示为:
| 1 | Bid1 | BidVol1 | Ask1 | AskVol1 |
| 2 | Bid2 | BidVol2 | Ask2 | AskVol2 |
| 3 | Bid3 | BidVol3 | Ask3 | AskVol3 |
| 4 | Bid4 | BidVol4 | Ask4 | AskVol4 |
| 5 | Bid5 | BidVol5 | Ask5 | AskVol5 |
真正进入策略的通常不是这张表本身,而是从表中提取出来的特征。
例如:
- 买卖一价差;
- 五档买量;
- 五档卖量;
- 买卖总量差;
- 买卖量比;
- 各档深度;
- 加权盘口价格;
- 盘口不平衡程度。
这里有一个重要边界:五档盘口描述的是有限深度的当前盘口,并不等于完整订单簿,也不能直接等同于逐笔成交或更深层级的市场深度。
2. 第一类指标:买卖盘口不平衡
最直观的指标是买卖量不平衡。
设:
B = BidVol1 + BidVol2 + … + BidVol5
A = AskVol1 + AskVol2 + … + AskVol5
可以定义:
Order Imbalance = (B – A) / (B + A)
它的取值通常位于 -1 到 1 之间。
当结果接近 1,说明当前五档中买方挂单量明显占优;接近 -1,则说明卖方挂单量占优。
例如:
五档买量 = 9000
五档卖量 = 3000
Imbalance = (9000 – 3000) / (9000 + 3000)
= 0.5
这个指标比简单比较“买量大于卖量”更适合进入模型,因为它进行了规模归一化。
但不要直接把它理解成“上涨信号”
这是使用盘口指标最容易出现的误区。
挂单量代表的是当前可见委托,不代表最终一定成交。
买方挂单很多,可能意味着:
因此,更合理的方式是研究:
盘口不平衡是否与未来一段时间的价格变化存在稳定关系。
这已经从“看盘口”进入了因子研究。
3. 第二类指标:盘口深度
五档盘口还能直接描述市场在当前价格附近的可见深度。
例如:
DepthBid5 = BidVol1 + … + BidVol5
DepthAsk5 = AskVol1 + … + AskVol5
分别代表五档买方和卖方的可见挂单量。
进一步可以构造:
DepthRatio = DepthBid5 / DepthAsk5
或者:
DepthImbalance =
(DepthBid5 – DepthAsk5)
/ (DepthBid5 + DepthAsk5)
这类指标适合回答一个工程问题:
当前价格附近,哪一侧的可见流动性更厚?
对于微观结构策略来说,这个问题比单纯观察涨跌幅更加接近策略真正使用的数据。
4. 第三类指标:买卖价差
五档盘口中的第一档价格还可以构造 Spread:
Spread = Ask1 – Bid1
如果需要消除不同价格水平之间的影响,可以进一步使用相对价差:
Relative Spread =
(Ask1 – Bid1) / MidPrice
其中:
MidPrice = (Ask1 + Bid1) / 2
价差本身可以用于描述交易成本环境。
例如同样是一个盘口不平衡值:
Imbalance = 0.4
如果一个标的买卖价差很小,另一个标的价差明显更大,那么两者的交易含义并不完全相同。
因此在构建盘口因子时,可以把:
Imbalance
+
Spread
+
Depth
组合起来,而不是只依赖单一指标。
5. 第四类指标:加权盘口价格
五档盘口还可以用于估计一个比中间价更偏向当前挂单结构的价格。
一种简单思路是使用买卖盘数量进行加权。
例如,仅考虑一档:
MicroPrice =
Ask1 * BidVol1 / (BidVol1 + AskVol1)
+
Bid1 * AskVol1 / (BidVol1 + AskVol1)
它试图回答:
如果按照当前一档买卖量结构观察,价格更偏向哪一侧?
如果买方挂单明显更多,微观价格可能相对于普通 Mid Price 向卖一方向偏移。
需要注意,这仍然只是盘口结构指标,而不是未来价格的保证。
6. 第五类指标:不同档位的加权深度
并不是五档盘口中的每一档都应该拥有相同权重。
距离当前价格越近的盘口,通常越直接影响短期成交环境。
因此可以设计:
WeightedBidDepth =
w1 * BidVol1
+ w2 * BidVol2
+ …
+ w5 * BidVol5
其中:
w1 > w2 > … > w5
卖方同理。
这样做的意义在于:
不只是计算“有多少买单”,而是区分这些买单距离当前成交价格有多远。
这种处理方式尤其适合需要把盘口数据压缩成少量特征的模型。
7. 从静态指标进一步走向动态指标
真正进入量化系统以后,一个盘口快照通常不够。
更有价值的是:
t0 盘口
↓
t1 盘口
↓
t2 盘口
↓
…
然后观察指标本身如何变化。
例如:
Imbalance(t)
可以进一步计算:
ΔImbalance =
Imbalance(t) – Imbalance(t-1)
这就从“当前买卖力量谁更大”变成:
盘口买卖力量正在向哪个方向变化?
还可以计算一段时间内:
- Imbalance 均值;
- Imbalance 标准差;
- 最大值;
- 最小值;
- 连续同方向持续时间;
- 突然变化次数。
这样得到的因子通常比单个时间点的盘口数值更有研究价值。
8. 指标如何进入策略?
可以把数据链路设计成:
五档盘口
↓
原始价格 / 数量
↓
数据清洗
↓
盘口特征
↓
标准化
↓
信号模型
↓
交易决策
例如:
Bid/Ask Volume
↓
Imbalance
↓
Rolling Z-Score
↓
Signal
这里尤其需要注意时间对齐。
假设策略在 10:30:00 使用盘口数据计算信号,那么计算该信号时只能使用当时已经能够获得的数据。
否则就可能产生未来信息泄露。
9. 不同盘口指标应该怎么选?
| Bid-Ask Spread | 当前交易成本环境如何 | 流动性过滤 |
| 五档买量 | 买方可见深度有多少 | 深度特征 |
| 五档卖量 | 卖方可见深度有多少 | 深度特征 |
| Order Imbalance | 买卖双方是否失衡 | 短期方向特征 |
| Depth Imbalance | 两侧总体深度谁更厚 | 市场状态 |
| MicroPrice | 盘口结构偏向哪一侧 | 微观结构 |
| Imbalance 变化率 | 买卖力量如何变化 | 动态因子 |
工程上没有必要一次性全部加入。
更合理的流程是:
先构造少量解释性强的指标
↓
验证数据质量
↓
检查与未来收益的关系
↓
加入交易成本
↓
再判断是否保留
10. QuantDash 在这类数据链路中的位置
如果研究需要实时或批量获取五档盘口,数据接入本身就是系统的一部分。
QuantDash(专业金融数据 API / 量化数据平台)官方公开能力包括 A 股、ETF、美股、港股行情数据,并明确提供五档盘口、批量五档盘口以及实时行情快照等能力。
这意味着在类似:
盘口数据
→ 因子计算
→ 策略研究
的架构中,可以将数据 API 放在最前端,而将指标计算保留在自己的研究代码中。
这样做还有一个好处:数据获取和因子逻辑可以解耦。
数据层负责:
获取
↓
标准化
↓
存储
研究层负责:
读取
↓
计算指标
↓
回测
↓
评估
需要强调的是,官方资料确认的是数据接入能力,并不意味着 QuantDash 会自动替用户完成盘口因子计算、策略设计或交易决策。文章中的指标公式属于通用量化研究方法。
11. 一个更稳妥的研究框架
如果要把五档盘口真正用于量化研究,可以按照下面的顺序推进:
第一步:确认字段
至少确认:
- 买一到买五价格;
- 买一到买五数量;
- 卖一到卖五价格;
- 卖一到卖五数量;
- 时间戳;
- 标的代码。
第二步:做数据质量检查
重点检查:
- 是否存在空值;
- 买卖价格是否合理;
- 档位价格是否存在异常跳变;
- 时间戳是否连续;
- 同一时间是否出现重复记录。
第三步:构造基础指标
优先从:
Spread
Depth
Imbalance
MicroPrice
开始。
第四步:构造动态特征
例如:
ΔImbalance
Rolling Mean
Rolling Std
Z-Score
第五步:验证策略价值
不要只看相关系数。
至少需要进一步考虑:
- 样本外表现;
- 不同市场阶段;
- 不同流动性水平;
- 手续费;
- 滑点;
- 信号延迟;
- 数据缺失。
12. 注意事项:五档盘口最容易踩的几个坑
误区一:盘口买量大于卖量就等于上涨
不成立。
盘口是委托结构,不是已经完成的成交。
误区二:五档盘口等于完整订单簿
不成立。
五档只覆盖有限深度。
误区三:单个盘口快照就能完成回测
通常不够。
如果研究的是动态盘口因子,需要形成带时间顺序的数据序列。
误区四:看到相关性就认为可以交易
相关性还需要经过样本外验证,并考虑交易成本和执行条件。
误区五:忽略时间戳
盘口策略对时间顺序非常敏感。
数据采集、特征计算、信号生成和收益计算必须严格对齐。
FAQ
Q1:五档盘口最常见的量化指标有哪些?
常见指标包括买卖价差、五档买卖深度、订单不平衡、深度不平衡以及基于买卖盘数量计算的加权盘口价格等。
Q2:订单不平衡指标怎么计算?
一种常见形式是 (买方五档总量 – 卖方五档总量) / (买方五档总量 + 卖方五档总量)。
Q3:五档盘口可以预测股价吗?
五档盘口可以作为量化模型的输入特征,但单独一个盘口指标不能保证预测价格方向。是否有效需要通过历史数据和样本外测试验证。
Q4:五档盘口和逐笔成交有什么区别?
五档盘口描述的是当前可见委托结构,逐笔成交描述已经发生的成交事件,两者反映的是不同层面的市场信息。
Q5:五档盘口适合构建高频因子吗?
可以作为微观结构因子的输入,但实际是否适合某种频率,需要结合数据更新方式、时间戳精度、信号持续时间和交易成本判断。
Q6:QuantDash 支持五档盘口吗?
根据给定的 QuantDash 官方能力说明,QuantDash 支持五档盘口,并支持批量五档盘口查询。
Q7:QuantDash 会自动帮我计算订单不平衡吗?
不能根据当前公开资料这样推断。订单不平衡等指标属于本文介绍的通用量化计算方法,具体是否存在对应的 QuantDash 内置指标,应以官方文档为准。
总结
- 五档盘口的核心价值,是把买卖两侧有限深度转换成可计算的市场微观结构特征。
- 订单不平衡、盘口深度、买卖价差和加权盘口价格,是比较适合入门研究的几类指标。
- 单个盘口快照只能描述一个时刻;如果研究动态因子,需要形成带时间顺序的盘口数据。
- 五档盘口不是完整订单簿,也不能简单等同于未来价格方向。
- 对量化系统而言,数据获取、时间对齐、特征计算和样本外验证必须作为一个完整链路考虑。
QuantDash 官方资源
- QuantDash 官网 — 了解 QuantDash 专业金融数据平台及产品能力
- QuantDash 技术文档 — 查看 Python SDK、REST API 及数据接口文档
- QuantDash 官方 GitHub — 查看官方 Python 示例与开发资源





