策略
ETH 成交量确认动量,多空策略(单品种ETHUSDT.OKX永续合约,4小时K线——仅在成交量激增确认真实参与时ONLY采取方向性动量交易,否则空仓;ATR跟踪,3参数)
结局: 已放弃
EthVolumeConfirmedMomentumLS_OKX
结局总结
EthVolumeConfirmedMomentumLS_OKX 仅在成交量激增确认时交易 ETH 4H 动量。其默认参数回测表现尚可:460 笔交易,单笔 0.88%,高于 0.20% 底线;回撤为 14.5%,贝塔接近零,但夏普仅为 0.71,且置信区间跨越零。优化过程释放了锁定的 risk_pct 并放宽成交量门槛,导致配置几乎耗尽权益,并在 459 天留出集上得到 -0.47 夏普。分析师在一次迭代后以过拟合为由放弃该策略。分析师还指出它与一个已晋级的币安同类策略重复,并标记了优化器参数选择问题和疑似 MTM 伪影,要求进行流程审查。
假设
一种LONG-SHORT、单一交易品种、纯OHLCV策略,针对ETHUSDT.OKX USD-M永续合约进行交易:当同期VOLUME SURGE确认存在真实参与时,交易方向性动量ONLY;否则保持空仓。它保留了这个策略工厂中已证明具有正向优势的唯一原则——幸存策略的SELECTIVE方向过滤器(只交易高置信度动量,未获确认时保持空仓)——但将第二时间框架确认替换为真正DIFFERENT、不易过拟合的确认维度:VOLUME。这使它与所有待处理构想都有实质区别(在BTC/XRP/LINK上的双时间框架/EMA结构动量共振、BNB上的海龟突破、ETH上的周度ORB):筛选门槛是有成交量支撑的参与度,而非时间框架一致、突破或区间。它刻意避开本次会话中已确认的失败模式:NOT泛化且未经确认的突破/通道/MR(在可测样本中均显示每笔交易期望为负),NOT期权/补充型/低频构想(它们会在开发阶段夭折,或因样本不可测而失败),NOT主要币种横截面轮动(被L32禁止)。它是SIMPLE纯OHLCV单一交易品种策略,采用标准增量指标(开发阶段交付的实现不包含掉期/超时处理);处于费用可行且可测的范围内(有成交量支撑、约1-3%的4H交易腿远大于约0.10%的费用;成交量激增反复出现,足以在多年历史数据中产生约150-250笔交易),并补足未达目标的LONG-SHORT类别(13.4%,而基准组合是86%长期持仓)。仅有3个参数。选择ETH,是因为它在流动性较高的主要币种中成交量序列最深、最干净,而且它此前的共振尝试因OVERFIT而失败(并非缺乏优势),这表明存在真实的方向性信号,而更简单、由成交量筛选的构造可能更稳健地捕捉到该信号。
严格实现了该假设:选择性方向过滤器是由 VOLUME 支持的参与度,而不是第二个时间框架、突破或区间。参与度直接融入信号(连续变化,每根K线都不同),同时入场还要求确实达到成交量激增条件,因此不会交易成交量稀薄时的大幅波动——这是核心主张。4H K线符合中长期周期;在 BINANCE USD-M 上,单边约为 1-3%,往返交易约为 0.10%。由于策略做空,交易场所为期货。恰好有 3 个参数(mom_lookback、vol_surge_mult、trail_atr_mult);入场阈值、滞后机制、基准窗口、ATR 周期和 risk_pct 均已锁定,因此优化器无法通过名义仓位换取夏普——这正是此前导致 ETH 汇合尝试失败的原因。ITERATION 2(干净重启):反馈指出,先前放弃策略是由流程缺陷导致(Layer-2 方法重绑定、对未经优化的冒烟测试给出终止性 QA 判定、沙盒槽位不足);这些问题都已修复,应该依据策略本身的优劣进行验证。因此我没有改变 NO 行为;唯一改动是严格的机械式去重——此前每根K线都从头计算前一根K线的入场资格(再次执行 ATR 遍历以及再次排序成交量中位数),尽管前一根K线上已经算过。现在会根据前一根K线自身的事件时间戳缓存结果;未命中时(首根K线、重启、数据缺口)仍完整重新计算。信号、入场和退出逐位不变;每根K线的工作量减半,为 300s 沙盒墙钟时间留出余量。请注意,由于哈希未变化检查,无法以字节完全相同的代码重新提交;这是可证明不改变行为的最小改动。
失败代码:过拟合。优化阶段未通过硬性留出集门槛:在 459 天内的 113 笔未见交易中,夏普为 -0.47,z 值 -2.09,与 WF-OOS 不一致。失败原因并非 fee_edge:首份报告的 avg_trade_return_pct 为 0.88%,高于 0.20% OKX 底线,且 PF 1.40、DD 14.5%。也并非贝塔:贝塔为 0.03。尽管假设锁定了 risk_pct,优化器却将其设为自由参数,同时遗漏了 trail_atr_mult。它通过名义仓位提高夏普(risk_pct 0.099 达到边界,平均仓位为权益的 168%),并移除了成交量门槛(vol_surge_mult 1.13)。已实现权益降至 -100%(DD 94%,PF 1.000,冲击成本占毛收益 101%)。看似亮眼的 DSR 0.9998 / PBO 0.004 / OOS 1.50,都基于被标记为 metrics_reliable=false 的 MTM 日序列计算,且反复出现成对的 -X/+X 日(例如 -87%/+617%)。这疑似为引擎标记伪影,其机制尚未验证。这些数字不予认可。基础配置是最可信的版本,夏普为 0.71(CI 跨越 0),但 2026 YTD 为负。它低于晋级门槛,且与已获晋级的 ETHUSDT.BINANCE 同类策略重复(相似度 0.956)。根据 L126,对相同机制进行第二次优化不予采纳,最多也只能复现该同类策略。流程审查事项:(1)优化器的 free_params 选择忽略了策略声明的锁定参数(调优了 risk_pct,遗漏了 trail_atr_mult);(2)成对的 -X/+X MTM 日收益污染了夏普、DSR、PBO 和 CPCV,应提交引擎审查。
实现
在ETHUSDT.BINANCE USD-M永续合约上进行4小时多空动量交易;仅当同期成交量激增确认真实参与时才ONLY入场,否则空仓。每根K线计算连续的参与度加权动量信号:mom_atr * min(1, 参与度),其中mom_atr是以ATR为单位的mom_lookback根K线价格变动,参与度是该K线成交量除以前60根K线成交量的MEDIAN,再除以vol_surge_mult。信号向上穿越+1.0 ATR且成交量激增条件确实满足(参与度 >= 1)时做多;反向条件满足时做空。交叉测试可防止每根K线都重复进入同一方向的仓位。退出条件为结构性规则:动量相对持仓方向达到0.25 ATR,或价格触及距入场后最佳收盘价trail_atr_mult个ATR的ATR移动止损(滞后机制可让仓位在单段行情中的短暂停顿期间继续持有)。仓位规模按固定2%权益风险设置移动止损,并限制在权益名义价值的1x以内,杠杆为1.0。纯OHLCV,单一品种,无辅助数据,3个可调参数。 从ETHUSDT.BINANCE移植至ETHUSDT.OKX(2026-09-24);代码相同,已在该交易场所重新验证证据。
验证结果
将文档字符串和描述改为 OKX。
模块文档字符串、config.description 和 rationale 仍写着 ETHUSDT.BINANCE / BINANCE USD-M。配置实际交易的是 ETHUSDT.OKX 4H,这才符合假设要求。这里只是文档未同步;代码没有硬编码交易场所。
保留它;如果基础合约不允许重写,则为它重新命名。
min_bars_required() 覆盖基类方法。此覆盖是有意且无害的:它返回 max(vol_window+2, atr_period+2, mom_lookback+2) = 62 根K线。
从交易品种读取精度,而不是使用参数。
size_precision=3 是策略侧的底线。交易品种实际的 OKX 手数步长可能不同。这不是缺陷,因为 _submit_entry 会通过 instrument.make_qty() 传递数量。
本次运行的盈亏不含 OKX 资金费率(funding_folded=false,funding_events_available=0)。该策略有 48% 敞口,平均持仓约 2.4 天,因此 2020-2026 期间的永续合约资金费率可能占毛收益 +0.88%/笔的较大部分。在 OKX 上核查资金费率,或重新运行并计入资金费率后,再相信其净优势。空头表现弱于多头(胜率 35% 对比 46%)。请在完整回测中分别查看多头和空头仓位。
回测评审
- 夏普
- 0.71
- 总收益率
- 302.56%
- 最大回撤
- 14.46%
- 总交易数
- 460
- 胜率
- 41.1%
- 盈利因子
- 1.40
可靠样本:2,299 天内 460 笔交易(220 笔多头,240 笔空头),符合该假设对选择性 4H 触发条件的大致预期。
单笔交易经济效益远超成本:avg_trade_return_pct 为 0.88%,高于 0.15% USD-M 的底线(约 5.8x)。佣金占毛收益的 4.5%,冲击成本为 5.7%。
PF 1.40,最大回撤14.5%(低于20%期货默认值),卡玛比率1.52。从2020至2025的每个完整日历年均为正收益。
回报并非来自市场贝塔:贝塔 0.03,相关性 0.13,阿尔法 0.215。L170 检验通过。
在三种波动率状态下均盈利,在压力最大的第三种状态下夏普最高(0.94)。压力状态下的第三组没有出现反转。
交易符合该机制:多空两个方向都有交易,平均持仓约 2.4 天。entry_diag 显示所有 460 个信号均已提交,没有因仓位规模而被丢弃。
夏普比率为0.71,置信区间为[-0.06, 1.53],且PSR 0.93。即使在折减之前,这也仅属边缘水平,因此优化必须证明其具有统计显著性。
空头仓位几乎持平:240 笔空头交易约获利 +$28k,胜率为 35.8%。多头约获利 +$274k,胜率为 46.8%。优势主要来自多头。
日收益反复出现成对抵消的数值,而其余时段基本持平(例如 2021-06-14/15 上的 -5.92/+6.29)。其机制尚未验证。它可能抬高波动率和尾部指标,也可能扭曲夏普和回撤数据。请标记并审查回测框架。
2026年初至今为-6.1%,最长回撤持续了240天。
本次运行不适用 QA 的资金费率疑虑:funding_folded=true,有 3,293 次资金费率事件可用,且每笔交易都包含资金费率字段。单笔交易数据已扣除资金费率。
分析
首份报告(默认参数)轻松超过费用底线:0.88% avg_trade_return_pct,高于期货底线 0.20% OKX(2x RT);PF 1.40,DD 14.5%,460 笔交易,2020-2025 均为正,贝塔为 0.03(并非依赖贝塔;14.5% DD 远低于买入并持有的 ETH 回撤)。
敏感性分析未发现基础配置存在断崖式变化(在 +/-20% 范围内,夏普为 0.58-0.91)。
HARD 门槛未通过:在 459 天内的 113 笔交易中,留出集夏普为 -0.47(2025-01-05 至 2026-04-09),z_vs_oos -2.09,consistent_with_oos=false。这是足够大的样本,也是经测量得出的负向前瞻结果,并非样本稀少所致。
优化器调优了 risk_pct,而不是 trail_atr_mult。free_params 为 [mom_lookback, risk_pct, vol_surge_mult],但假设已锁定 risk_pct。它把 risk_pct 推到其 0.10 边界(5x 是默认值),并将 vol_surge_mult 调至 1.13(成交量激增门槛实际上被移除了)。平均仓位升至权益的 168%,最大 DD 达到 93.9%,已实现权益在 2025-03-06 时达到 -100%。总回报为 -0.77%,有 PF 1.000,冲击成本吞噬了毛收益的 101%。
优化后的夏普 1.46、DSR 0.9998、PBO 0.004 和 CPCV OOS 1.50,都来自一个 MTM 日序列;metrics_reliable=false 将其标记为与实际权益走势符号不一致。该序列反复出现成对的 -X/+X 日(例如 2021-12-24/25 上的 -84%/+529%,以及 2022-01-16/17 上的 -87%/+617%),基础报告中也以较小幅度出现了相同形态。稳健性分析部分不能作为有效证据;它测量的是伪影,而非优势。疑似为引擎 MTM 标记伪影;其机制未经独立验证。
即使是最可信的配置(基础报告),夏普比率也只有 0.71,自助法 CI 为 -0.06 至 1.53(跨越 0)。2026 YTD 为 -6.1%,而 Dec-2025 和 Mar-2026 分别为 -9% 个月和 -11.5% 个月。即便经过干净的重新优化后仍能站得住脚,这也低于 L134 晋级门槛(夏普比率 >= 1.0,PF >= 1.5)。
这是与已获晋级的 ETHUSDT.BINANCE 成交量确认动量策略高度重复的策略(相似度 0.956,is_duplicate=true)。通过 OKX 在 ETH 上实现相同机制,只增加了交易场所冗余,并未带来分散化。
相同的注意事项
> 0,至少 10 笔交易
基于被标记为 metrics_reliable=false 的 MTM 序列计算;不予认可
CI -0.06 至 1.53
结局总结
优化器必须遵守策略声明的锁定参数,因为放开risk_pct使其得以通过加杠杆提高夏普比率;基于被标记为不可靠的MTM序列得出的稳健性统计结果不应计入评估。
分析师放弃了它(失败代码:过拟合),因为它未通过硬性留出集门槛:在 459 个未见过的交易日中,夏普为 -0.47,z 值 -2.09,而滚动前向结果为 OOS。优化器还把锁定的 risk_pct 调到了边界,并放宽了成交量门槛(vol_surge_mult 1.13)。其强劲的 DSR/PBO/CPCV 指标来自一个被标记为 metrics_reliable=false 的 MTM 序列,而且该策略几乎复制了一个已获晋级的 ETHUSDT.BINANCE 同类策略(相似度 0.956)。
一种多空、纯 OHLCV 策略,在 ETHUSDT.OKX 永续合约上使用 4H K线;仅当成交量激增(当前成交量相对于中位数基准)确认参与度时,才交易经 ATR 归一化的动量,否则保持空仓;动量反转并经过滞后机制,或触发 ATR 追踪止损时退出。
使用默认参数时,该策略在 2,299 天内通过 460 笔交易获利 +302.6%,夏普为 0.71(CI -0.06 至 1.53),PF 1.40,最大回撤 14.5%,avg_trade_return_pct 0.88%,贝塔为 0.03。优化后的配置总计亏损 0.77%,最大回撤为 93.9%,PF 1.00;留出集夏普为 -0.47,共 113 笔交易。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。