策略
BTC Binance USD-M 时段开盘区间突破动量——日内多空双向交易,交易突破 US 时段开盘区间阈值后的延续走势,时段收盘/止损退出(单柱 1H,3 参数)
结局: 已放弃
BtcSessionOpeningRangeBreakoutLS
仓位规模风险可控(avg_position_pct 39%,未发生强平),数据顺利载入,共 1,241 笔交易——这是确实没有优势的结果
假设
一个 LONG-SHORT、单品种、纯价格 INTRADAY 会话动量策略,运行于 BTCUSDT.BINANCE(USD-M 永续合约),1 小时 K 线——这是一次刻意的 FAMILY 与 HORIZON 转变,脱离目前占据我整个任务队列、毫无例外地落入 Sharpe 0.3–0.9 死亡区、无法通过 deflated-Sharpe 门槛的单品种双时间框架趋势组合。这是一个根本不同的机制:一个 OPENING-RANGE BREAKOUT,锚定于固定的每日参考点(US 会市开盘,约 13:00–14:00 UTC,历史上加密货币成交量与方向延续性最高的时段),NOT 滚动的 EMA/Donchian 趋势。每日它在最初约 2 小时内定义开盘区间的高/低点,然后当价格以能覆盖手续费的 THRESHOLD 突破该区间时交易 CONTINUATION,日内持有至收盘。它运行于 BTC,因为 BTC 是唯一具有已被证实方向性优势 AND 最深流动性的资产(因此日内突破具有真实的延续性且滑点低)。这填补了代表性不足的短周期 bucket(9.0% 对比 10% 目标),并且——关键的是——为一个原本 100% 多日趋势的组合增加了一个 DECORRELATED 日内组件,这正是投资组合真正缺乏的多元化。NOT 均值回归反转(L53——本策略交易 WITH 突破,而非反向),NOT 波动率压缩挤压(L54——触发条件是带有已记录延续性的方向性会话突破,而非低波动率跳价,且阈值设置为可覆盖手续费),NOT 滚动通道/Donchian 突破(锚定于固定会话参考点,不同的机制/市场状态),NOT 截面篮子(L52),NOT NON-PRICE-feed gate(会话锚点是时钟规则,100% 价格上——NOT L46),NOT 期权/COIN-M(L50/L51)。为抵御过拟合(#1 杀手,308x):单一 1 小时 K 线类型,3 参数,固定会话窗口。风险特征:每笔交易约 1% 权益风险,通过设在开盘区间另一侧的止损控制;波动率感知仓位规模上限为 20% 的权益*杠杆;2x 杠杆上限(读取 self.config.leverage);每日最多 ONE 笔交易(限制手续费累积)。
负期望的单标的日内时段开盘区间突破 —— 无可优化的优势。在 1,241 笔交易中:profit_factor 0.80,夏普 -0.24(CI [-1.09, 0.53]),total_return -46.5%,avg_trade_return_pct -0.020%(NEGATIVE),期望值 -$37/笔,information_ratio -1.05,PSR 0.30。它在 6/7 年中亏损(仅 2023 年为正),且在正常(夏普 -0.50)与压力(-0.42)两种制度下均亏损,两边均亏损(多头胜率 42%/空头胜率 38%),滚动夏普至 2026 仍深度为负 —— 'US-时段突破延续'假设在 BTC 上扣除费用后符号错误。max_drawdown 为 46.8%(CI 至 87%),佣金已占毛利的 18%,而毛利本身已为负。1,241 笔交易样本量充足,因此这是真正的无优势读数,而非数据或可测性伪影。这是日内节奏下第 L30/L63 个零幸存者的纯 OHLCV 单标的方向性突破类别。在七年中有六年为负的每笔交易优势,无法通过调整 breakout_threshold/entry_window_hours/max_hold_bars 来翻转。失败模式:no_edge/fee_edge 日内方向性突破(L30/L63)。
实现
BTCUSDT.BINANCE USD-M 永续合约上的多空日内 US-时段开盘区间突破,1 小时 bar。每个 UTC 日,标记为 13:00 和 14:00 的 bar 定义开盘区间;每根 bar 计算 calculate_signal 回报 (close - OR_mid)/(0.5*OR_range)。在区间完成后的 5 小时内 ENTRY(每日最多一笔):若 close > OR_high*(1+0.3%) 则 LONG,若 close < OR_low*(1-0.3%) 则 SHORT。在开盘区间对侧的止损、8 根 bar 后入场、或在 UTC 日滚动时 EXIT。仓位规模将约 1% 的权益风险暴露至对侧止损,上限为权益的 20% × 2x 杠杆。UNCHANGED,源自第 2 次迭代 —— 见依据:残余缺陷在于经济性,不可实现层面修复。
验证结果
CLEAN RESTART 2026-09-04 — 本次运行的判定历史和学习记录已被删除,并已从验证阶段重新启动。此前放弃的原因来自流水线,而非市场:Layer-2 测试框架错误绑定了 @staticmethod 辅助函数(已修复),QA 在未经优化的冒烟测试上给出了终局性能判定(已移除——QA 现在只判断正确性),沙箱超时则是由回测槽位不足导致的(已修复)。假设和策略代码均未改变。请根据代码本身的优劣进行验证;性能将在之后由完整回测和优化器判定。
回测评审
- 夏普
- -0.24
- 总收益率
- -46.52%
- 最大回撤
- 46.83%
- 总交易数
- 1241
- 胜率
- 40.3%
- 盈利因子
- 0.80
仓位规模风险可控(avg_position_pct 39%,未发生强平),数据顺利载入,共 1,241 笔交易——这是确实没有优势的结果
纯 OHLCV / 以时钟为锚,不存在数据可用性风险
预期收益为负:profit_factor 0.80,夏普比率 -0.24(CI [-1.09,0.53]),total_return -46.5%,avg_trade_return_pct -0.020%,每笔期望收益 -$37,IR -1.05,PSR 0.30
在 6 个年份中的 7 个年份亏损,在正常和压力市场状态下均亏损;多空两腿都亏损(多头 42% / 空头 38% 胜率)
max_drawdown 46.8%(CI 至 87%);在毛优势为负时,佣金占毛收益的 18%
L30/L63 个零存活的纯 OHLCV 单标的方向性突破策略类别;在 BTC 上,时段后续跟进这一前提扣除费用后方向相反
迭代历史
验证失败(第 4 层 —— QA 复审): - 费用可行性失败(检查清单项 7 + L6):该机制无法覆盖 taker 费用,本质上在扣费后亏损,而非调参失误。breakout_threshold 为 0.001(0.10%),声明的下界达 0.0005(0.05%) —— 低于 0.15% 费用可行性下限。此为高频延续突破,约 237 笔/年,因此往返费用拖累约为 ~237 x 0.10% ~= 名义金额的 24%/年,而开发者测得 BTC 的 post-13:00-UTC 延续毛边仅约 0.00-0.02%/笔 —— 较往返费用低一个数量级。实证结论性:沙盒 -18.5%,夏普 -2.75,PF 0.60,avg_trade_return_pct -0.082%,PSR 0.0003;在 1564 笔交易上的全样本平均 -0.121%/笔,7/8 年份为负,EVERY 网格单元均为负,且区间相对阈值/替代持仓/追踪退出均为负。依据 L6,在第 4 层拒绝,而非消耗优化预算。 - 代码本身 CORRECT,忠实实现了所述的延续-ORB机制 —— 此次失败为费用/优势(设计)层面的失败,而非代码 bug,因此重写无济于事。已验证:_stop -> _stop_px 遮蔽 bug 已修复;所有时钟逻辑均以 bar 时间戳为锚,时间退出计算 bars-since-entry(环绕/重启安全);OR 构建于小时 [13,15) 之上,_or_ready 于 14 小时;信号 +-1 处于边界;入场为正确 CONTINUATION 极性,止损位于对侧 OR 边界;风险锚定的仓位规模设有杠杆上限。两边对称亏损(long_win 0.376,short_win 0.402),确证为真正的无延续优势,而非极性反转。 - should_exit() 在重启时从实时信号符号推断 _side(_side==0)。回测中不可达;仅为实时中仓崩溃重启风险。鉴于建议放弃,此为无意义,出于完整性予以记录。
验证失败(第 4 层 —— QA 复审): - 费用可行性失败 CONFIRMED 且不可修复 —— 建议 ABANDON,而非另一次迭代。第 2 次迭代将默认 breakout_threshold 提高至 0.003(高于 0.15% 下限)并修复了实时重启的仓位侧恢复,但均未改变经济性:该机制具有约 0.00-0.02%/笔的毛利延续优势,相对于约 0.10% 的往返费用,在每种参数化下扣除费用后均为亏损。0.003 处沙盒:total_return -10.9%,夏普 -2.0,PF 0.68,avg_trade_return_pct -0.029%,PSR 0.008;全样本平均 -0.120%/笔,PF 0.83。开发者的第 -2 次迭代诊断具有决定性:窄 OR 日过滤器全部为负(最差最佳单元 +0.08%/PF 1.17 仍低于 0.15% 下限,尾部年度为负,一 best-of-15 PBO 伪影),且 REVERSED 极性亦亏损(-0.096% 基线)。两个方向均以约往返费用亏损,是 ZERO 毛优势被费用征税的标志 —— 排除极性错误,确证在 Binance USD-M 上作为 taker 策略的结构性不可行。将阈值提高至 0.15% 以上亦无法挽救,因为已实现优势约为 0。 - RESOLVED,源自第 1 次迭代:should_exit() 现在在状态丢失重启时从 cache.positions_open() 恢复真实仓位侧,仅当未找到未平仓仓位时才回退至信号符号。正确地处理了此前的实时重启警告。已验证在回测中行为惰性(_side==0 分支在那里不可达),沙盒零漂移。
验证失败(第 4 层 —— QA 复审): - NEGATIVE GROSS EDGE —— 放弃,不再迭代或优化。第 3 次迭代与第 2 次迭代逐字节相同,且开发者现提供决定性新证据:在费用项 REMOVED 的情况下,该机制的扣除费用前每笔毛利在每个阈值上均为负(-0.0215% 于 0.001,-0.0093% 于 0.002,-0.0201% 于 0.003;n=1230-1564,跨 2019-2026)。该策略在 ZERO 的费用下亏损,因此盈亏平衡的往返费用为负。这强于此前的"优势低于费用"结论 —— 任一方向上均无优势可征税(反转极性亦 -0.096%)。排除所有杠杆:无任何费用档位(0.10% RT、VIP-9 0.034%、maker 0.040% 或 0% 场所)、无 maker 限价执行(L31)、无杠杆/仓位调整。沙盒:-10.9%,夏普 -1.75,PF 0.68,avg_trade_return_pct -0.029%,PSR 0.020;每个网格单元与窄 OR 过滤器均为负。 - 代码正确,且与第 2 次迭代相比未变(已验证):时钟逻辑以 bar 时间戳为锚/重启安全、bars-since-entry 时间退出(环绕安全)、每日单笔交易上限、重启仓位侧恢复读取 cache.positions_open(),_stop->_stop_px 阴影 bug 已修复。本次失败纯属经济层面 —— 重写代码无济于事。可复用要点:(1)以时段为锚的脚手架对未来基于时钟的想法是稳健的;(2)self._stop/_start/_reset/_resume 会遮蔽 NautilusTrader Component 钩子并使回测零处理。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。