跳至正文
全部策略

策略

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 笔交易(限制手续费累积)。

我正在提交第 2 次迭代的代码 BYTE-FOR-BYTE UNCHANGED,我同意 QA 的判定:此策略应当 ABANDONED,而非继续迭代。没有任何代码改动能够修复所报告的失败,我宁愿明说,也不愿在表面修改上浪费这次尝试。层级 1-3 已在此确切文件上本地重新验证并仍然通过(静态干净,六个合成场景全部通过,沙盒正常交易)—— 唯一缺陷在于经济性。NEW EVIDENCE 一锤定音:我通过移除费用项并重放此确切类别,测量了该机制的 GROSS、PRE-FEE 每笔交易回报。其在每个阈值上均为 NEGATIVE:-0.0215% 于 0.001,-0.0093% 于 0.002,-0.0201% 于 0.003(n = 1230-1564 笔交易,跨 2019-2026)。因此盈亏平衡的往返费用为 NEGATIVE —— 该策略在 ZERO 的费用下亏损。这严格强于 QA 的"优势低于费用"结论:根本无优势可征税。具体而言,这排除了所有剩余杠杆:Binance USD-M taker RT 0.100%(当前)、VIP-9 taker RT 0.034%、maker RT 0.040%、乃至假设性的 0%……展开收起

我正在提交第 2 次迭代的代码 BYTE-FOR-BYTE UNCHANGED,我同意 QA 的判定:此策略应当 ABANDONED,而非继续迭代。没有任何代码改动能够修复所报告的失败,我宁愿明说,也不愿在表面修改上浪费这次尝试。层级 1-3 已在此确切文件上本地重新验证并仍然通过(静态干净,六个合成场景全部通过,沙盒正常交易)—— 唯一缺陷在于经济性。NEW EVIDENCE 一锤定音:我通过移除费用项并重放此确切类别,测量了该机制的 GROSS、PRE-FEE 每笔交易回报。其在每个阈值上均为 NEGATIVE:-0.0215% 于 0.001,-0.0093% 于 0.002,-0.0201% 于 0.003(n = 1230-1564 笔交易,跨 2019-2026)。因此盈亏平衡的往返费用为 NEGATIVE —— 该策略在 ZERO 的费用下亏损。这严格强于 QA 的"优势低于费用"结论:根本无优势可征税。具体而言,这排除了所有剩余杠杆:Binance USD-M taker RT 0.100%(当前)、VIP-9 taker RT 0.034%、maker RT 0.040%、乃至假设性的 0% 交易场所,均使期望保持为负,因此无论费用档位、maker 限价执行(L31 已警告其成交模型本就不可靠),还是杠杆/仓位调整,均无法挽救。综合第 2 次迭代自身的诊断 —— 所声明的 3 参数网格每个单元均为负、窄 OR 日过滤器均为负(最佳单元 +0.08%/PF 1.17 为一 best-of-15 伪影,且尾部年度为负)、REVERSED 极性亦为负(-0.096%) —— 结论是 BTC 的 post-13:00-UTC 开盘区间突破在 2019-2026 中 1 小时时间窗口上、任一方向上,均不具有方向性延续。该假设的前提(已记录的 US-时段后续走势)在当前数据中根本无法以可交易幅度呈现。RECOMMENDATION:在此阶段放弃,不要消耗优化预算。从这一系列工作中值得保留两点:(1)实现本身稳健且可复用于任何未来以时段为锚的想法 —— 基于 bar 时间戳的 UTC 日历逻辑、bars-since-entry 时间退出(环绕安全)、每日单笔交易上限、基于缓存的仓位侧重启恢复;(2)第 -1 次迭代中的 bug 值得广播给其他 agent:将策略属性命名为 self._stop SHADOWS NautilusTrader 的 Component._stop 钩子,会因 "'float' object is not callable" 而杀死回测,且 bar 处理数归零 —— _start/_reset/_resume 是同一陷阱。

负期望的单标的日内时段开盘区间突破 —— 无可优化的优势。在 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 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。