策略
COIN-M ETH反向永续合约的状态过滤布林带均值回归策略,多空双向(单一品种BINANCE_CM,1H,在区间震荡/ADX低的状态下反向交易带区极值ONLY,中轨止盈,失败回归止损,纯OHLCV,低参数,手续费最低的交易场所)
结局: 已放弃
EthCoinMRangingBollingerReversionLS
测量充分(5.8年内有781笔交易);构造清晰,采用4参数的纯OHLCV策略,带有ADX制度过滤器,反向合约仓位规模计算正确
假设
一个 LONG-SHORT、SINGLE-INSTRUMENT、纯 OHLCV 逆趋势 MEAN-REVERSION 策略,标的为 ETHUSD_PERP.BINANCE_CM(Binance COIN-M 反向永续合约,ETH 保证金,1-HOUR K线)。该策略有意同时填补两个最低于目标配额的组合桶:BINANCE_CM 交易所(仅占组合的 1.7%,而配额为 >=5%——单一最匮乏的交易所,且几乎未被探索)和 long_short 方向(14.5%)。COIN-M 还携带整个交易所集合中最低的往返吃单手续费(~0.06% RT),这为一个单笔交易目标较为温和的均值回归策略拓宽了扣费后的边际空间。关键的是,这是一个工厂尚未验证的 MECHANISM——它不属于 NOT 动量/突破/延续类策略(挤压突破、开盘区间突破、脉冲K线延续、Donchian以及已在组合中的时间序列动量家族),而是其正交对应面:将短期过度延伸回归均值进行衰减。经典布林带/RSI 均值回归在加密市场中众所周知的失败模式(趋势碾压衰减并触发止损)通过一个 ADX 震荡区间 GATE 结构性解决:该策略仅在 ADX(14) 确认低趋势/震荡区间环境时衰减布林带极端值,当 ADX 显示强趋势时则完全回避。纯 OHLCV 意味着零补充数据依赖(规避了导致近期系列策略失败的资金费率/期权结算数据问题)。刻意保持低参数量(4 个核心参数)以抵抗过拟合——这一直是导致策略被弃用的反复出现的原因。
这是针对 QA 指出的具体缺陷所做的最小改动,也是结构性修复,而非参数微调。QA 接受了均值回归效应确实存在(win_rate 0.717,每笔交易毛收益为正),并准确定位了期望收益的损耗来源:失败回归止损是在 CLOSE 的K线上评估的,因此快速的不利波动会穿透止损,造成 largest_loss -$5,289,而 avg_loss 为 $762——尾部约为 7x。从算术上看,这项修复值得尝试:期望收益为 0.717*$289 - 0.283*avg_loss,在 avg_loss $762 时为 -$8.2;一旦平均亏损降至约 $732 以下,结果就会转为 POSITIVE,也就是约 4% 的降幅。在盘中封顶 7x 尾部理应远超这一幅度,因此与阈值扫描不同,这种做法有改变结果的机制依据,而不是重新排列噪声。实现方式:已启用 use_bracket_orders,并设置 stop_loss_pct=2.0%;基于 z 值的止损已从 should_exit 中的 REMOVED 移除,以免仓位被重复退出(基础模板会在中轨信号触发退出时取消挂单腿)。我通过测量该工具真实 1 小时历史数据中入场区 z 值下的 OLD 动态止损距离 sigma*(stop_z-|z|)/price,选定了 2.0%:中位数 2.12%,p25 1.27%,p75 3.54%。因此止损基本仍在原来的位置——改变的只有它何时触发 WHEN——这使得修复针对的是尾部,而不是重新调整优势。现在仓位规模根据相同的括号止损距离衡量风险,从而保持 _risk_pct 的语义准确。其他一切均未改动:导入项、ADX 状态机、启动/重新入场逻辑、连续 z 分数信号以及反向合约仓位规模计算,都与第 1-3 层之前保持一致。我也坦诚说明剩余风险:QA 测得每笔交易的毛优势约为 0.11%,而往返成本约为 0.10% COIN-M,因此即使封住尾部,利润空间也很薄,止盈端则未作改变——如果这次运行仍显示 profit_factor 接近 1.0,且亏损分布已归一化,坦率的结论就是该机制在这个交易场所没有盈利空间,应当放弃,而不是继续调参。
单一标的均值回归期望收益为负——没有可优化的优势。在已测量的781笔交易中:profit_factor 0.907(<1),avg_trade_return_pct -0.059%(为负),期望收益为 -$14.74/笔,total_return在5.8年间为-19.6%,夏普比率-0.019,bootstrap CI [-0.85, 0.76]跨越零(PSR 0.48)。迭代-2的柱内括号止损按设计发挥作用(win_rate升至64.3%),但盈亏比仍然倒挂(avg_win $224 < avg_loss $444,约为0.5),因此在该胜率下,期望收益仍约为 -$17/笔——这是修复未能扭转的经典小赢大亏型均值回归特征。策略对手续费很敏感(在1H频率下,手续费占毛收益的17.34%),多数年份都亏损(2022 -8.3%,2024 -3.0%,2026 -2.6%),几乎所有压力窗口也都为负(china-ban -3.3,FTX -2.7,SVB -5.2),且max_drawdown 35%(从CI到76.5%)。这是L55单一标的反向/均值回归系列(0/174个存续策略);在这个类别中,重新调整入场/退出阈值从未使策略收益超过成本。任何参数变更都无法扭转低于-1-PF、单笔收益为负、盈亏RR倒挂的均值回归策略。失败模式:no_edge/fee_edge单一标的均值回归,盈亏RR倒挂(L55)。
实现
在ETH COIN-M反向永续合约(ETHUSD_PERP.BINANCE_CM、1小时柱、纯OHLCV)上,采用ADX门控的多空布林带反向策略。该策略计算收盘价在20根柱上的布林带z分数;当z达到布林带极值(+/-2.0)时启动反向交易,并且只有当价格开始回归至布林带内,且威尔德ADX(14)确认趋势低于20、处于震荡市时才入场。中轨(z穿越SMA)为止盈位;48柱的时间止损限制持仓时长。迭代2将失败回归止损从收盘柱时检查z值,改为在2.0%处设置VENUE-MANAGED括号挂单,使其能在柱内触发,从而在快速不利波动时于止损位平仓,而非等到下一次收盘。仓位规模以该括号止损距离为依据,承担相当于权益0.5%的风险;总名义仓位上限为权益的0.75x,并按面值$10的反向合约取整,最低为WHOLE张。
验证结果
CLEAN RESTART 2026-09-04——本次运行的判定历史和学习记录已移除,并从验证阶段重新开始。此前放弃它是由流水线导致的,而非市场因素:Layer-2测试框架错误绑定了@staticmethod辅助方法(已修复),QA在未经优化的冒烟测试上给出了终局绩效判定(已移除——QA现在只判断正确性),沙箱超时则源于回测槽位不足(已修复)。假设和策略代码均未改变。请根据代码本身的优劣进行验证;绩效将在之后由完整回测和优化器判定。
由分析师决定是基于完整历史数据放弃还是优化;如果前向滚动验证后PF仍维持在约1.0,则应按开发者明确提出的条件放弃,而不是耗费一个3阶段的优化流程。
按照开发者自己的测量,手续费可行性处于临界水平(单笔交易毛优势约为0.11%,而往返CM成本约为0.10%),实际结果则是盈亏平衡至负收益(PF 1.0001,avg_trade_return_pct约为0)。这是经典的均值回归手续费陷阱:中轨TP使盈利幅度受限,而2%括号止损令亏损扩大约2x,因此扣费后的利润空间几乎为零。这不是代码缺陷——机制、过滤器和退出逻辑均已正确实现。
回测评审
- 夏普
- -0.02
- 总收益率
- -19.62%
- 最大回撤
- 35.12%
- 总交易数
- 781
- 胜率
- 64.3%
- 盈利因子
- 0.91
测量充分(5.8年内有781笔交易);构造清晰,采用4参数的纯OHLCV策略,带有ADX制度过滤器,反向合约仓位规模计算正确
迭代-2的柱内括号止损在机制上有效(最高至64%),win_rate;没有爆仓,每笔交易风险受控
期望收益为负:PF 0.907,avg_trade_return_pct -0.059%,期望收益为-$14.74/笔交易,total_return -19.6%,夏普比率-0.019(CI [-0.85, 0.76])
RR仍然倒挂(avg_win $224 < avg_loss $444,约0.5)——高胜率无法抵消亏损的不对称性;止损修复提高了胜率,却没有改善期望收益
对手续费敏感:在1H均值回归频率下,手续费占毛收益的17.34%
L55单一品种反向交易/均值回归类别(0/174个存续者);多数年份亏损;压力窗口几乎全为负值;max_drawdown 35%(从CI到76.5%)
迭代历史
验证失败(Layer 4——QA审查)[类别=no_edge]: - FEE-NONVIABLE / NEGATIVE EXPECTANCY。均值回归效应确实存在(win_rate 0.717,单笔交易毛优势为正),但优势太小,无法抵御手续费和失败回归的肥尾损失。沙箱结果:profit_factor 0.962(<1),avg_trade_pnl -$8.21(期望收益为负),total_return -11.9%,在750天/265笔交易期间alpha为-0.0338。这是典型的不对称均值回归陷阱:趋势尽管受到ADX过滤器控制,仍会穿透反向交易,导致小额中轨止盈(avg_win $289)被大额失败回归止损(avg_loss $762,largest_loss -$5,289)抵消。开发者如实测量的结果与此一致:单笔交易毛优势约为0.11%,约等于一次往返的COIN-M手续费;而ADX过滤器已处于最佳设置(不加过滤为-0.12%/笔交易,adx_max=25 -0.03%,adx_max=20 +0.013%毛收益),却仍无法达到0.10%底线。任何参数改动都无法挽救一个在结构上等同于交易成本的优势。 - 失败回归止损根据柱CLOSE上的z值检查(stop_z=3.5),因此快速不利走势会在检查触发前穿透止损——largest_loss -$5,289,而avg_loss为$762(尾部约为7x)。这是设计行为,并非缺陷,但这正是高胜率无法带来正期望收益的原因。
验证失败(第 4 层——QA 审查)[类别=no_edge]: - 迭代 -2 的修复在机制上是正确的且确实生效了,但它揭示了该机制在手续费方面不可行,且无恢复余地。K线内区间止损正如预期般限制了尾部风险(largest_loss -$5,289 -> -$525,avg_loss $762 -> $414,max_drawdown 31% -> 6.78%,峰度归一化至 3.4),并将期望值从 -$9 提升至 -$0.40——但结果现为盈亏平衡/微负:profit_factor 0.997,期望值 -$0.40,avg_trade_return_pct -0.0016%(低于 0.10% CM 下限),total_return -4.04%,夏普比率 0.072(CI [-1.14, 1.18] 跨越零轴),超过 271 笔交易。尾部限制同时也削减了 win_rate(0.717 -> 0.672)和 avg_win($289 -> $202),因为 2% K线内止损会在交易回撤后反弹时平仓,导致约 0.11% 的毛边际被约 0.10% 的往返成本抵消为零。开发者事先已明确该标准:'如果本次运行在损失分布归一化后仍显示 profit_factor 接近 1.0,则应弃用而非继续调参'——该条件恰好满足(PF 0.997,损失已归一化)。没有任何参数调整能弥补如此结构性的缺口。 - 应予肯定之处(非缺陷):区间转换按照检查 16 正确实现——use_bracket_orders 且 stop_loss_pct 和 take_profit_pct 均 > 0,z-stop 从 should_exit 中移除以避免双重退出,仅保留基于信号的退出(中轨 TP、时间止损),且头寸规模按实际区间止损距离衡量风险。正是 QA 要求的修复;它暴露了边际的缺失,而非创造了边际。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。