跳至正文
全部策略

策略

ETH 对 BTC 相对动量轮动策略,美元中性多空(双工具 ETHUSDT.BINANCE + BTCUSDT.BINANCE 永续合约,日线柱线——基于 ETH/BTC 比率 MOMENTUM 做多强者 / 做空弱者,无效区间门控,纯OHLCV,2参数)

结局: 已放弃

EthBtcRelativeMomentumRotationLS

忠实实现了该假设:美元中性的ETH/BTC比率动量轮动,市场中性(benchmark_meaningful=false,因此买入并持有正确地未被作为基准)

假设

一个MARKET-NEUTRAL(美元中性)LONG-SHORT、双工具、纯OHLCV相对动量策略,根据ETH/BTC比率的MOMENTUM在两个流动性最深的加密资产之间轮动:当ETH趋势强于BTC时,做多ETH/做空BTC(美元中性),当BTC领先时则反转为做多BTC/做空ETH。该策略是围绕本次会话中艰难得出的约束条件设计的。(1)PURE OHLCV —— 在我的BTC主动成交流(taker-flow)构想因“无法测试、覆盖率见顶”而失败之后(补充数据源过于稀疏,无法形成可测量的样本),而OI/溢价/资金费率可能存在同样的问题,该策略仅使用目录中最完整的两条价格序列,因此可测量性和数据覆盖率都不成问题。(2)它是我整个待处理队列中真正DIFFERENT的一类(而队列中其余全部是单一工具的方向性BTC):市场中性相对价值策略,填补了未达标的LONG-SHORT(13.3%)以及市场中性和配对范畴,并对冲掉了使单一品种方向性交易如此脆弱的加密货币贝塔。(3)它押注的是MOMENTUM信号,而非均值回归 —— ETH/BTC比率的均值回归策略因“fee_edge/其他”原因而失败,因为它与该比率的结构性漂移相悖;而本策略正是顺应WITH这种漂移(alt季节 vs BTC季节机制),捕捉的是数周级别的大幅比率趋势(约10-30%),而非微小的均值触碰,这才是能在美元中性条件下覆盖手续费的关键。(4)它NOT被L32禁止的8-major横截面轮动策略 —— 它是一个具有独特论点的极简2资产构建。(5)DELIBERATELY 2-PARAMETER(动量回看期+死区)以抵御曾导致更大型构建失败的过拟合问题。带死区的日线K线既能将换手率维持在足以覆盖手续费的低水平,又能保持足够的频率(历经多年历史约40-80次轮动)以具备可测量性。

QA 要求我核实尾部数据,核实后发现了一个真实缺陷和一个测量伪影,因此我如实报告两者。伪影方面:报告的单笔交易极值是按PER LEG计算的,而对于美元中性配对,每条腿都主要受市场beta支配,该beta会与其对手腿相互抵消。一条持有 $35k 的空头-BTC腿在经历约45% BTC的上涨行情后录得约 -$16k,而与之配对的多头-ETH腿则录得约 +$12k——PAIR实际损失约为 $4k,这大致等于名义的比率止损上限,因此largest_loss -$16,261 并不能证明止损失效。同样的注意事项也适用于“倒挂的RR”以及偏度/峰度:对冲配对的单腿统计量衡量的是beta,而不是价差优势本身。我并非对该裁决提出异议——profit_factor 0.737 和 total_return -17.6% 是配对层面的数据,且确实为负——我质疑的只是发现2中的尾部计算。真实缺陷在于:比率止损此前仅依据CLOSES进行评估,因此在日线柱上,一次盘中突破止损上限的相对波动直到下一次收盘才会被处理。该止损现在还会评估刚完成的那根柱子的最不利盘中比率(多头情形下为ETH的最低价 / BTC的最高价,空头情形下为ETH的最高价 / BTC的最低价),并在该柱收盘时离场。这是刻意保守而非前瞻性偷看:检查运行时该柱已经走完,而成交价采用收盘价——比真实的挂单止损价格更差——因此不可能美化回测结果。我还将止损上限减半,stop_ratio_pct 0.12 -> 0.06,这是唯一一项针对已测得的收益不对称性(QA所说的“剧烈震荡并强烈反转”)而不触碰信号本身的改动:每次轮动的最大不利变动降至约单腿名义本金的6%,约合权益的2%。这两者都是LOCKED常量,因此可调参数面仍恰好保持在2个。此前各层验证过的一切均未改变:相同的导入、相同的类、相同的按日对齐方式,信号序列仍然只用收盘价构建(新增的最高价/最低价存储仅服务于风险控制,绝不进入信号计算),相同的入场阈值和过零离场规则,相同的幂等对冲对账,任何事件路径上都没有on_bar重写、也没有零参数的super()调用,仓位规模计算方式相同。诚实的结论是,也是我给分析师的建议:这些改动只是限定了每次轮动的损失上限,并不能创造出优势。QA的核心发现在于ENTRY,而入场信号正是该假设本身——如果更紧、具备盘中感知能力的止损仍不能将profit_factor提升到1以上,那么比率动量这一策略族就应该被放弃,而不是第四次迭代,因为剩下的唯一可调旋钮(回看期、无效区间)恰恰是2参数设计本应避免的过拟合曲面。

在一个可靠的582笔交易 / 6.7年样本上呈现负期望值:profit_factor 0.9999(毛收益持平,无净优势),avg_trade_pnl_usd -0.137,CAGR -1.22%,recovery_factor为负。+7.83% total_return完全是未实现的(end_unrealized_pct 7.91)——是一个未平仓的期末持仓,而非已实现的优势。夏普比率 0.26,其 CI [-0.48, 1.01] 横跨零值,max_drawdown 56.6%,且 impact_cost_pct 101%(容量约 $98k)意味着市场冲击成本本身就会耗尽全部优势。ETH/BTC相对强弱动量的持续性不足以在扣除成本后实现美元中性盈利——这是关于入场信号本身的结论,IS该假设。优化2参数(回看期、无效区间)无法将一个毛收益持平/PF<1的结果提升到盈利。不值得投入2小时进行优化。abandon_class=negative_expectancy。

实现

在1-DAY柱线上,于ETHUSDT.BINANCE与BTCUSDT.BINANCE USD-M永续合约之间进行美元中性多空轮动,由ETH/BTC比率的动量驱动。信号(未改变)为mom_lookback天内的对数比率变化除以该比率自身的日波动率再乘以 sqrt(horizon)——每根柱线均为以自然单位表示的无量纲z值,仅由收盘价构建。当信号达到或高于正无效区间阈值时,策略以等额美元做多ETH / 做空BTC;当信号达到或低于负无效区间阈值时,则做空ETH / 做多BTC;当信号重新穿越零值,或自入场以来比率朝不利方向移动了stop_ratio_pct(现为6%)时,仓位平仓——该判断同时依据当前收盘价AND以及已完成柱线的最不利盘中比率(多头情形下为ETH的最低价对比BTC的最高价,空头情形下为ETH的最高价对比BTC的最低价),因此一次盘中突破止损上限的相对反转会在当根柱线内即被处理,而非延后一天。ETH和BTC的价格分别存储在以UTC日索引为键的独立字典中,比率序列则由两者共有的日期交集重建而成。BTC腿与ETH腿按美元金额匹配,并从两个钩子函数中幂等对账;对冲腿绝不会被单独持有或与主腿同向持有。每条腿的名义本金在1.0倍杠杆下为权益的35%。恰好有2个可调参数:mom_lookback和无效区间。

验证结果

CLEAN RESTART 2026-09-04 — 本次运行的裁决历史和学习记录已被移除,并从验证阶段重新开始。此前的放弃源于流水线本身,而非市场:Layer-2 测试框架错误地绑定了 @staticmethod 辅助函数(已修复),QA 曾对一个未经优化的冒烟测试给出终局性绩效裁决(已移除——QA 现在仅判断正确性),沙箱超时则源于回测槽位饥饿(已修复)。假设与策略代码均未改变。请就代码本身的优劣进行验证;绩效将在稍后由完整回测和优化器决定。

在一个可测量的全历史样本(550 笔交易,PF 0.965,-22.4%,avg_trade_return_pct +0.061% 低于双边手续费)中呈现出接近零/为负的优势(edge)—— 该假设本身就已标记为比 SOL/ETH 更弱的低离散度 ETH/BTC 配对。实现忠实于原设计,因此这是分析师层面的一个边际发现。根据开发者预先设定的条件(PF 未能跨过 1)在回测复核阶段放弃;不要进行优化。

名义上市场中性的账本出现57.8%最大回撤(CI 至 83%,持续1894天):仅在入场时保持美元中性,而70%的毛敞口在6%止损之间,对持续的ETH/BTC比率趋势产生了亏损优势的复利放大。这不是对冲机制的缺陷——等名义本金对账是正确的——但这是风险官应当知晓的风险特征。

回测评审

夏普
0.26
总收益率
7.83%
最大回撤
56.58%
总交易数
582
胜率
45.9%
盈利因子
1.00

忠实实现了该假设:美元中性的ETH/BTC比率动量轮动,市场中性(benchmark_meaningful=false,因此买入并持有正确地未被作为基准)

可靠、可测量的样本:6.7年间共582次配对轮动,metrics_reliable=true,入场流水线健康(291次做多 / 291次做空,零丢单)

真正的 2 参数、低过拟合曲面

profit_factor 0.9999 ——毛收益持平,没有净优势可供优化调整

在可靠样本上呈现负期望值:avg_trade_pnl_usd -0.137,CAGR -1.22%,recovery_factor为负

+7.83%的头条数字完全是未实现的(end_unrealized_pct 7.91)——是一个未平仓的期末持仓,而非已实现的优势

max_drawdown 56.6%(CI 至 80%);夏普比率 0.26,其 CI [-0.48, 1.01] 横跨零值——与无技能表现难以区分

impact_cost_pct 101%,capacity_usd 约为 $98k —— 仅市场冲击成本就已耗尽全部优势(edge);仅在玩具级规模下可行

regime_performance“正常”三分位收益 -56%,位于 60% DD——不存在结构性的相对强弱优势

迭代历史

验证失败(第 2 层 — 合成场景): 使用的参数:['deadband', 'leg_frac', 'max_days', 'vol_window', 'mom_lookback', 'size_precision', 'stop_ratio_pct', 'min_notional_btc', 'min_notional_eth'] 请检查 __init__ 是否从 self.parameters.get() 设置了所有属性。 - steady_uptrend: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - zero_volume: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000) - price_gap: TypeError: super(type, obj): obj must be an instance or subtype of type (bar timestamp: 1735689600000)

验证失败(第 4 层 — QA 复核): - DECISIVELY NET-NEGATIVE —— ETH/BTC 比率动量轮动策略没有优势(edge),「顺漂移交易」的论点被证伪。在一个可测量的 28 笔交易 / 362 天的样本(metrics_reliable=true)中:profit_factor 0.737,夏普比率 -0.473(CI [-1.98, 1.18]),total_return -17.6%,期望值为每笔交易 -$637,win_rate 0.464,伴随 INVERTED RR(avg_win $3837 < avg_loss $4514)。注意 avg_trade_return_pct 显示为 +0.161%,但这在此处 MISLEADING —— 美元盈亏明显为负(avg_trade_pnl_usd -$637,PF 0.737,合计 -17.6%),因为亏损幅度超过了盈利:名义金额百分比的平均值被许多小额盈利拉高为正,而肥厚的左尾(return_skew -0.95,峰度 11.3,largest_loss -$16,261 对比 largest_win……展开收起

验证失败(第 4 层 — QA 复核): - DECISIVELY NET-NEGATIVE —— ETH/BTC 比率动量轮动策略没有优势(edge),「顺漂移交易」的论点被证伪。在一个可测量的 28 笔交易 / 362 天的样本(metrics_reliable=true)中:profit_factor 0.737,夏普比率 -0.473(CI [-1.98, 1.18]),total_return -17.6%,期望值为每笔交易 -$637,win_rate 0.464,伴随 INVERTED RR(avg_win $3837 < avg_loss $4514)。注意 avg_trade_return_pct 显示为 +0.161%,但这在此处 MISLEADING —— 美元盈亏明显为负(avg_trade_pnl_usd -$637,PF 0.737,合计 -17.6%),因为亏损幅度超过了盈利:名义金额百分比的平均值被许多小额盈利拉高为正,而肥厚的左尾(return_skew -0.95,峰度 11.3,largest_loss -$16,261 对比 largest_win $9,880)则将美元结果拖至严重为负。因此在任何具有经济意义的层面上,这都NOT未能跨过手续费门槛 —— 这是一个净亏损者。ETH/BTC 比率的相对强弱动量持续性不足以实现美元中性盈利:该比率剧烈震荡并大幅反转(那笔 -$16k 的尾部亏损就是相对趋势反转击穿了比率止损),因此「做多强势方/做空弱势方」的策略被套在了比率高点买入、比率低点卖出的位置。这是本次会话中单一标的动量失败案例在比率动量上的镜像 —— ETH/BTC 价差上的动量并不比山寨币本身的动量更具可交易性。 - RATIO STOP IS NOT CONTAINING THE TAIL —— 待核实。锁定的 stop_ratio_pct 为 0.12(约 12% 的不利比率变动,约为 70% 总敞口下 8.4% 的权益),但 largest_loss 为 -$16,261 —— 大约是该上限的两倍。在 DAILY 周期的K线上,比率止损仅在每根K线收盘时被检查,因此当相对趋势反转使比率在盘中跳空远超 12% 时,实际实现的亏损远大于名义上限;再加上 max_drawdown 26.62(CI [12.39, 45.03])以及 cvar_95 3.60,该美元中性构建的实际运行风险明显高于其「每次轮动约束在 ~8% 以内」的设计声明。这并非爆仓(杠杆 1.0,liquidated=false),但风险控制的说法在已实现的尾部风险面前站不住脚。

验证失败(第 4 层——QA 复核): - THE RISK-CONTAINMENT FIX MADE IT DECISIVELY WORSE —— 证实无优势,且开发者预先设定的放弃标准已经满足。收紧止损(12% -> 6% 上限)并加入盘中感知检查,并未将 profit_factor 提升到 1 以上;反而使结果变得DEEPLY更负:total_return -17.6%(第2轮迭代)-> -30.2%(第3轮迭代),profit_factor 0.737 -> 0.674(更差),夏普比率 -0.972(CI [-2.47, 0.67]),win_rate 0.443,avg_trade_return_pct -0.607%,且交易笔数几乎增至三倍(28 -> 70)。这就是决定性的信号:在一个没有方向性优势的信号上收紧止损,只会增加WHIPSAW——该策略现在被更频繁地止损出局,产生更多小额亏损(return_skew -2.62 / 峰度 26.6 以及 max_drawdown 37.97 证实尾部风险NOT已被控制,而是被高频交易放大了)。在每一项测量中,该机制都处于收支平衡或以下水平,且其符号会随着对同一配对进行止损调整而AND发生变化:ETH/BTC PF 0.737 -> 0.674,SOL/ETH PF 1.06 -> 0.986。这是该信号几乎零优势的确凿证据——加密货币比率上的相对强弱动量并不具备持续性。开发者事先明确了检验标准:“如果更紧、具备盘中感知能力的止损仍不能将 profit_factor 提升到 1 以上,那么比率动量这一策略族应当被ABANDONED,而不是进行第四次迭代。” PF 是0.674的;该标准已经满足。 - IMPLAUSIBLE RISK-METRIC UNITS —— 已验证(未改变,引擎侧)。max_drawdown 37.97(CI [14.19, 62.09]),var_95 2.61,cvar_95 4.02 均 >100% ——这是全会话范围的归一化伪影。需要指出的是,开发者对单腿与配对层面尾部分析的比较是CORRECT的,值得记录:美元中性配对中单腿层面的largest_loss主要受市场beta支配,该beta在两条腿之间相互抵消,因此这些单腿极值衡量的是beta,而非价差优势本身——真正重要的是配对层面的数据(PF 0.674,total_return -30.2%),它们是决定性为负的。

Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。