3. 微价格核心公式推导
在上一节中我们已经看到,最优买价(bid)和最优卖价(ask)只反映了“谁愿意成交”,却没有反映“谁更急”。同样是买一价 100.00、卖一价 100.02,如果买一挂单量是 500 手、卖一挂单量只有 50 手,那么价格向上突破的概率显然远大于向下。微价格(microprice)要做的,就是把这个“盘口不平衡”的信息压缩成一个比中间价更灵敏的单一价格估计。
本节我们从最朴素的买卖压力不平衡出发,一步步推导出微价格公式,并解释权重到底在表达什么、它如何影响价格预测。
一、从中间价到压力加权:推导的起点
先约定符号。设最优买价为 P_b,最优卖价为 P_a,买一挂单量为 Q_b,卖一挂单量为 Q_a。中间价定义为:
P_mid = (P_a + P_b) / 2
中间价的问题在于它完全忽略了量。为了引入量,我们考虑一个直观的“压力”视角:买一量代表买方在当前价位的承接意愿,卖一量代表卖方的抛售意愿。若把总挂单量 Q_b + Q_a 视为 1,则买方占比为:
w_b = Q_b / (Q_b + Q_a)
w_a = Q_a / (Q_b + Q_a) = 1 - w_b
一个自然的想法是:既然买方占比越大,价格越应该靠近卖一价(因为买方要成交只能向上吃卖单),那么可以用 w_b 作为“向卖价靠拢”的权重,构造:
P_micro = w_b · P_a + w_a · P_b
这就是微价格最常用的形式。注意它的方向:买方量越大,微价格越靠近卖一价,即价格估计越高。这与“买压大→价格上行”的直觉一致。
二、等价变形:把公式写成“中间价 + 偏移”
直接看加权形式不够直观,我们做一次代数变形。令 Δ = P_a - P_b(价差),Q = Q_b + Q_a,则:
P_micro = (Q_b·P_a + Q_a·P_b) / Q
= P_mid + (Q_b - Q_a)/(2Q) · Δ
推导过程:把 P_a = P_mid + Δ/2、P_b = P_mid - Δ/2 代入加权式,整理即得。这个变形非常关键,它告诉我们:
- 微价格 = 中间价 + 一个偏移项;
- 偏移项 = 不平衡度 × 半个价差;
- 不平衡度定义为
I = (Q_b - Q_a)/(Q_b + Q_a),取值范围 [-1, 1]。
当 Q_b = Q_a 时 I = 0,微价格退化为中间价;当买一量远大于卖一量时 I → 1,微价格逼近卖一价;反之逼近买一价。偏移的最大幅度就是半个价差,因此微价格始终落在 [P_b, P_a] 区间内,不会越界,这一点在工程实现中很重要。
三、权重到底在表达什么
回到加权形式 P_micro = w_b·P_a + w_a·P_b。这里的 w_b 不是“买方成交概率”的严格估计,而是一个相对压力权重:它衡量在买一与卖一这两个价位上,哪一方的挂单更“厚”。权重越大,微价格越靠近对手方价格,意味着模型认为该方向更可能被吃掉。
需要强调三点含义:
- 权重是相对的,不是绝对的。
Q_b = 500、Q_a = 50与Q_b = 5000、Q_a = 500得到相同的w_b ≈ 0.909,微价格相同。这说明微价格只关心比例,不关心绝对深度。若想区分“薄盘口”和“厚盘口”,需要额外引入总量特征。 - 价差 Δ 是偏移的放大器。 同样的不平衡度,价差越大,偏移的绝对金额越大。在 tick 较大的品种上,微价格的绝对波动会更明显。
- 微价格是有界估计。 由于
I ∈ [-1,1],微价格永远落在买一卖一之间,不会给出“高于卖一”的荒谬预测,这使它在做市报价、短期方向判断中比线性外推更稳健。
四、用示例走一遍完整计算
沿用图中参数:P_b = 100.00,P_a = 100.02,Q_b = 500,Q_a = 50。这是一个合理假设的教学示例,非实测行情。
Q = Q_b + Q_a = 550
w_b = 500 / 550 ≈ 0.9091
w_a = 50 / 550 ≈ 0.0909
P_micro = 0.9091 × 100.02 + 0.0909 × 100.00
≈ 100.0182
校验(偏移形式):
P_mid = 100.01
I = (500 − 50) / 550 ≈ 0.8182
Δ = 0.02
偏移 = I × Δ / 2 ≈ 0.8182 × 0.01 ≈ 0.0082
P_micro ≈ 100.01 + 0.0082 = 100.0182 ✓
两种算法结果一致,说明变形正确。可以看到,微价格比中间价高出约 0.0082,接近卖一价一侧,这与“买盘明显更厚、价格更可能上行”的判断吻合。
五、权重如何影响价格预测
微价格本身是一个价格估计,但在预测中通常使用它的变化量或相对中间价的偏离作为信号。设当前微价格为 P_micro(t),上一时刻为 P_micro(t-1),则信号可写为:
signal = P_micro(t) − P_mid(t)
= I(t) · Δ(t) / 2
这个式子揭示了预测逻辑:当不平衡度 I 持续为正且增大时,信号为正,预示短期价格上行压力;当 I 由正转负,往往对应买盘被消耗、卖压增强。实际使用中要注意两点:
- 价差变化会污染信号。 若
I不变而Δ突然扩大(例如盘口变薄),信号也会跳变。稳健做法是同时观察I与Δ,或对信号做归一化处理。 - 权重对极端值敏感。 当
Q_a很小(如 1 手)时,w_b会迅速逼近 1,微价格几乎等于卖一价。这种“虚假不平衡”在实盘中常见,通常需要对挂单量做下限截断或平滑。
I = (Q_b − Q_a)/(Q_b + Q_a) 计算不平衡度,再乘 Δ/2 加到中间价上。这样既避免了大数相除的精度问题,也便于对 I 单独做限幅、平滑和特征组合。六、小结与公式的适用边界
本节从买卖压力不平衡出发,得到了微价格的两个等价表达:加权形式 P_micro = w_b·P_a + w_a·P_b 与偏移形式 P_micro = P_mid + I·Δ/2。权重 w_b 表达的是买一相对卖一的挂单厚度,偏移项则由不平衡度与半个价差共同决定。理解这两层含义,才能在后续章节中正确地把微价格用于信号构造、做市报价和回测评估。
同时要清楚它的边界:微价格只使用买一卖一两个价位,无法感知更深层的流动性;它对绝对深度不敏感;在挂单量剧烈抖动时容易产生噪声。这些局限正是后续引入多档盘口、成交量与成交方向等信息进行扩展的动机。