Market Profile vs Volume Profile (MP 与 VP 的对比)

一句话定义:Market Profile 用"价格 vs. 时间"的二维分布 (TPO 字母) 来描述市场结构;Volume Profile 用"价格 vs. 真实成交量"的分布来描述同一结构。二者的输入不同,输出(VA / POC / HVN / LVN)定义同形,但解读会有可观察的偏移。

回到 Market Profile 总览

1. 算法对比

设 t \in [t_{open}, t_{close}] 是盘内时间切片,\mathcal{P}_t 是当日成交价位的全集:

量 Market Profile c^{MP}_t(p) Volume Profile c^{VP}_t(p)
输入 价格 p 上的 TPO 字母计数 (时间片数) 价格 p 上的真实成交量
数学定义 c^{MP}_t(p) = \#\{\tau : \tau \in [t_0, t_N] \wedge P_\tau = p\} c^{VP}_t(p) = \sum_{\tau : P_\tau = p} V_\tau
物理含义 价格在 p 上停留多久 价格在 p 上成交多少

其余结构(POC / VA / HVN / LVN)定义完全平行,只是把 c_t(p) 替换即可。

flowchart LR
    A[日线 tick/minute bars] --> B{选择 profile 类型}
    B -->|TPO 字母计数| C[MP Profile<br/>focuses on 接受/拒绝]
    B -->|真实成交量| D[VP Profile<br/>focuses on 资金分布]
    C --> E[POC, VA, HVN, LVN]
    D --> E

2. 何时用哪个?

场景 推荐 理由
高流动性期货 (CL, ES, NQ) MP / VP 任一 二者输出几无差异
A 股大盘指数 (SSE 50, CSI 300) VP 数据回放完整,TPO 信息冗余
商品期货低流动性时段 MP 即使成交量稀疏,TPO 字母仍连续
美股个股 VP 真实成交数据最全
学术研究 / 跨资产比较 MP 计算不依赖 tick data,公开数据足够

经验法则:数据越稀疏 → MP 越稳;数据越丰富 → VP 越准。

3. 关键偏移:MP 与 VP 的 POC 不重合

这是新手最容易混淆的一点。

当成交量分布不均(常见情形 = 大单集中成在少数价位附近)时:

  • VP 的 POC 会严重偏向大单所在价位
  • MP 的 POC 受价格停留时间主导,更接近fair-value

设某日的成交量集中度用 Herfindahl 指数衡量:

H_{volume} = \sum_{p \in \mathcal{P}_t} \left( \frac{V_p}{\sum_q V_q} \right)^2

可以经验性地观察到:

\big| POC^{MP} - POC^{VP} \big| \approx \alpha \cdot H_{volume}, \quad \alpha > 0

因此当 H_{volume} 高("被程序化大单主导"的日子)时,两个 POC 偏差最大。

4. 与 VWAP / Anchored VWAP 的关系

4.1 VWAP —— "加权平均公允价"

VWAP_t = \frac{\sum_{\tau : P_\tau \le P_t} V_\tau \cdot P_\tau}{\sum_{\tau : P_\tau \le P_t} V_\tau}

VWAP 相当于 VP 的一阶原点矩。MP 的等价物是 TWAP (Time-Weighted Average Price):

TWAP_t = \frac{1}{T} \int_{t_0}^{t} P_\tau\; d\tau

4.2 Anchored VWAP (AVWAP) —— 与 MP 的 "时间锚" 形态同构

AVWAP 是 VP 的带锚点版本(某次重要事件 = 0 时),类似 MP 中"以集合竞价起点的 TPO 累计"。

Anchored VWAP 锚点 MP / AMT 对应物
Earnings announcement 集合竞价起点 + IB 形成期
FOMC announcement 政策事件后的 TPO 单边偏移
Major gap open Open Drive / 跳空开盘型
Trend 起点 (UTurn) Trend Day 起点

实操含义:在 IB 突破后用 AVWAP 从 IB break-out 起算,能复现一个 MP 视角的 "TPO Pivot";两套是同一现象的不同描述。

5. 把 MP / VP 转化为 microstructure features

可以量产以下几类 microstructure feature 喂入 ML 模型:

\mathbf{f}_t = \left[\; P_t,\; VWAP_t,\; AVWAP_t,\; \frac{P_t - POC_t}{\sigma_t},\; \frac{P_t - VAH_t}{IB_{width}},\; \frac{P_t - VAL_t}{IB_{width}},\; \text{BB}_{\text{KDE}}(P_t)\; \right]

Feature 经济含义
P_t - VWAP_t 价格偏离当日公允价的标准化距离
P_t - POC_t 价格偏离成交最密集价位的距离
(P_t - VAH_t) / IB_width 价格突破上沿的相对幅度
BB_KDE(P_t) 价位是否在 Composite HVN 厚带内(厚 → 阻力位)
LVN depth (z-score of c_t(p) at P_t) 价位"被绕开"的程度

6. 量化组合建议

flowchart TD
    A[Raw ticks / minute bars] --> B[Build Composite MP + VP<br/>across 1d, 5d, 20d, 60d windows]
    B --> C[Compute feature vector f_t<br/>= IB / VA / POC / VWAP / LVN z-score]
    C --> D[Stacking: microstructure features<br/>+ fundamental features<br/>+ alternative-data]
    D --> E[Trade signal / Strategy]

MP / VP 在量化系统中的典型位置是 "中频 microstructure feature block",与 (基本面 + 另类数据) 平行叠加,参考 Ferson-Siegel Optimal Weighting 的非线性信号映射方法,把它映射到仓位层。

Open Questions

  • 不同 proxy (TWAP / VWAP / Anchored VWAP) 哪个最适合作为 alpha factor 的"公允价值基准"?是否有一个自适应选择机制(根据盘口 spread / volatility 切换锚点)?
  • Volume Profile 的 extreme-volume nodes (e.g. ES 08:30 ETH 开盘、CL 14:30 跨日) 是否应该被剔除以避免污染因子?如何在使用时做"事件剥离"?

回到 Market Profile 总览 · 上接 Market Profile/Multi-Day Composite