策略
SOL-对-ETH 相对动量轮换,美元中性多空(双标的 SOLUSDT.BINANCE + ETHUSDT.BINANCE 永续合约,日线——做多较强者 / 做空较弱者,依据 SOL/ETH 比率 MOMENTUM,由死区门控,选择离散度较高以确保费用可行,纯 OHLCV,2 参数)
结局: 已放弃
SolEthRelativeMomentumRotationLS
avg_trade_return_pct 1.86% 轻松覆盖双腿手续费——更高离散度的配对选择确实解决了导致 ETH/BTC 失败的手续费可行性问题
假设
一个 MARKET-NEUTRAL(美元中性)的 LONG-SHORT、两品种、纯-OHLCV 相对动量策略,在两个 HIGH-BETA 山寨主流币——SOL 和 ETH——之间轮动,基于 SOL/ETH 比率的 MOMENTUM:当 SOL 走势更强时,做多 SOL / 做空 ETH 美元中性;当 ETH 领涨时,翻转为做多 ETH / 做空 SOL。这是我的 ETH/BTC 相对动量思路在手续费可行版本上的演进:ETH 和 BTC 相关性过高,因此其比率波动幅度很小,相对价值交易面临 fee_edge 风险(ETH/BTC 回归版本在约 ~0.01%/交易 处已被淘汰)。SOL/ETH 是一个 HIGHER-DISPERSION 得多的组合——SOL 的贝塔和特质波动使 SOL/ETH 比率在各个周期中 15-40% 变化——因此每一相对动量腿都能捕捉到足以轻松覆盖双腿手续费的大幅波动。它建立在本次会话的详尽证据之上:山寨币上不存在单品种方向性优势,且所有补充确认在覆盖度/优势上均失败,因此这是一笔市场-NEUTRAL 相对押注,使用 ONLY 纯 OHLCV(唯一可靠可测、覆盖完整的数据),对冲掉了使单品种方向如此脆弱的加密货币贝塔。它交易的是 WITH 比率的周期漂移(SOL-跑赢 vs ETH-跑赢 周期)、动量方向——NOT 回归(在对抗漂移中失败)——并且 NOT L32-禁止的 8-品种横截面轮动(它是最小化 2-资产 构建,具有独立的论点)。DELIBERATELY 2-PARAMETER(动量回看期 + 死区)以抵抗过拟合。日线带死区在低手续费下保持低换手率,同时频率足够高(在多年历史中约 ~40-80 次轮动),可被衡量。它填补了未达标的 LONG-SHORT(13.3%)、市场中性以及配对范围桶。
有测量结果但统计上不显著的市场中性相对动量轮动,其结果触及开发者自己预先登记的放弃条件——不值得花 2 小时优化。在完整的约 117 次轮动样本上,夏普比率为 0.62,自助法 CI [-0.164, 1.383] 跨越零,且 PSR 0.927(<0.95),也就是说,在约 225 次试验导致的折减之前,就无法与无优势区分开来;而且 PF 的 1.22 很薄,胜率为 49.6%(勉强盈亏平衡)。开发者明确预先承诺:“如果这一轮的 CI 仍跨越零,诚实的结论就是比率动量轮动没有稳健优势,应当 ABANDONED 这一策略家族。我不会测试第三组配对。”迭代-3的止损/跟踪止损修正从机械层面改善了盈亏结构,但正如开发者坦诚提醒的那样,它无法凭空创造并不存在的相对强度持续性——同一机制在 ETH/BTC 上曾PF 0.737,因此提升至 1.22 源于配对窗口选择,而非优势。177%收益由异常值驱动(仅 2023 就有 +69.4%,其中有一个 +47.7% 单日;2024 和 2026 为负,峰度为 5.7);这属于接近零收益幸存者的市场中性配对类别(L45/L52, market_neutral 约为 0.01),最大 DD 24.3%(CI 至 66%)高于晋级门槛;benchmark_meaningful 正确地为 false。参数调优无法凭空变出完整样本 CI 已显示并不显著的信号;开发者基于自身推理也不允许再挑选第三组配对。失败模式:no_edge 市场中性相对动量配对,CI 跨越零(L45/L52)。
实现
在 1-DAY 柱上,根据 SOL/ETH 比率的动量,在 SOLUSDT.BINANCE 和 ETHUSDT.BINANCE USD-M 永续合约之间进行美元中性多空轮动。信号为过去 mom_lookback 天的对数比率变化除以一个期限标准差的比率变动(日比率变化标准差 × sqrt(期限))——每根柱都以自然单位表示的无量纲 z 值。达到或超过 +死区时:等美元做多 SOL / 做空 ETH;达到或低于 -死区时:反向操作。风险现在也以与信号相同的期限标准差单位衡量:比率从入场后达到的最佳水平回撤 trail_sigma(1.0)时平仓;比率从入场点向不利方向变动 stop_sigma(1.5)时平仓(两者均受绝对上限 15% 限制);或者动量 z 值穿回零点时平仓。SOL 和 ETH 的收盘价分别存储在以 UTC 日索引为键的独立字典中,比率序列则由两者共同存在的日期交集重新构建,因此两条交易腿绝不会悄然错位;入场比率和迄今最佳比率会根据仓位自身的 ts_opened 从这些存储数据中重新推导,确保两种止损在重启后仍然有效。ETH 交易腿与 SOL 交易腿按美元金额匹配,并由两条交易腿各自的钩子幂等地协调;绝不会单独持有对冲腿,也不会让两条交易腿处于同一方向。每条交易腿的名义仓位为权益的 30%,杠杆为 1.0,并按各自交易品种的步进单位向下取整(SOL 整数单位,ETH 0.001)。恰好有 2 个可调参数:mom_lookback 和死区。
验证结果
CLEAN RESTART 2026-09-04——本次运行的判定历史和学习记录已移除,并从验证阶段重新启动。此前放弃该策略是由流水线导致,而非市场导致:第 -2 层测试框架错误绑定了 @staticmethod 辅助函数(已修复);QA 在未优化的冒烟测试上就给出了最终绩效判定(已移除——现在 QA 只评判正确性);沙箱超时则源于回测槽位资源不足(已修复)。假设和策略代码均未改变。请依据代码本身进行验证;绩效将在之后由完整回测和优化器判定。
风险调整后优势微弱:Sharpe 0.62,CI [-0.18, 1.42] 在 117 次轮换中包含零。机制现在已具备费用可行性,收益风险比也已修复,但比率相对强度的持续性较弱(相同机制在 ETH/BTC 上为 PF 0.737,而在这里为 1.25——对交易对和窗口敏感)。这不是代码故障。应高度重视 OOS/留出集;若留出集 Sharpe 不明显为正,则按开发者预先注册的标准放弃。不要再追测第三个交易对。
美元中性(等美元)仓位规模符合假设的原意,但并非贝塔中性:SOL 的贝塔较高,因此仍留下残余的净加密货币贝塔;所以“对冲掉加密货币贝塔”只在一定程度上成立。代码正确实现了指定的美元中性仓位规模(这是策略逻辑说明,并非仓位规模错误)。分析师应确认优势来自相对强度阿尔法,而非残余的山寨币贝塔择时。
回测评审
- 夏普
- 0.62
- 总收益率
- 177.34%
- 最大回撤
- 24.33%
- 总交易数
- 234
- 胜率
- 49.6%
- 盈利因子
- 1.22
avg_trade_return_pct 1.86% 轻松覆盖双腿手续费——更高离散度的配对选择确实解决了导致 ETH/BTC 失败的手续费可行性问题
234 笔交易(约 ~117 次轮动)是一个可衡量样本,因此零结果值得信赖而非噪声
简洁的 2 参数美元中性构建,数据对齐正确;没有代码/执行缺陷
Sharpe 0.62,bootstrap CI [-0.164, 1.383] 跨越零,且 PSR 0.927(<0.95)——在计入折减前,基于完整样本的结果与没有优势无法区分
PF 仅 1.22,win_rate 49.6%——期望收益勉强盈亏平衡;同一机制在 ETH/BTC 上曾 PF 0.737,因此改善来自配对选择,而非优势
由离群值贡献:仅 2023 为 +69.4%(单日 2023-11-21 +47.7%),2024 -2.4% 和 2026 -4.8% 为负;峰度 5.7
市场中性相对动量配对属于几乎没有策略能存活的类别(L45/L52);最大 DD 24.3%,CI 至 66%,高于晋级门槛
迭代历史
验证失败(第 2 层——合成场景): 使用的参数:['deadband', 'leg_frac', 'max_days', 'vol_window', 'mom_lookback', 'min_notionals', 'stop_ratio_pct', 'size_precisions', 'hedge_instrument_id'] 请检查 __init__ 是否通过 self.parameters.get() 设置了所有属性。 - steady_uptrend: TypeError: super(type, obj): obj must be an instance or subtype of type(柱时间戳:1735689600000) - steady_downtrend: TypeError: super(type, obj): obj must be an instance or subtype of type(柱时间戳:1735689600000) - flat_ranging: TypeError: super(type, obj): obj must be an instance or subtype of type(柱时间戳:1735689600000) - volatility_spike: TypeError: super(type, obj): obj must be an instance or subtype of type(柱时间戳:1735689600000) - zero_volume: TypeError: super(type, obj): obj must be an instance or subtype of type(柱时间戳:1735689600000) - price_gap: TypeError: super(type, obj): obj must be an instance or subtype of type(柱时间戳:1735689600000)
验证失败(第 4 层 — QA 审查): - NO ROBUST EDGE -- CONFIRMED,且开发者预承诺的放弃标准已被触发。迭代-3 的几何修复(波动率缩放硬止损 + 跟踪比率止损)NOT 未能挽救该策略,也 NOT 未修复其针对的缺陷:结果从勉强为正(iter2:PF 1.06,+2.06%)变为勉强为负(iter3:PF 0.986,total_return -1.65%,Sharpe 0.054,其 CI [-1.56, 1.78] 跨越零值,期望值 -$22/交易),RR STILL 反转(avg_win $2868 < avg_loss $3273),尾部几乎未变(largest_loss -$11,599 对比此前的 -12,208 ——1.0-西格玛跟踪止损在日收盘价上仍然跳空)。决定性证据是符号不稳定:IDENTICAL 机制现为 PF 0.737(ETH/BTC),PF 1.06(SOL/ETH iter2),以及 PF 0.986(SOL/ETH iter3)——它不仅随品种改变符号,还会因 SAME 品种上的几何调整而改变符号。这是近零优势信号的明确特征:比率动量轮动不存在可捕捉的持续相对强度优势,正如开发者所承认的(「如果这次返回的 CI 仍然跨越零值,诚实的结论就是比率动量轮动没有稳健优势,该家族应被 ABANDONED」)。avg_trade_return_pct 0.9395% 再次成为掩盖净亏损的名义加权伪影(PF 0.986),并非真实优势。 - TAIL STILL NOT CONTAINED ——几何修复未达预期。尽管采用了波动率缩放 + 跟踪止损,largest_loss 为 -$11,599(约 ~12%),max_drawdown 19.55(CI [10.71, 42.63]),var_95 2.53,cvar_95 3.54 ——本质上与 iter2 相同的尾部,因为日收盘比率止损(硬止损或跟踪止损)在硬相对反转上跳空,无论水平是固定的 15% 还是 1.5 期限西格玛。这印证了无优势发现(理应将 RR 提升至 1 之上的修复并未实现),>100% 回撤/VaR 仍是会话范围的归一化伪影。鉴于放弃已无意义。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。