跳至正文
全部策略

策略

XRP 成交量确认动量、多空(单品种 XRPUSDT.BINANCE USD-M,4 小时K线——当同期成交量激增确认真实参与时采取方向性动量 ONLY,否则保持空仓,ATR 追踪退出,3 参数)

结局: 已放弃

XrpVolumeConfirmedMomentumLS

结局总结

XrpVolumeConfirmedMomentumLS 有意将工厂中唯一反复存活的优势——成交量门控的 4H 动量——从 ETH 移植到事件驱动、与BTC/ETH不相关的 XRP 永续合约上,仅使用三个参数来抵抗过拟合。基础回测在数值上可行(Sharpe 0.47、448 笔交易、每笔交易收益 0.72% 超过手续费底线),并通过了“优化”结论的回测复核;甚至留出窗口也显示为正,Sharpe 为 1.33。但3阶段的优化暴露出该策略只是 N 个候选中的最佳噪声:走步式样本内 Sharpe 1.037 崩跌至样本外 -0.413,PBO 达到 0.636,去膨胀 Sharpe 降至 0.006。分析师在一次迭代后因三个硬门槛失败而放弃了它,得出结论:这是单名动量克隆陷阱——该机制在 ETH 上有效,但承载它的每个XRP都已过拟合,而平坦的敏感性曲面也没有留下更好的迭代方向。

假设

一个LONG-SHORT、单一标的、纯OHLCV的动量策略,标的为 XRPUSDT.BINANCE(USD-M 永续合约),使用 4H 周期K线。这是将该工厂中ONLY反复存活的优势族群——即在 EthVolumeConfirmedMomentumLS(夏普 1.05)中达到 paper 阶段的成交量确认4H动量机制,以及在 ADA/BTC 上的姊妹共振趋势跟随策略(夏普 1.6/2.0)——DELIBERATE移植到一个该语料库几乎未曾触及的FRESH载体标的上。存活策略共有的核心洞见是:单一永续合约上的原始动量是对手续费脆弱的噪声(过拟合/fee_edge的坟场),但经由真实的成交量参与度激增所GATED的动量,能够筛选出那些由订单流驱动的方向性脉冲子群体,而非稀薄的漂移,这些脉冲的延续幅度足以覆盖约 0.10% 的往返成本。选择 XRP 是刻意为之:它是流动性排名前-5的永续合约,拥有干净的多年 4H 历史数据,但其价格过程具有特异性的EVENT-DRIVEN(监管/法律头条新闻、上架/下架事件、支付通道相关新闻),这产生了间歇性、大成交量、跨多根K线的方向性扩张——这正是成交量门控动量过滤器所设计用来捕捉的目标——而且其行为与该工厂44%以上策略反复挖掘的 BTC/ETH 价格序列不相关。仅有 THREE 个参数(动量回看期、成交量激增倍数、ATR 追踪倍数)可调,以抵御曾导致 DOT 共振孪生策略以及多条件组合篮子策略过拟合死亡的问题。

这正是该假设所要求的刻意移植:该机制是 EthVolumeConfirmedMomentumLS——已达到 paper 阶段的成交量确认4H动量构造——的忠实移植,移植到 XRPUSDT.BINANCE 上,仅更改了与标的相关的常数(size_precision 1,已根据目录中 XRPUSDT 的 parquet 元数据核实,该元数据报告为 price_precision 4 / size_precision 1)。假设的两个要素均被逐字实现:以 ATR 单位表示的动量(无量纲,因此一个阈值在 XRP 极宽的波动率状态下含义相同),以及参与度定义为成交量除以此前 60 根K线成交量的MEDIAN——之所以特意使用中位数,是因为 XRP 的事件驱动型成交量分布严重右偏,若用被此前某次头条事件带来的一次性放量拉高的均值作为基准,会掩盖下一次真正的激增,而后者正是该假设想要筛选出的子群体。calculate_signal 每根K线都以其自然的 ATR 单位返回原始连续决策变量(从不隐藏在入场条件之后),而 should_enter……展开收起

这正是该假设所要求的刻意移植:该机制是 EthVolumeConfirmedMomentumLS——已达到 paper 阶段的成交量确认4H动量构造——的忠实移植,移植到 XRPUSDT.BINANCE 上,仅更改了与标的相关的常数(size_precision 1,已根据目录中 XRPUSDT 的 parquet 元数据核实,该元数据报告为 price_precision 4 / size_precision 1)。假设的两个要素均被逐字实现:以 ATR 单位表示的动量(无量纲,因此一个阈值在 XRP 极宽的波动率状态下含义相同),以及参与度定义为成交量除以此前 60 根K线成交量的MEDIAN——之所以特意使用中位数,是因为 XRP 的事件驱动型成交量分布严重右偏,若用被此前某次头条事件带来的一次性放量拉高的均值作为基准,会掩盖下一次真正的激增,而后者正是该假设想要筛选出的子群体。calculate_signal 每根K线都以其自然的 ATR 单位返回原始连续决策变量(从不隐藏在入场条件之后),而 should_enter 对其进行阈值判断;在热身期内,它返回一个有界的柱内持仓分数,使信号仍保持变化而非归零平坦。三参数曲面被严格遵守,代码中的限幅值被逐字声明在 _param_bounds 中,因此优化器无法测试一个会被代码悄悄改写的值。被锁定的常数(入场阈值、离场滞后区间、波动窗口、ATR 周期、risk_pct)被有意排除在配置参数字典之外,而是从代码层级的默认值中读取:其中 risk_pct 尤其是一项仓位规模策略,若将其设为可优化,正是此前共振策略死亡的原因——它会让优化器用名义规模而非真实优势来“购买”夏普比率。交易场所选用 BINANCE USD-M 期货而非现货,是因为该策略在成交量确认动量满足时既做多也做SHORT,而 CASH 账户无法做到这一点;杠杆保持在 1.0,因为名义价值上限意味着没有任何规模路径会占用保证金(若声明杠杆>1 却未使用则会被拒绝)。性能在每根K线上是有界的(索引寻址缓冲区、一次 60 元素排序、增量式追踪极值、记忆化的上一根K线资格判断),因此 300 秒的沙箱墙钟时间不存在风险。我在离线环境中,针对完整的 14,602 根K线的 XRP 4H 历史数据(2020-01 至 2026-09)重放了入场逻辑,以降低两种最常见失败模式的风险:激增条件在 14.8% 的K线上触发,完整的复合入场门槛在 12.2% 上符合资格,产生了 476 次往返交易(每年 71 次,236 次做多 / 240 次做空),其中 472 发生在沙箱窗口内——因此零交易而被放弃并非一个现实风险——在扣除 0.10% 的往返吃单成本后,平均单笔净交易收益为 +0.506%,明显高于 0.15% USD-M 下限,PF 1.23,胜率为 36.6%。该胜率符合“及时止损的趋势跟随策略”的正常特征,且低于 0.45 的软性晋级下限;我并未为了追逐该指标而扭曲机制,因为该假设已预先注册了这一确切构造,而该软性下限在有充分证据的情况下是可以豁免的。

过拟合/无法泛化式失败(NOT 手续费边际——单笔交易收益 1.20% 超过了下限)。三个不可豁免的 HARD 关卡未通过:walk-forward is_overfitted=TRUE(平均IS夏普 1.037 -> 平均OOS -0.413,窗口 +0.60/-2.08/+0.24),样本外夏普 -0.413 <= 0,以及 PBO 0.636 > 0.5。稳健性检验证实所选的夏普比率是“N个中挑最好”的噪声:deflated_sharpe 0.006 << 0.95,is_significant=false,夏普 CI 的区间 [-0.078, 1.376] 横跨零值,并且未能在项目层面的 FDR 中存活(保留了 244 中的 4,candidate_p 0.994)。正的holdout结果(夏普 1.33)只是最后一个窗口的巧合,与负的 WF-OOS 相矛盾,无法挽救三个已失败的硬性关卡。根据“过拟合 vs 前提已死”规则,高IS/OOS崩溃属于ABANDON而非修订:该成交量确认动量机制已经在 ETH 姊妹策略上得到验证(已晋级,夏普 1.05),但该族群中的每一个 XRP 载体都已经失败(XRP 双信号动量共振过拟合,XRP 净方向性 TSM,XRP 脉冲延续 fee_edge,XRP 双柱延续 fee_edge)。将同一配方重新指向 XRP 只会再次过拟合——OOS 为负,且敏感度曲面在各处均平坦于约 0.4-0.5,没有尚未挖掘的稳健参数区域可供调优,因此迭代(第 1 次尝试,共 2 次)已无更优去处。这就是单一标的动量克隆陷阱:在 ADA/ETH 优胜层级之下,基础回测就是上限,而降权(deflation)只会进一步降低它。失败模式:过拟合/无法泛化。

实现

在 XRPUSDT.BINANCE USD-M 永续合约上进行的多空单一标的动量策略,4H 周期K线,纯 OHLCV。每根K线都会计算一个连续的、以参与度加权的动量信号:以 ATR 单位表示的过去 mom_lookback 根K线的价格变化,乘以 min(1, participation),其中 participation(参与度)为该K线的成交量除以此前 60 根K线的MEDIAN成交量,再除以 vol_surge_mult。当该信号在参与度激增确实满足的情况下(participation >= 1)向上穿越 +1.0 UP ATR 时做多,在对称的向下穿越时做空,其余情况下则FLAT——没有参与度确认的动量永远不会被交易,无论价格变动幅度多大。持仓平仓的条件为:(a) 动量达到 0.25 ATR 反向于持仓(带有 0.25 的滞后区间,以避免一次仓位内的短暂停顿截断获利并产生第二次往返手续费),或 (b) ATR 追踪止损,位于自入场以来最佳收盘价下方/上方 trail_atr_mult 个 ATR 处,并以入场价为初始值。仓位规模以风险优先的方式确定:equity * 2% / (trail_atr_mult * ATR),因此规模会随波动率扩大而缩小,上限为 1x 的权益总名义价值(因此杠杆为 1.0,无需保证金),并以 XRP 的 0.1 步长及 $20 的最小名义价值为下限。恰好有三个参数可调(mom_lookback、vol_surge_mult、trail_atr_mult);入场阈值、离场滞后区间、成交量窗口、ATR 周期及风险比例均被锁定。

验证结果

确认基础模板确实调用此方法进行预热门控(FactoryStrategy 中确实如此);无需更改。

min_bars_required(self) 重写了框架方法(base_shadow 静态警告)。这看起来是有意且正确的——它返回 max(vol_window+2, atr_period+2, mom_lookback+2),因此预热门控足以覆盖所有指标;沙盒在该窗口内产生了 442 笔交易,确认预热完成。仅为提示而标记;不是缺陷。

沙盒市场状态归因显示,该策略在平静波动率三分位区间(-8.07%,Sharpe 0.004)中LOSES,仅在压力三分位区间(+88.7%,Sharpe 1.01)中获利——优势完全集中于高波动率/事件扩张行情,这符合事件驱动成交量门控的论点,但意味着组合在安静的监管低谷期会亏损。沙盒 Sharpe 仅为 0.47(CI [-0.28, 1.21] 跨越零点),胜率 36% 低于 0.45 软底线(止损趋势跟踪策略的正常现象,但需记录)。Largest_win($49.9k)约为最大亏损的 7x,而 avg_win/avg_loss 为 2.3x,因此收益依赖少数几条大行情腿——在全历史回测中检查尾部依赖和各市场状态下的稳健性。这是供分析师参考的未优化冒烟测试背景,不是阻断项。

回测评审

夏普
0.47
总收益率
127.44%
最大回撤
26.45%
总交易数
448
胜率
36.4%
盈利因子
1.25

可靠的大样本:在 2434 天内进行 448 笔交易(metrics_reliable=true),由 225 笔多头 / 223 笔空头均衡构成真正的多空组合。

单笔交易优势以较大幅度超过了交易所手续费下限:avg_trade_return_pct 0.724%,对比 0.15% Binance USD-M 下限;佣金仅占总额的 4.27%,因此这NOT是一个手续费边际案例。

Profit_factor 1.254(> 1.05),max_drawdown 26.4%(< 60%),正夏普比率 0.47 —— 在每一个审查门槛上均在数值上可行。

交易忠实地实现了该假设:entry_signaled 448 = entries_submitted 448,ATR追踪止损离场,持仓约 2 天,方向均衡。不存在机制不匹配,也不存在核算假象(end_unrealized_pct 18.99%,并非由头条事件主导)。

对于一个事件驱动型成交量门控策略而言,市况归因与假设相符:优势集中在高波动三分位区间(+69%,夏普 0.86),且 regime_spread 0.68;这是该工厂唯一反复存活的优势族群(ETH 成交量确认动量已达 paper 阶段)的一个全新的、与 BTC/ETH 不相关的载体(benchmark_correlation 0.47,beta 0.11,正alpha 0.07)。

基础 Sharpe 0.473 较低,其 CI [-0.23, 1.23] 跨越零点;胜率 36% 低于 0.45 软底线(对于止损趋势跟踪策略而言这是预期现象,但仍需记录)。

收益依赖少数几个大型事件行情腿(每月 2024-11 +39%、2026-08 +33%、2020-11 +20%);largest_win ~7x largest_loss,return_kurtosis 12.3——依赖尾部行情,必须在 3 阶段运行中检查各市场状态下的稳健性。

在平静波动率三分位区间中亏损(+2.9%,Sharpe 0.18)——该组合在安静的监管低谷期回吐收益,与 QA 对其优势的担忧一致。

类别先验:低于 Sharpe>=1.5 / PF>=2.0存活者层级的单名4H动量克隆,在通缩期经常因过拟合而失败;该变体低于这一层级,因此优化中的过拟合风险确实存在。

分析

每笔交易的经济性以很大幅度超过交易场所费率底线(avg_trade_return_pct 1.20%,对比 0.15% Binance USD-M 费率底线;佣金仅占毛收入的 3.49%)——这明确是NOT一次fee_edge失效。

可靠的大样本:415 笔优化交易,覆盖 2434 天,多空组合平衡,敏感性分析干净,仅有 0 个悬崖参数。

留出窗口为正(61 笔交易的 Sharpe 为 1.33)。

走步法 is_overfitted=TRUE:平均 IS Sharpe 1.037 崩溃至平均 OOS -0.413,其中一个窗口为 -2.077——该优势无法泛化到样本外(HARD 门槛,不可豁免)。

样本外 Sharpe -0.413 <= 0(HARD门槛)。

PBO 0.636 > 0.5(HARD 门槛)——该参数选择过拟合的可能性大于不过拟合。

稳健性确认这是 N 个候选中的最佳噪声:deflated_sharpe 0.006 << 0.95,is_significant=false,Sharpe CI [-0.078, 1.376] 跨越零点,且未通过策略层面的 FDR(保留 4 / 244,candidate_p 0.994)。

优化后的 Sharpe 0.65 远低于 1.5 晋级底线;win_rate 0.328 < 0.45;max_drawdown 27.1% > 10% 底线。敏感性曲面在各处均平坦约为 0.4-0.5,没有高于噪声底线的稳健区域可供调节。

oos_vault 标记了 UNDERPOWERED(预计交易约 87 笔,而需要 100 笔)——该机制对于验证 XRP 的可用历史而言过于缓慢。

对 244 个策略候选以 q=0.10 进行 Benjamini-Hochberg 校正后保留 4。未能通过此处的候选无法与策略自身的噪声区分,无论其单独统计数据看起来多么出色。

结局总结

一个在单一载体上已验证的机制(ETH 成交量确认动量在夏普 1.05 时达到 paper 阶段)并不能迁移到 XRP——该单一标的动量族群中的每一个 XRP 载体都已过拟合并OOS崩溃,因此将同一配方重新指向、且敏感度曲面平坦于约 0.4-0.5 的情况下,并没有稳健区域可供调优。

分析师在优化后的 ANALYZING 阶段因三个不可豁免的 HARD 门槛放弃了它:走步法 is_overfitted=TRUE、样本外 Sharpe -0.413 <= 0,以及 PBO 0.636 > 0.5;deflated_sharpe 0.006 和跨越零点的 Sharpe CI 进一步确认结果只是 N 个候选中的最佳噪声(它也未通过策略层面的 FDR)。

将工厂唯一反复存活的优势——成交量确认的 4H 动量——移植到 XRPUSDT.BINANCE USD-M 永续合约上,构建一个3参数的多空组合;只有在同步的成交量激增确认真实参与度时才采取方向性动量,否则保持空仓。

基础回测在 2434 天内运行了 448 笔多空平衡交易,Sharpe 为 0.47,总收益率为 127.4%,利润因子为 1.25,平均单笔交易收益为 0.72%(远高于 0.15% 手续费底线);优化将其提升至 Sharpe 0.65 / 227.7% 收益率,覆盖 415 笔交易,但走步法显示平均样本内 Sharpe 1.037 崩溃至样本外 -0.413。

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。