策略
震荡状态波动带均值回归,多空双向(单一标的ETHUSDT Binance USD-M,1H bar,仅当趋势过滤器确认无趋势时淡出过度延伸偏离ONLY——针对'反转在趋势型主流币上失效'问题的既定修复方案,参数精简)
结局: 已放弃
EthRangingRegimeVolBandMeanReversionLS1H
结局总结
该策略旨在通过一个硬性的ADX状态过滤器(仅在震荡市场淡出z-score过度延伸)挽救小时级ETH均值回归,以应对工厂反复证实的结论——短期反转在流动性良好的主流币上失效。在1,388笔交易、6多年的回测中,经过状态过滤的淡出策略在每一年、每一种市场状态下都亏损——总回报-85.7%,夏普比率-1.94(置信区间完全为负),盈亏比0.72,期望值为每笔-$60.76——同时还带有该假设声称要避免的颠倒的小止盈/大止损结构。由于实现是干净的,且在具有统计意义的大样本中负面结果毫无歧义,分析师在预优化回测评审关口就放弃了该策略,而不是花费数小时去优化噪声。它从未通过该关口:优化、优化后分析和风险评审均从未运行,其结果清晰地再次证实了在流动性良好的加密货币主流币上,经ADX状态过滤的逆势淡出策略无法泛化出正edge。
假设
一个针对ETHUSDT.BINANCE(USD-M永续合约,1-HOUR bar)的LONG-SHORT、SINGLE-INSTRUMENT均值回归策略,该策略是刻意针对工厂反复证实的结论——'短期反转在流动性良好的主流币上并不存在——在该时间尺度上,这些标的会延续/呈现趋势'——而设计的AROUND。此前的横截面3日反转策略之所以失败,正是因为它淡出了UNCONDITIONALLY,因而在结构上做空了主导该资产范围的动量。本策略通过一个硬性的REGIME GATE从根本上修复了这一问题:仅当趋势过滤器(ADX)判定资产当前处于NOT趋势状态时,才淡出过度延伸的偏离。在无趋势(震荡)状态下,相对于短期移动平均线的小时级过度延伸会发生回归;在趋势状态下,该策略保持FLAT且绝不逆势操作。它与已经主导投资组合的动量/脉冲/趋势系列策略正交(且是刻意的补充)——它捕获的是OPPOSITE状态,而非重新表达同一种edge。纯粹的OHLCV,拥有深厚的多年历史数据,交易次数多(不存在稀疏性壁垒),单一流动性良好的主流币(不存在像XRP/LTC那样由新闻驱动的单一山寨币事件缺口风险)。参数少,可抵御过拟合。
第3次迭代对第-3层墙钟超时的修复:此前版本从ENTIRE不断增长的bar历史数据中重建numpy数组,并在每个bar上对全部数据运行ADX个Python循环,导致总开销为O(n^2),在多年期1H数据上超出了300秒的冒烟测试限制。最小的手术式修改是在构建数组之前,将self._bars切片为固定长度的尾部(self._calc_window = max(band_period, 5*adx_period)+10 = 80个bar),这样每个bar的开销为O(1),总开销为O(n)。所有信号/入场/出场/仓位规模逻辑与已经通过第1-2层的代码逐字节相同,因此不会使之前的任何检查出现回归。该窗口能充分覆盖ADX Wilder预热期(2*adx_period+1)以及SMA波动带周期。
从根本上就是站不住脚的前提,不是可修复的bug或人为假象——这印证了该工厂反复验证过的结论:流动性主要品种上并不存在短期反转效应。该假设的整个论点是,ADX无趋势区间过滤器能够挽救小时级ETH逆势策略;但经过过滤后的逆势策略在EVERY年(2020至2026)和EVERY区间下仍然亏损,total_return-85.7%,夏普比率-1.94(整个CI为负,ci_high-1.14),PSR0.0,profit_factor0.72,在一个规模较大、具有统计意义的1,388笔交易样本中,期望值为-$60.76。代码忠实地实现了该前提(没有退化的空操作参数,没有会计假象,波动率约为20%,处于合理范围,也没有不可能出现的交易日),因此开发者没有可修复之处,优化器也没有未调优的杠杆可寻——从这样一个整体为负的基线出发进行2小时的优化,只会拟合噪声。2标准差的z分数逆势信号,即使被限定在ADX<25的震荡区间,对ETH也具有负向预测价值;该策略还带有该假设声称要避免的反转型小-TP(exit_z 0.3)/大止损(4%)结构(avg_win $290 < avg_loss $455)。不应迭代:不存在具体的代码缺陷,将同样的逆势机制重新套用到另一个流动性主要品种上,只会重复表现出同样的无反转失败。符合已知的失败模式:在流动性加密货币主要品种上,经过过滤的短期均值回归策略无法泛化出正向优势。
实现
针对ETHUSDT USD-M永续合约的1H多空均值回归策略。淡出相对于24-bar SMA波动带的过度延伸z-score偏离,但ONLY仅当ADX(14) < 25(无趋势/震荡状态)时才交易。在趋势行情中保持空仓,若交易期间转为趋势则平仓退出。使用止损和均值回归退出规则。逐bar计算被限定在一个固定长度的近期窗口内,使回测以O(n)时间运行。
验证结果
验证失败(第3层——沙盒回测):冒烟测试超过了300秒的墙钟时间限制。这几乎总是意味着存在随历史数据增长而扩展的逐bar计算——例如在每个bar上重新扫描完整的资金费率/补充数据序列,或在calculate_signal()/on_bar()中每个bar都重建一个列表并调用min()/sorted()。应在__init__中预先计算好排序的时间戳数组ONCE,并使用bisect,或按时间戳缓存查找结果,使每个bar的开销为O(log n)而非O(n)。
回测评审
- 夏普
- -1.94
- 总收益率
- -85.70%
- 最大回撤
- 86.79%
- 总交易数
- 1388
- 胜率
- 52.9%
- 盈利因子
- 0.72
干净、忠实的实现:ADX状态过滤器、z-score淡出信号以及止损/退出逻辑都正确地表达了所陈述的假设(没有人为造成的假象,没有记账错误,合理的波动率20.6%,也没有不可能出现的交易日)。
样本和基础设施健康:6多年内共1,388笔交易,交易次数多,单一流动性良好标的,每个bar的开销为O(1)——回测本身是可信的。
这一负面结果本身就具有信息价值:它以具有统计意义的大样本清晰地证实了'主流币上不存在反转'这一先验判断。
在EVERY年内(2020 -13%、2021 -52%、2022 -32%、2023 -2.8%、2024 -5.8%、2025 -25.6%、2026 -18.4%)以及每一种市场状态下——total_return -85.7%、max_drawdown 86.8%——都持续呈现负edge。
风险调整后指标严重为负,毫无歧义:夏普比率-1.94(整个CI区间为负,ci_high -1.14),索提诺比率-2.46,PSR 0.0,profit_factor 0.72,information_ratio -1.01,期望值-$60.76/笔,共1,388笔交易。
该假设声称要避免的却是被颠倒的盈亏结构:exit_z=0.3(微小盈利)对4%止损,给出avg_win $290 < avg_loss $455,胜率为53%;16%的毛利被手续费吞噬——但即使盈亏结构正确,也无法挽救一个在6年内都没有预测能力的信号。
迭代历史
验证失败(第2层——合成场景测试): 使用的参数:['exit_z', 'entry_z', 'risk_frac', 'adx_period', 'band_period', 'min_notional', 'adx_threshold', 'stop_loss_pct'] 请检查__init__是否从self.parameters.get()设置了所有属性。 - steady_uptrend: TypeError: 'float' object is not callable (bar时间戳: 1735691580000) - steady_downtrend: TypeError: 'float' object is not callable (bar时间戳: 1735691580000) - flat_ranging: TypeError: 'float' object is not callable (bar时间戳: 1735691580000) - volatility_spike: TypeError: 'float' object is not callable (bar时间戳: 1735691580000) - zero_volume: TypeError: 'float' object is not callable (bar时间戳: 1735691580000) - price_gap: TypeError: 'float' object is not callable (bar时间戳: 1735691580000)
结局总结
即使限定在ADX无趋势(震荡)状态下,短期反转在流动性良好的加密货币主流币上也没有正edge,因此在ETH上的过度延伸淡出交易在所有年份和所有市场状态下仍然亏损。
分析师在预优化BACKTEST_REVIEW关口给出了'放弃'的裁定,判定这是一个根本上站不住脚的前提,而非可修复的bug;代码忠实地实现了该假设,回测干净且可信,因此没有可供开发者修复的缺陷,优化也找不到未调优的可用参数。优化、后续分析师评审和风险评审均从未被触及。
一个针对ETHUSDT Binance USD-M永续合约的1H多空均值回归策略,该策略淡出相对于短期SMA的过度延伸z-score偏离,但仅在ADX趋势过滤器(ADX<25)确认为无趋势/震荡状态时才交易,在趋势行情中保持空仓以避免逆势操作。
在6多年(2019-2026)、1,388笔交易中,该策略明显亏损:总回报-85.7%,夏普比率-1.94(整个CI区间为负,ci_high -1.14),盈亏比0.72,期望值-$60.76/笔,86.8%最大回撤,胜率为52.9%。它在每一年、每一种市场状态下都为负,盈亏结构颠倒(平均盈利$290 < 平均亏损$455),约16%的毛利被手续费吞噬。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。