Weekly Presentation

三重壁垒标注:噪声 vs 方向(VWAP 成交价 · 时序留出样本外)

本周建模工作的幻灯片式讲解,数据源为 VWAP 成交价,以 oos_start 2024-04-01 重新训练,验证留出的那一年是否成立。

每周更新 - 2026年6月22日 · VWAP 成交价 · 时序留出样本外

如何选择能跑赢市场噪声的预测周期(VWAP · 留出 2024-04 → 2025-04)

本版数据来自 eth_trimmed_hourly_logistic_vwap(VWAP 成交价驱动标签与特征), 并以 oos_start 2024-04-01 重新训练,把 2024-04 → 2025-04 整年作为真正的时序留出样本外。本周重点:

  1. 三重壁垒法如何把价格路径转化为可训练的标签
  2. "壁垒宽度"——信号与噪声之间的取舍
  3. 用 VWAP 成交价信号重跑三个执行框架,与全交易所聚合口径对照

本期内容

三重壁垒标注(Lopez de Prado)、ETH 在各壁垒宽度下的标签分布,以及"预测噪声"与"预测模型难以把握的周期"之间的权衡 —— 全部基于 VWAP 成交价口径。

核心意义

标签的定义决定了模型到底在学什么。周期选错,再干净的模型也只是在拟合微观结构噪声。

选择 ETH 的理由

所有示例均特意使用以太坊:候选特征约 2,796 个,而 BTC 约 23,608;入选特征仅 177 个,BTC 约 1,283。BTC 链上覆盖更广,ETH 特征空间更小,训练与迭代快得多。

三重壁垒法 - 出处

Marcos Lopez de Prado:以"最先触碰的壁垒"打标签

该方法出自《Advances in Financial Machine Learning》(Wiley, 2018)。不是用固定 周期的收益率,而是看价格前向路径最先触碰三条壁垒中的哪一条来打标签。

作者与出处

Marcos Lopez de Prado Advances in Financial Machine Learning

Marcos Lopez de Prado -《Advances in Financial Machine Learning》。

标签的构造方式

Triple-barrier labeling example

上壁垒 → 标签 +1,下壁垒 → -1, 垂直(时间)壁垒 → 0。路径最先触到哪条,就用哪条 —— 这里先触到垂直壁垒, 因此标记为 0

三重壁垒法 - Marcos Lopez de Prado

三重壁垒标注:噪声 vs 方向(VWAP 成交价)

每根 K 线按其前向路径最先触碰的壁垒打标签:上壁垒(+1 买入)、 下壁垒(-1 卖出),或到时间上限都未触碰(0 未触发 / 超时)。 壁垒宽度(基点)决定了价格需要走多远才能触发标签。

ETH triple-barrier label distribution (VWAP)

ETH 小时级 checkpoint1(VWAP 成交价)的标签分布:54,654 行,跨 4 种 上 / 下壁垒配置。

太短 = 噪声

壁垒太窄几乎立刻触发,标签主要反映微观结构抖动而非真实 走势,模型学到的是抛硬币。

太远 = 无法预测

也不能将预测周期无限拉长 —— 没有模型能预测五年后。信号 衰减、市场状态切换主导,远期标签无法学习。

最优宽度

壁垒宽度是这两个极端之间的旋钮。更宽的壁垒缩小未触发(0) 的比例并要求真实的方向性移动;目标是找到"单位噪声里方向最多"的宽度。

特征选择 - 多模型共识

从竞争池中挑选幸存者

从所有变换后的候选特征出发,让 9 个模型通过 t 统计量筛选淘汰投票,只保留多数 模型都认可的特征,再只对这些幸存者施加更多变换。

2,796候选特征(全量变换)
1779 个模型至少 1 个选中的并集(每个选 50 个)
20核心:被 ≥5 个模型选中
10去重后的原始幸存者
883当前重新展开的特征数
feature selection count

特征选择计数:9 个模型(方向 + 三重壁垒买 / 卖)各自选了哪些特征。

从竞争者到幸存者

9 个模型各自在全量特征池上做 t 统计量 淘汰,各自收敛到 50 个;其并集为 177 个不同特征 —— 图中统计 每个特征被多少模型认可。

共识 = 稳健

被 9 个模型中 ≥5 个 选中的构成核心:20 个特征,归并到 10 个去重的原始来源列。

仅在幸存者上重建

只用这 10 个幸存原始列重建 checkpoint1 并重施全套变换 —— 现在 883 个聚焦特征,较 2,796 下降。变换更多,但只针对验证过的基底。

特征选择 - 幸存者

10 个核心原始来源

这些是幸存特征所对应的原始数据列 —— checkpoint1 重建所基于的共识基底。标签显示每个 来源产出了 20 个幸存特征中的多少个。

spot_price20 个幸存特征中的 9 个
derivatives__open_interest__all_exchanges_all_symbol20 个幸存特征中的 2 个
derivatives__taker_buy_volume__all_exchanges20 个幸存特征中的 2 个
derivatives__funding_rates__all_exchanges20 个幸存特征中的 1 个
exchange_flows__exchange_outflow_mean__all_exchanges20 个幸存特征中的 1 个
fees_and_revenue__block_rewards20 个幸存特征中的 1 个
fees_and_revenue__block_rewards_usd20 个幸存特征中的 1 个
fees_and_revenue__fees_per_transaction_median20 个幸存特征中的 1 个
market_indicator__estimated_leverage_ratio__all_exchanges20 个幸存特征中的 1 个
transactions__tokens_transferred_mean20 个幸存特征中的 1 个

按贡献排序。spot_price 占主导,因为所有 return / trend / volatility 特征都归并回原始价格(此处为 VWAP 成交量加权收盘价)。

模型准确率

模型一览(VWAP 成交价)

并排展示三重壁垒法生成的买入与卖出两个分支(对比训练集与完全未触碰的样本外集),并附基准方向模型作为参照。

模型 / 目标 买入 (+1 对其余) 卖出 (-1 对其余)
训练OOS训练OOS
方向模型(二分类 涨/跌)训练 58.1% · OOS 52.7% (单一模型,无买入/卖出之分)
上 40bp / 下 40bp56.2%52.5%57.6%52.6%
上 40bp / 下 80bp54.3%54.9%64.8%62.5%
上 80bp / 下 40bp64.6%60.4%55.5%48.0%
上 80bp / 下 80bp64.3%62.3%64.3%60.7%

方向是二分类(1 = 前向收益上涨,0 = 下跌)。每个三重壁垒目标由买入、卖出两个二元子模型 组成(买入 = +1 对其余,卖出 = -1 对其余)。训练与 OOS 的差距用于识别过拟合。

信号与价格

买卖信号与 ETH 价格对照 - 原始、平滑、卡尔曼(VWAP)

三重壁垒买 / 卖信号的三种呈现,均叠加在 ETH VWAP 成交价(右轴)上,并标注训练 / OOS 切分 (OOS 起点 2024-04-01;信号止于 2025-03-31)。原始信号噪声大、贴近 0.5;168 小时移动平均与卡尔曼滤波揭示更慢的状态。

raw signal vs price

原始小时级买 / 卖概率 —— 多数贴近 0.5(不确定)。

smoothed signal vs price

168 小时(1 周)移动平均 —— 去噪并显现状态。

kalman signal vs price

卡尔曼平滑的 买 − 卖 差;绿色 = 买(差 > 0),红色 = 卖(差 < 0)。 三张图中的紫色点划线标注 The Merge(2022-09-15)

背景:The Merge(合并)—— 2022 年 9 月 15 日

以太坊在此日从工作量证明(PoW,挖矿)切换到 权益证明(PoS,质押)。这是 ETH 新增发行的结构性断点,也直接体现在核心特征 fees_and_revenue__block_rewards 上。

合并前(PoW)

以太坊 = 矿工用大型机器挖矿;奖励 = 高额区块奖励,约 13,000 ETH/天

合并后(PoS)

以太坊 = 验证者质押 ETH;奖励大幅降低,约 1,700 ETH/天

影响

新增 ETH 发行量骤降 约 88%(13,000 → 1,700 ETH/天) —— 训练数据横跨这一制度切换,模型须适应该断点。

回测 - SignalHive(VWAP 信号 · 时序留出样本外)

回测:全历史 vs 留出年(2024-04 → 2025-04)

本版采用真正的时序留出样本外:模型以 oos_start 2024-04-01 重新训练 (训练 2019 → 2024-03,样本外 2024-04 → 2025-03),信号止于 2025-03-31,故策略在 2025-04-01 前平仓并保持空仓。 10% 仓位、无杠杆。结论:样本内尚可,但留出的那一年不成立 —— 全历史 168 小时 MA +32.1%、 卡尔曼 +12.7%;然而在留出窗口 2024-04 → 2025-04,三者收益全部为负且全部未通过门槛,并且 塌缩为同一笔亏损持仓(夏普 -0.67、收益 -5.7%、仅 1 笔):各策略在窗口起点开一仓并持有至信号结束。 即:此前 OOS 取 2025-04-01 时卡尔曼"通过",很大程度是因为模型训练恰好覆盖到该处;一旦真正留出更早的一年,样本内边际并未延续。

策略全历史(至 2025-04)留出样本外(2024-04-01 → 2025-04-01)
趋势保持(24 根确认)run_637819e3
未通过 · 评分 18 · 夏普 -0.36 · 收益 -8.0% · 最大回撤 9.6% · 1 笔
run_b8c85931
未通过 · 评分 18 · 夏普 -0.67 · 收益 -5.7% · 最大回撤 6.6% · 1 笔
168 小时 MA 交叉run_b215f637
未通过 · 评分 30 · 夏普 0.91 · 收益 +32.1% · 最大回撤 7.0% · 213 笔
run_9dd0815c
未通过 · 评分 18 · 夏普 -0.67 · 收益 -5.7% · 最大回撤 6.6% · 1 笔
卡尔曼交叉run_a3b74fb7
未通过 · 评分 30 · 夏普 0.35 · 收益 +12.7% · 最大回撤 13.3% · 67 笔
run_4b6792f2
未通过 · 评分 18 · 夏普 -0.67 · 收益 -5.7% · 最大回撤 6.6% · 1 笔

本批全历史最佳 —— 168 小时 MA 交叉

未通过 · 评分 30 · 夏普 0.91 · 收益 +32.1% · 最大回撤 7.0% · 213 笔(留出样本外为 -5.7%,仍未通过)

打开回测 run_b215f637 ↗

在新标签页打开 SignalHive 回测面板(需登录)。

下一步

后续方向

先自上而下验证两道基础门槛(先过门槛 1,再过门槛 2);下方八条改进方向(a–h)仅在两道门槛均通过后才会启动。

1. 泄漏检查

确保特征与标签均无未来信息泄漏 —— 核查时点对齐(每根 K 线只取用截至当时已知的数据)、 滚动 / 季节性变换,以及三重壁垒标签的构造是否存在前视(lookahead)。

2. CryptoQuant 替代

  • 内部数据仓库虽已搭建,但来源相对分散。ETH 的 163 个特征与 BTC 的 358 个特征需逐一拼接,前期对齐成本较高。
  • 为避免过早陷入数据工程细节,本轮直接采用 CryptoQuant 作为一站式数据源。
  • 优势在于:提供标准化的全交易所聚合数据(Binance 作为最大交易所已具备足够代表性);本版用 VWAP(成交量加权成交价)替代收盘价,与全交易所聚合口径对照。
  • 历史数据可回溯至 2014 年,满足更长样本窗口的需求;
  • 所有小时级(H1)指标口径统一,无需逐项跨源核验。

a. 提升边际

当前壁垒 0.8%(80bp)→ 试 1.2% / 1.6%。样本外上限受 样本内信号约束。

b. 实盘交易

一旦某配置通过门槛,即可上线模拟或实盘交易(CR-03 是当前阻塞项)。

c. 更多 H1 数据

把更多小时级指标 / 数据源纳入特征集并重新评估。

d. 残差检验

去掉这 10 个核心幸存者重新训练,看剩余特征是否仍有边际。

e. 其他币种

在 BTC 等其他币种上验证同一套流程,而不仅限于 ETH。

f. 更长历史

当前训练自 2019 年起 —— 把回溯窗口再往前延伸,覆盖更多市场状态。

g. 更多特征变换

沿其中一个方向对幸存特征施加更多变换,进一步扩展特征空间,检验能否带来增量。

h. 时序样本外

增加一段时序留出的样本外窗口(2024-04-01 → 2025-04-01),在更早的一年上验证,而不仅是 2025 年起。