4、核心指标计算:买卖价差、市场深度、订单簿不平衡、成交量加权平均价
做市商的核心工作,说白了就是跟这四个指标打交道。我做了这么多年量化交易,每天盯盘时看的也就是这几个数。它们就像汽车的仪表盘——告诉你引擎转没转、油还够不够、车身稳不稳。
今天咱们就把这四个指标掰开揉碎了讲。我会把公式、代码、以及我踩过的坑都交代清楚。
4.1 买卖价差(Bid-Ask Spread)
买卖价差,就是买一价和卖一价之间的差值。这是做市商最直接的利润来源。
计算公式:
Spread = Ask_Price - Bid_Price
// 更常用的是相对价差(百分比)
Relative_Spread = (Ask_Price - Bid_Price) / Mid_Price * 100%
举个例子:
买一价: 100.00
卖一价: 100.02
价差: 0.02
相对价差: 0.02 / 100.01 * 100% ≈ 0.02%
核心要点:价差越小,市场流动性越好。做市商赚的就是这个「缝」里的钱。
我个人习惯把价差分成三档:
- 窄价差(< 0.01%):流动性极好,适合高频做市,但利润薄
- 中价差(0.01% - 0.1%):正常市场,做市商的主要战场
- 宽价差(> 0.1%):流动性差,或者波动剧烈,这时候要小心
实战技巧:我在监控价差时,会同时看「价差标准差」。如果价差突然放大,往往意味着有大单要来了,或者市场情绪在变化。这时候我会提前调整挂单策略。
4.2 市场深度(Market Depth)
市场深度,说白了就是「在某个价位上,你能吃掉多少单子」。深度越大,大单对价格的冲击越小。
计算方式:
// 买盘深度(前N档)
Bid_Depth = Σ(Price_i * Volume_i) // i从1到N
// 卖盘深度(前N档)
Ask_Depth = Σ(Price_i * Volume_i) // i从1到N
// 总深度
Total_Depth = Bid_Depth + Ask_Depth
举个例子,假设订单簿前5档是这样的:
| 档位 | 买价 | 买量 | 卖价 | 卖量 |
|---|---|---|---|---|
| 1 | 100.00 | 1000 | 100.02 | 800 |
| 2 | 99.98 | 1500 | 100.04 | 1200 |
| 3 | 99.96 | 2000 | 100.06 | 1800 |
| 4 | 99.94 | 2500 | 100.08 | 2200 |
| 5 | 99.92 | 3000 | 100.10 | 2800 |
买盘深度 = 100*1000 + 99.98*1500 + 99.96*2000 + 99.94*2500 + 99.92*3000
≈ 1,000,000 + 149,970 + 199,920 + 249,850 + 299,760
≈ 1,899,500
卖盘深度 = 100.02*800 + 100.04*1200 + 100.06*1800 + 100.08*2200 + 100.10*2800
≈ 80,016 + 120,048 + 180,108 + 220,176 + 280,280
≈ 880,628
注意:我曾经在监控深度时犯过一个错——只看总深度,不看深度分布。结果有一次买盘深度很大,但全集中在买一档,一个大单就把买一吃光了,价格瞬间跳水。所以我现在会同时看「深度集中度」这个指标。
4.3 订单簿不平衡(Order Book Imbalance)
这个指标,说白了就是看买卖双方谁更「强势」。不平衡度越高,价格越可能朝某个方向走。
计算公式:
// 简单不平衡度
Imbalance = (Bid_Volume - Ask_Volume) / (Bid_Volume + Ask_Volume)
// 加权不平衡度(考虑价格)
Weighted_Imbalance = (Bid_Depth - Ask_Depth) / (Bid_Depth + Ask_Depth)
取值范围是 -1 到 1:
- 接近 1:买盘远大于卖盘,价格可能上涨
- 接近 -1:卖盘远大于买盘,价格可能下跌
- 接近 0:买卖均衡,市场在观望
关键用法:不平衡度不是用来预测价格的,而是用来判断「当前市场的压力方向」。我一般会结合价格走势一起看——如果价格在涨,但不平衡度在下降,说明上涨动力在减弱,这时候我会考虑减仓。
嗯,这里要注意:不平衡度对高频交易特别有用。我记得有一次,我在监控一个山寨币的订单簿,不平衡度突然从0.3跳到了0.8,但价格没怎么动。我立刻意识到——有人在偷偷吸筹。果然,5分钟后一根大阳线拉起来了。
4.4 成交量加权平均价(VWAP)
VWAP,全称 Volume-Weighted Average Price。它比简单均价更科学,因为考虑了每个价格的成交量。
计算公式:
VWAP = Σ(Price_i * Volume_i) / Σ(Volume_i)
// 其中 i 遍历所有成交记录
举个例子:
成交1: 价格100.00, 数量1000
成交2: 价格100.02, 数量2000
成交3: 价格100.01, 数量1500
VWAP = (100*1000 + 100.02*2000 + 100.01*1500) / (1000 + 2000 + 1500)
= (100,000 + 200,040 + 150,015) / 4,500
= 450,055 / 4,500
≈ 100.0122
实战应用:做市商经常用VWAP来评估自己的成交质量。如果你的成交价低于VWAP(买入时),说明你买得比市场平均价便宜,做得好。反之,如果高于VWAP,说明你买贵了。
我个人习惯把VWAP分成三个时间窗口:
- 1分钟VWAP:用于高频做市,判断短期成交质量
- 1小时VWAP:用于日内交易,判断趋势
- 日VWAP:用于评估全天表现,机构常用
避坑指南:我曾经在计算VWAP时,忘了剔除异常成交(比如明显的错单)。结果VWAP被一个极端价格拉偏了,导致我做出了错误的做市决策。所以,计算VWAP前一定要做数据清洗——去掉那些明显不合理的成交记录。
4.5 四个指标的关系
这四个指标不是孤立的。它们之间有着紧密的联系:
你看这张图就明白了:
- 价差和深度:价差越小,深度通常越大。因为流动性好的市场,买卖盘都厚
- 不平衡和VWAP:不平衡度可以预测VWAP的走向。如果买盘强,VWAP会往上走
- 深度和价差:深度大的市场,价差往往更稳定,不容易被大单打穿
总结一下:这四个指标,是做市商的「四件套」。你每天开盘前,先把这四个指标扫一遍,心里就有底了。我个人习惯是把它们做成一个仪表盘,实时刷新。哪个指标异常了,立刻就能发现。
好了,核心指标的计算就讲到这里。记住,公式是死的,但市场是活的。多在实际数据上跑一跑,你才能找到感觉。