策略
由未平仓合约量平坦度筛选的区间反转策略,单交易场所多空(单一交易品种 BNBUSDT.BINANCE USD-M——买入下轨/卖出上轨 ONLY,仅在未平仓合约量 FLAT 时交易 = 平衡、杠杆中性的 RANGING 市场,会均值回归;当 OI EXPANDING 时观望 = 新增杠杆正在形成趋势;中轨退出 + ATR 止损,3 个参数)
结局: 已放弃
BnbRangeFadeOpenInterestFlatnessGatedLS
结局总结
该策略为长期失效的均值回归问题尝试了一个新角度:只有在未平仓合约量平坦时才对布林带进行反转交易,其理论依据是趋势由新增杠杆流入(OI 上升)推动,而真正均值回归的区间出现在 OI 平坦、参与者双向交易时——以一种新颖的市场状态分类器角色使用 OI,而不是将其用作动量确认。构建简洁严谨(单一交易场所、三个参数、尺度不变的自身分位数平坦度阈值;当 OI 数据过时时视为平坦)。但回测彻底证伪了这一前提:盈利因子 0.70,回报为 -51.6%,回撤达到 54.2%,突破硬性放弃底线并明显违背平衡区间论点;5 年中有 6 年亏损,且单笔交易优势方向错误。分析师在回测审查阶段放弃了该策略,认定它属于反复失效的区间/均值回归反转策略家族——OI 平坦度门槛未能防止反转交易被碾压,这与本次会话中其他经市场状态门槛筛选的均值回归候选策略失效的情况完全一致——没有任何优势可供优化。
假设
ITERATION 2——针对报告的 `leverage_set_but_unused` 门控进行单行修复,未改动其他内容。先前的提交 DID 确实在 position_size 中使用杠杆,但读取方式是 `getattr(self.config, "leverage", 1.0)`;静态检查会查找直接的 `self.config.leverage` 引用,无法识别 getattr 形式,因此将杠杆标记为未生效。修复方法是直接读取:`lev = max(1.0, float(self.config.leverage))`,并添加注释说明这使 2x 真正生效(总名义金额上限变为 0.25 * 2 = 权益的 0.50,恰好是 1x 名义金额的两倍,因此回测确实不同于 1x)。这与此前在 LINK 策略中通过该门控的单行改动相同。其他内容均未改变:导入项未动(没有禁用模块),类结构、连续带状 z 信号、OI 持平市场状态分类器、所有入场/退出条件、全部阈值以及风险侧仓位规模计算项,均与 previous_code 逐字节相同——因此此前已通过的层级仍然通过。从行为上看,仓位规模计算与原本预期一致(对始终定义了 `leverage` 的配置使用 getattr,返回的本来也一直是 2.0);此次修改只是让验证器能够识别杠杆的使用。其余设计与此前获认可的方案相同:将 OI 用作区间市场状态分类器,而非方向性确认(这是符合 L42 的正交、非价格要素);持平阈值取自滚动自身分位数,而非第四个自由参数,因此具有尺度不变性,符合 L5;OI 合并自 `metrics` Binance Vision 镜像(涵盖 BNBUSDT 从 2021-12 到 2026-05 的 244,790 5 分钟数据行)及近期月份的 `open_interest` fapi 镜像,因此按照 L35,完整的 365 天沙盒窗口均有数据;一次性构建 numpy 序列,使用 O(log n) 的不晚于指定时点查找(无前视偏差,每根 K 线的成本不会随历史长度增长);当 OI 数据缺失/过时时按 FLAT 处理,不使用仅依赖价格的回退逻辑;并依据 L15 进行双重上限约束的仓位规模计算。
明确的净亏损策略,没有优势且回撤灾难性。profit_factor 0.70(<1.0),约 5 年内 total_return -51.6%,夏普比率 -0.211(CI [-0.89, 0.44],probabilistic_sharpe 0.26),information_ratio -0.91,且 avg_trade_return_pct -0.289%(NEGATIVE),在 303 笔交易中的期望收益为每笔 -$170。max_drawdown 为 54.2%(CI 高 85.8%)——违反硬底线(L19),直接违背“平衡区间市场状态会均值回归”的论点。该策略在 6 年中有 5 年亏损(2022 -14.5%,2024 -27.0%,2025 -22.2%),其中 avg_loss($1048)超过 avg_win($894)。这一假设——将带状均值回归限制在平坦-OI 区间市场状态中,以避免朴素反转策略被趋势碾压——已被证伪:经过 OI 平坦度门槛筛选的反转交易仍被碾压。这属于区间/均值回归反转策略家族,在此反复失效(本次会话中,多个受资金费率/OI/VWAP 门槛筛选的均值回归和反转策略候选都因同样的负优势而被放弃——市场状态/确认门槛从未能挽救加密货币均值回归)。负的 avg_trade_return_pct(并非仅低于底线)意味着信号方向错误,因此降低频率或重新调整阈值都无济于事——不存在可供优化的参数区间,将同一种亏损机制换到其他交易品种上也会再次亏损。根据 L8(当 total_return ≤ 0 或 PF < 1.0 时绝不推进)和 L19(DD > 50% 时硬性放弃),应在 BACKTEST_REVIEW 阶段放弃,而不是花 2 小时进行优化。
实现
在 BNBUSDT.BINANCE USD-M 永续合约上进行多空区间均值回归(4-HOUR K 线,2x 杠杆),交易由 OPEN-INTEREST FLATNESS 市场状态分类器控制。每根 K 线都会计算 `band_len` 周期移动平均线和标准差,并将取反后的通道标准分数 -(close - ma)/sd 作为连续信号,因此符号代表交易方向(价格高于均值且偏离过大 -> 负值 -> 卖出上轨;低于均值且偏离过大 -> 正值 -> 买入下轨),而 |signal| >= band_k 正好表示“收盘价位于通道上或超出通道”。同时计算 oi_change = OI_now / OI[band_len bars ago] - 1;当 |oi_change| 小于或等于其自身近期 |oi_change| 历史值的滚动中位数时,将市场分类为 RANGING。入场必须同时满足两个条件:OI 市场状态为持平,且 AND 价格收盘价已超出通道。当 OI 正在扩张或急剧收缩(杠杆正在推动方向性行情),或者 OI 数据源过时/缺失时,策略完全不交易。按最先触发者执行退出:(1)在入场通道之外 stop_atr_mult x ATR(14) 处设置 ATR 止损,在入场时锁定并在 K 线内测试——区间已破,市场状态正转为趋势;(2)中轨目标,即盘中触及移动平均线;(3)盘中触及对侧通道;(4)18 根 K 线(约 3 天)时间止损。仓位规模按该止损距离使权益风险为 2%,并将杠杆硬性上限设为 25% 倍(即权益名义金额的 50%,按 2x 计算)。
验证结果
验证失败(leverage_set_but_unused):配置将杠杆设为 2.0,但策略在仓位规模计算中从未引用杠杆。应据此计算仓位——名义价值 = 权益 * 比例 * 杠杆 / 价格(读取 self.config.leverage)——或将杠杆设为 1.0。按当前写法,杠杆不起作用,回测结果与 1x 完全相同。
转交 backtest-review 进行完整的多年评估(涵盖区间和趋势市场状态),其中适用 0.15% 底线;38 笔交易太少,尚不足以断定策略失效。
沙盒表现净亏损(total_return -8.8%,夏普比率 -0.72,PF 0.60,win_rate 0.447,avg_trade_return_pct -0.294%,共 38 笔交易),单笔表现低于 0.15% 底线。NOT 这是结构性的费用可行性失败:换手率适中(24,平均持仓约 1 天),且价格波动足以覆盖费用(avg_win 约 1.5%,avg_loss 约 2%)。净亏损源于小样本窗口内胜率偏低的方向性优势缺失——空头表现不佳(0.33,而多头为 0.55),也就是说,尽管设有 OI 门槛,上轨反转交易仍在上涨行情中被碾压。这是均值回归优势的问题,而非费用造成的频繁交易。
优化器/分析师可能会发现更严格的百分位数(例如 0.3)能够筛选出真正的区间并提高胜率;值得进行敏感性检查,但并非必需。
校准说明(并非缺陷):flat_pctile=0.5(|oi_change| 的中位数)将所有柱线中的 HALF 判定为“平坦”,这是对平衡区间的宽松定义。3 搜索参数的说法仍然成立(flat_pctile 是固定值,并非搜索得出),对扩张和收缩都使用 |oi_change| 是对“平坦”的合理解读,尽管假设强调在扩张时观望。
回测评审
- 夏普
- -0.21
- 总收益率
- -51.61%
- 最大回撤
- 54.25%
- 总交易数
- 303
- 胜率
- 45.2%
- 盈利因子
- 0.70
构建简洁且数据安全:单一交易场所/交易品种,将 OI 平坦度用作正交市场状态分类器;可调参数刻意限制为 3 个;交易数量充足(303)
profit_factor 0.70(< 1.0)——该策略亏损;total_return -51.6%
avg_trade_return_pct NEGATIVE(-0.289%),期望收益为每笔交易 -$170——信号方向错误,调整费用或频率都无法修复
max_drawdown 54.2%(CI 高 85.8%)——违反硬底线(L19),与“平衡区间市场状态”的论点相矛盾
夏普比率 -0.211(CI [-0.89, 0.44]);information_ratio -0.91;probabilistic_sharpe 0.26——无优势
在 6 年中有 5 年亏损(2022 -14.5%,2024 -27.0%,2025 -22.2%);avg_loss > avg_win
区间/均值回归反转策略家族(在此反复失效);OI 平坦度市场状态门槛未能挽救它
结局总结
将未平仓合约量平坦度用作区间市场状态分类器,未能挽救带状均值回归——与同一会话中被放弃的、受资金费率/VWAP/OI 门槛筛选的均值回归策略相似,市场状态/确认门槛无法挽救加密货币均值回归;它在趋势行情中仍会被碾压,导致单笔交易优势方向错误,回撤超过 50%,且没有可供优化的参数区间。
根据总回报 ≤ 0 / 盈利因子 < 1.0 规则和 >50% 回撤硬性放弃规则,该策略在 BACKTEST_REVIEW 阶段被放弃:OI 平坦度市场状态门槛被证伪——经过门槛筛选的带状反转交易仍被碾压——回撤达到 54.2%,直接违背了平衡区间的论点。由于单笔回报为负(信号方向错误),调整阈值或频率都无济于事,因此策略从未进入优化或分析阶段。
一种在 BNBUSDT.BINANCE USD-M 永续合约上运行的单交易品种、单交易场所多空策略,采用区间均值回归,在布林带式通道上进行反转交易(买入下轨/卖出上轨),但仅在未平仓合约量平坦时交易——以 OI 平坦度作为区间市场状态分类器(平衡、杠杆中性的行情会均值回归),当 OI 扩张(新增杠杆正在形成趋势)时则观望;在价格回归中轨、触及对侧通道、触发 ATR 止损或时间止损时退出。
这是一个明确的净亏损策略,且回撤灾难性:盈利因子 0.70,约 5 年内总回报 -51.6%,avg_trade_return_pct -0.289%(为负,期望收益为每笔 -$170),夏普比率 -0.211(CI [-0.89, 0.44]),信息比率 -0.91,以及最大回撤 54.2%(CI 至 85.8%),共计 303 笔交易。该策略在 6 年中有 5 年亏损(2024 -27.0%,2025 -22.2%),平均亏损($1,048)超过平均盈利($894)。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。