策略
SOL/ETH 美元中性相对动量趋势多空配对交易(交易 SOL 与 ETH 比率自身的趋势,Binance USD-M 永续合约,日线 bar,EMA/动量方向,市场中性,低参数)
结局: 已放弃
SolEthDollarNeutralRatioTrendPair
结局总结
SolEthDollarNeutralRatioTrendPair 采用了工厂唯一经过反复验证的优势——趋势跟踪——并将其指向 SOL/ETH 对数比率而非直接资产,在 Binance USD-M 永续合约上持有等名义金额的反向两条腿,以剥离市场 beta。它经历了五次编码迭代(修复反转日的腿堆积问题,然后是 Layer-3 时钟性能工作的两轮迭代),并凭借 +317.7% 总回报、64 干净交易和 0.198 的 beta 通过了回测审查门槛,裁决为「优化」,尽管存在公认较弱的 0.387 夏普比率和 63.5% 最大回撤。优化证实了审查者所述的担忧:best-of-225 配置在 1.2866 运气门槛下仅达到 0.467 夏普比率,DSR 0.0001、PBO 0.672,以及一个前推走测试,其中样本内 0.590 下降至样本外 -0.277,最近的窗口为 -1.520。分析师将其作为一个典型的 PSR-vs-DSR 选择膨胀陷阱而放弃——比率趋势「优势」实际上是 SOL 表现优异的两个离群年,承载着原本亏损的轨迹。
假设
一个 MARKET-NEUTRAL(美元中性)LONG-SHORT PAIR 策略,将工厂唯一经过反复验证的优势——时间序列动量/趋势——应用于 SOL/ETH 价格 RATIO,而非单一直接资产。当 SOL-vs-ETH 比率上行趋势时(SOL 表现优于),持有 LONG SOLUSDT.BINANCE / SHORT ETHUSDT.BINANCE 等名义金额;当比率下行趋势时,翻转为 SHORT SOL / LONG ETH。两条腿均为 Binance USD-M 永续合约,因此是单一交易所、单一计价货币的账户,不存在跨交易所费用/基差问题(这是本次会议中资金费率/套利兄弟策略的结构性杀手)。该设计刻意结合了 TWO 在失败日志中分别奏效或本应有所帮助的事项:(1)经验证的 TREND 机制及其正偏收益几何(让赢家奔跑、趋势交叉退出——NOT 倒置的小 TP/大止损反转策略,该策略打破了 COIN-M 布林带),以及(2)MARKET-NEUTRALITY,它剥离了 BTC/市场 beta,使得样本外近期尾部不是单一机制的方向性押注——直接解决了在样本外门槛处放弃 HL 冲动策略的近期机制 NON-GENERALIZATION。它交易 SOL-vs-ETH 离散度(资本在相关的 L1 大盘币之间以持续的波浪式轮动),这是一种与直接动量正交的优势。它与流水线中的每个条目都不同:不是 10 名称的美元中性横截面账户(这是聚焦的 1-vs-1 比率趋势),不是 BTC/ETH 布林带配对(这是 EMA/动量符号趋势应用于 SOL/ETH 比率,不同的配对和不同的信号),也不是任何单一资产的 TS 动量兄弟策略。它 NOT 黑名单家族:不是资金费率/套利,不是期权,不是 HL,不是微观结构,不是反转。两条腿均有 Binance 多年深度历史,意味着前推走和样本外跨越真实机制;低参数数量(3)抗过拟合。填补了欠配的多空(14.7%)和配对(14.5%)桶位。
针对持续性第 -3 层超时(“冒烟测试超过 300 秒墙钟时间”)的迭代 -5 修复。对测试框架的调查(pipeline_processor SANDBOX_BACKTEST_TIMEOUT=300,max_stale_seconds=120)以及基础模板(其将 _bars/_extra_bars 限制在 500)确认,策略每根 bar 的工作量为 ALREADY O(1)——迭代 4 用增量式 O(1) EMA 状态替代了 O(N) EMA 重建,而 SyncedBuffer.update 的复杂度为 O(1)。不存在剩余的随历史长度增长的每 bar 成本,因此通用的“预计算/bisect”建议不适用于此处。每 bar 代码已证实为 O(1),唯一剩下的墙钟时间影响因素是由 bar_type 设置的 DATA VOLUME:对于两条腿,使用细粒度时间框架处理多年 Binance 历史数据(每条腿数万根 bar,另加一次多年按需下载)会超过 300 秒的子进程上限。假设明确指定使用 DAILY bar,因此修复方法是将两条腿固定为 1-DAY(每条腿约 2000 根 bar,预先收集,运行时间远低于一秒)——这是消除超时所需的最小改动。已通过第 1-2 层的信号/入场/退出/规模代码保持逐字节不变(无新增导入、无逻辑更改),因此不可能导致更早层级回归;仅配置 bar_type/extra_bar_type 的粒度发生了改变。
实现
在SOL/ETH对数价格比率上的市场中性(美元中性)LONG-SHORT对,在DAILY bar 上均为币安USD-M永续合约。log(SOL/ETH)上的EMA交叉(快线减慢线)是一个连续的逐 bar 趋势信号:当SOL的走势强于ETH时,它以等名义(每条腿约0.5x,毛头寸约1.0x)持有LONG SOL / SHORT ETH;当趋势反转时,翻转为SHORT SOL / LONG ETH——一种停损反转趋势交叉系统(赢家在两次交叉之间奔跑)。严格的两腿状态机使组合保持为干净的对冲对或完全平仓(孤儿 / 同侧对冲被强制平仓,重新入场延后一根 bar),因此不会发生反转日的腿位堆叠或方向性 beta 泄漏。每 bar 成本为 O(1)(增量EMA + 通过 SyncedBuffer 进行 O(1) 时间戳对齐)。
验证结果
验证失败(第 3 层——沙盒回测):冒烟测试超过了 300 秒的墙钟时间限制。这几乎总是意味着每根 bar 的工作量会随历史长度增长——例如重新扫描完整的资金费率/辅助序列,或在每根 bar 上于 calculate_signal()/on_bar() 内重建列表并调用 min()/sorted()。请在 __init__ 中预先计算已排序的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查找结果,使每根 bar 的开销为 O(log n) 而非 O(n)。
回测评审
- 夏普
- 0.39
- 总收益率
- 317.71%
- 最大回撤
- 63.55%
- 总交易数
- 64
- 胜率
- 48.4%
- 盈利因子
- 1.14
机制与假设完全吻合:32 次多头配对 + 32 次空头配对往返交易,双腿等额,趋势持仓约 61 天,基于 log(SOL/ETH) 比率止损并反向开仓——没有腿部叠加或机制不匹配。
真正的美元中性:贝塔为0.198,benchmark_meaningful=false;双腿组合剔除了大部分市场方向性。
日频配对样本充足(64 笔交易,覆盖 5.5 年 / 2003 天),入场诊断清晰(32 次信号 = 32 次提交,没有因规模/名义金额/现金导致的丢弃)。
扣除费用后仍有正的净优势:total_return +317%,profit_factor 1.14,avg_position_pct 62%,佣金仅占总敞口的 0.61%——并非对费用脆弱。
具有三个参数且调优空间尚未探索的设计(ema_fast 20 / ema_slow 60 / entry_thresh 0.0)——默认值可能并非最优,而优化正是用于检验这一点。
基准夏普仅为 0.387,其中 sharpe_ci_low = -0.51 —— 95% CI 跨越零值,因此基准优势在统计上无法与噪声区分。
63.5% 最大回撤和 116% 年化波动率与“市场中性/非方向性押注”的表述相矛盾——其表现更像是对 SOL/ETH 比率进行的高波动杠杆押注。
收益由离群值/牛市离散度驱动(return_kurtosis 768,偏度26):2021 +200%和2024 +144%贡献了几乎全部利润,而2022(-20%)、2023(-32%)和2025(-27%)均亏损——这是优化无法解决的市场状态集中问题。
923 天最大回撤持续时间;information_ratio -0.30。
很可能无法通过下游的去膨胀夏普 / PBO / 近期市场制度留出集门槛——这种特征是优化后反复放弃策略的典型表现。
较弱;CI(-0.51,0.80)包含 0
对于声称为市场中性的组合而言非常高
适用于日频配对优化的充足样本
有正优势,但优势较薄
对于 2 腿组合而言,总敞口合理
分析
机制合理且符合假设:清晰的美元中性 SOL/ETH 比率趋势,基准和优化后分别为 32/32 与 36/36 组均衡的多空配对,没有腿部叠加伪影;迭代 -3 的中性状态机运行正常。
敏感性曲面平滑(没有 0 断崖),且低 beta(0.15)证实了真实的市场中性。
优化器通过降低总敞口,适度改善了点估计指标(夏普 0.387->0.467,PF 1.14->1.34,max_dd 63%->43%)。
未通过去膨胀夏普检验:DSR=0.0001,is_significant=false,PBO=0.672,优化后夏普 0.467 低于 225 次试验的期望最大运气门槛 1.2866;sharpe_ci_low=-0.3002 跨越 0。
滚动前向验证 is_overfitted=TRUE:平均 IS 0.590 降至平均 OOS -0.277,窗口为 [1.108, -0.420, -1.520],其中两个为负,最近一个则大幅为负。
留出集的“通过”结果具有误导性:比率 0,因为它是相对于负的 WF-OOS 基准(-0.277)计算的;holdout_sharpe 0.731 只是一个正收益窗口,并不代表前向泛化。
整个敏感性网格都处于约0.33-0.42的夏普比率,且一致低于运气门槛——没有稳健区域达到显著性。
优势由离群值/牛市离散度驱动(峰度768/785,偏度26):2021 +140%和2024 +132%支撑了整段业绩,而2022/2023/2025全部亏损;information_ratio为负(-0.30/-0.39)。
PSR 0.9816 对比 DSR 0.0001,是典型的选择膨胀陷阱。
不要NOT进入优化阶段——回测被腿位堆叠 / 非中性会计伪影所污染,而你的第-3次迭代修复并未NOT消除该问题。证据:daily_returns仍包含2021-07-24 = +232.39%以及2024-02-25 = +199.45%,这正是你自己文档字符串中标记为试图修复的 bug 的不可能数值。一个约1x毛头寸的美元中性SOL/ETH对在一天内不可能实现+232%的收益(SOL/ETH比率最差单日波动约为±20%,因此0.5x单腿的组合最多盈利约5-10%)。在修复之前,报告的317%总额 / 年化200%/144%毫无意义——它只是两天伪影所致,其他每一年都亏损。 需调查的内容(症状,请自行验证机制——不要假设我的猜测): 1。状态机在趋势交叉的REVERSAL bar 上仍会泄漏瞬时的多腿 / 超毛头寸组合。你的should_enter会平掉孤儿ETH腿并将入场延后一根 bar,且 _submit_entry 重新检查 _eth_dir()!=0——但爆仓日与反转日重合,因此一根陈旧的ETH腿(或重复计数的SOL腿)几乎肯定仍被与新组合一起按盯市价格估值至少一根 bar。请追踪2021-07-24和2024-02-25上精确的缓存状态:每个工具的未平仓头寸数量、方向、数量。 2。检查跨 bar 的先平后重新入场是否会在同一 bar 的 PnL 快照中同时残留BOTH一根平仓腿和一根开仓腿(基础模板只对主SOL腿设门;手动ETH的 _submit_entry_instrument / _submit_exit_position 排序可能未在一根 bar 内结算完成)。 3。添加显式不变量 / 断言:每根 bar 结束时,组合EITHER完全平仓OR恰好一根SOL腿加一根等名义的反向ETH腿。记录违规而非静默爆仓。 重新提交评审前的验收标准:(a) NO单日收益超过约±25%;(b) annualized_volatility回落到中性组合区间(约15-40%,而非116%);(c) return_kurtosis和偏度回落到合理值(峰度<约20)。只有到那时报告的 edge 才足够真实、值得优化。
结局总结
将经过验证的机制(TS-动量)移植到新目标(SOL/ETH 比率),并不会让新目标自动具备晋级资格——收益峰度为 768,利润集中在 2021 和 2024 的价差波动浪潮中,而 2022/2023/2025 全部亏损。敏感性曲面干净只能衡量一致性,不能证明统计显著性或前向泛化能力。
分析师在优化后放弃了该策略:去膨胀夏普为 0.0001,低于 225 次试验的期望最大运气门槛 1.2866;PBO 为 0.672,is_overfitted 为 TRUE,而 sharpe_ci_low(-0.3002)跨越零值——留出集的“通过”结果具有误导性,因为其 0 比率是相对于负的滚动前向验证 OOS 基准计算的。敏感性表现平滑(没有 0 断崖),但整个网格的夏普都在约 0.33-0.42,一致低于显著性门槛,因此没有可供调优的稳健区域。
将工厂经验证的时间序列趋势/动量机制应用于 log(SOL/ETH) 价格比率,构建 Binance USD-M 永续合约的美元中性多空配对,在日线 bar 上剔除市场 beta,同时跟随持续的 SOL 与 ETH 价差波动浪潮。
基准回测在 2,003 天内的回报为 +317.7%,夏普为 0.387(CI -0.51 至 0.80),交易 64 笔,胜率 48.4%,盈利因子 1.14,最大回撤为 63.5%;优化后点估计指标改善至夏普 0.467、回报 +358.3%、交易 72 笔、盈利因子 1.34、最大回撤 43.0%。滚动前向验证则呈现另一番结果:样本内平均夏普 0.590 在各窗口 [1.108, -0.420, -1.520] 中降至样本外平均值 -0.277。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。