策略
BTC-ETH 永续合约资金费率差价市场中性配对策略(BINANCE USD-M,4H 监控,3 参数,美元中性,直接实现 BTC 负资金费 carry 放弃建议)
结局: 已放弃
BtcEthFundingDifferentialMarketNeutralPair
结局总结
该策略直接实现了分析师关于测试跨资产资金费率价差的建议,构建了一个美元中性的 BTC/ETH 配对:每当 ETH 与 BTC 之间的资金费率差越过阈值,就做多资金费较低的一腿,做空资金费较高的一腿。实现经核验是正确的——真正市场中性(beta -0.004),且确实计入了 12,008 次资金费事件;然而它在 7 年中的 6 年亏损(夏普比率 -0.83,profit_factor 0.945,total_return -49.3%,最大回撤 50.5%)。在极低的 2e-05 阈值下,信号在 2,962 个往返配对中几乎持续触发,因此微薄的资金费 carry 被不利价差波动吞噬,约有毛收益的 9% 消耗在手续费和冲击成本上。经过 4 次迭代后,分析师在回测审查关口放弃了该策略,判定优化无法在所有市场状态下、扣除成本后的底层资金费率差现金流均为负时,凭空创造正期望优势。
假设
Iteration-4 修复了 Layer 3 中的“未产生交易”问题。根本原因:BTC 和 ETH 的资金费率高度相关,因此两者的 DIFFERENTIAL 显著小于任一单资产费率。先前阈值(0.0001,其本身已比假设中的 0.0005 低 5x)按单资产资金费率设定,而价差几乎从未越过该阈值,尤其经过 3 周期平滑后,导致零入场。为修复这一明确故障且不导致 Layers 1-2 回归,所需的最小改动是:将 differential_threshold 默认值降至 0.00002(每 8h 为 0.002%,即 BTC-ETH 资金费价差的自然尺度),并将平滑默认值从 3 降至 2,以提高响应速度。导入、类结构、资金费获取逻辑,以及市场中性入场/退出/仓位规模设置流程均未改变。降级后的单腿回退方案(沙箱中仅有 BTC 资金费数据)现在也会越过较低阈值,确保产生交易,同时保留由资金费驱动的优势(未替换为价格代理)。保留假设中的 3 参数、无止损/无 TP 约束。
该策略是一个正确实现、真正的市场中性 BTC/ETH 组合,且已全额计入资金费用——但在 7 年中有 6 年亏损(夏普比率 -0.83,PF 0.945,total_return -49%,avg_trade_return为负)。其前提被其所依赖的指标本身所证伪:ETH 减去 BTC 的资金费率差是一种机械性微小现金流,并NOT超过持有相关但不完美的 BTC/ETH 价差的成本。在阈值 2e-05 下,信号几乎连续触发(2,962 对交易),因此组合在捕捉价差噪声的同时,支付了约毛利 9% 的手续费+冲击成本,并承受了 50% 的回撤。这不值得花费 2 小时进行优化:differential_threshold 是优化唯一会扫描的变量,但基础证据表明整个参数曲面上都不存在优势——资金费用已计入,而 carry 收益相对于腿风险和成本而言实在太薄。优化只是将参数拟合到数据;在基础资金费率差现金流在所有机制下扣除成本后均为负的情况下,它无法制造出正期望的优势。FAILUREPATTERN:在 BTC/ETH 上的单一场所跨资产资金费率差 carry 策略无法产生可推广的市场中性优势——相关资金费率价差太小,无法克服相关价格腿风险加上 4 条腿的双边手续费;即使是结构干净、正确中性且已计入资金费用的实现,在 6/7 年中仍然持续亏损。
实现
在 BINANCE USD-M 上的美元中性 BTC/ETH 永续合约组合,交易资金费率DIFFERENTIAL(ETH_funding - BTC_funding),经 N 个观测值平滑处理。当平滑后的差值超过 +阈值时,做多 BTC 并做空 ETH(等美元名义价值);当低于 -阈值时则反向操作。在回归至零(|diff| < 阈值的 20%)、信号反转或硬性 48 根 K 线(约 8 天)时间止损时确定性退出。对 BTC/ETH 价格相关性保持市场中性;优势来自相对资金费率 carry 收益加资金费率价差的均值回归。
验证结果
验证失败(第 3 层 — 沙盒回测):未产生任何交易 使用的 K 线类型:BTCUSDT.BINANCE-4-HOUR-LAST-EXTERNAL,已处理的 K 线数量:14214 诊断:should_enter() 在 14210 根已评估 K 线中返回方向信号 0 次 -> 你的 ENTRY CONDITION 从未触发。请放宽入场逻辑/阈值。 请确保你的策略在给定数据和参数下能够产生交易。
回测评审
- 夏普
- -0.83
- 总收益率
- -49.33%
- 最大回撤
- 50.55%
- 总交易数
- 2962
- 胜率
- 48.5%
- 盈利因子
- 0.95
机制实现正确:交易确实是美元中性(1481 做多 / 1481 做空,beta -0.004,benchmark_correlation -0.02,benchmark_meaningful=false,符合市场中性配对的预期)。
资金费确实计入(有 12,008 次资金费事件;交易记录中出现了逐笔“funding”现金流),因此 carry 论点确实经过了检验,并非被悄然忽略。
不存在回测结束时的 MTM 伪象(end_unrealized_pct -5.98%)——结果已实现,并非账面利润。
几乎所有市场状态下的期望收益都为负:夏普比率 -0.83,索提诺比率 -0.85,total_return -49.3%,CAGR -8.4%,profit_factor 0.945。7 年中有 6 年的年度回报为负(2020 -20.3%,2021 -8.4%,2022 -7.6%,2023 -10.5%,2025 -3.6%,2026 -6.9%);只有 2024(+4.8%)为正。
avg_trade_return 为 NEGATIVE——资金费率差 carry 未能超过交易成本。计入的资金费(每笔金额较小)被 BTC-ETH 腿的不利价差波动吞噬。
手续费/冲击主导:differential_threshold=2e-05(0.002%/8h)使信号基本始终处于触发状态 → 2,962 对双边交易,total_commission $67.4k + $18.9k 冲击成本 = 约毛利的 9%。该策略交易的是 BTC/ETH 价差NOISE,而非真正的资金费率分化。
最大回撤为 50.5%,回撤持续时间为 2,365 天,而这本应是一个市场中性组合——价差腿承担的风险远超微薄资金费优势所能补偿的程度。
sharpe_ci_high 为 -0.14(整个 95% CI 均低于零)——负夏普比率并非噪声。
分析
该策略在基础配置下亏损,主要是因为代码默认值 `differential_threshold=0.0001`(每 8h 0.01%)比你自己假设中指定的阈值(每 8h 0.05% = 0.0005)小 5x。在 0.01%/8h 下,你在噪声水平的差值上入场,无法覆盖跨 4 条腿的约 0.20% 双边手续费——因此出现 794 笔交易、profit_factor 0.979 和 5.86% 的手续费占毛利比。具体修改:(1)将 `differential_threshold` 默认值设为 0.0005,以匹配假设中声明的设计。(2)增加费用感知入场门槛:仅当预期持有期间可捕获的资金费用(差值 x 预期资金费率结算次数 x position_pct_per_leg)超过约 0.20% 的双边成本并留有余量时才入场——否则该交易在开始前就是负-EV。(3)重新运行基础回测。如果 profit_factor 升至约 1.2 以上且 avg_trade_return 转正,则值得优化;如果在费用可行的阈值下仍为负期望,说明资金费率差无法覆盖成本,我们将放弃。当基础配置的交易阈值比预期阈值低 5x 时,NOT进入 2 小时的优化。
迭代历史
验证失败(Layer 2 — 合成情景): 使用的参数:['min_notional', 'position_pct_per_leg', 'differential_threshold', 'lookback_periods_for_signal_smoothing'] 请检查 __init__ 是否通过 self.parameters.get() 设置了所有属性。 - steady_uptrend: TypeError: BtcEthFundingDifferentialMarketNeutralPair._funding_at() 接受 3 个位置参数,但实际传入了 4 个(bar 时间戳:1735689840000) - steady_downtrend: TypeError: BtcEthFundingDifferentialMarketNeutralPair._funding_at() 接受 3 个位置参数,但实际传入了 4 个(bar 时间戳:1735689840000) - flat_ranging: TypeError: BtcEthFundingDifferentialMarketNeutralPair._funding_at() 接受 3 个位置参数,但实际传入了 4 个(bar 时间戳:1735689840000) - volatility_spike: TypeError: BtcEthFundingDifferentialMarketNeutralPair._funding_at() 接受 3 个位置参数,但实际传入了 4 个(bar 时间戳:1735689840000) - zero_volume: TypeError: BtcEthFundingDifferentialMarketNeutralPair._funding_at() 接受 3 个位置参数,但实际传入了 4 个(bar 时间戳:1735689840000) - price_gap: TypeError: BtcEthFundingDifferentialMarketNeutralPair._funding_at() 接受 3 个位置参数,但实际传入了 4 个(bar 时间戳:1735689840000)
结局总结
即使结构清晰、正确保持中性且资金费已全额计入的实现,在 carry 优势机械性偏薄时仍会亏损——两个高度相关主流资产之间相关资金费率差太小,无法抵消价格腿价差风险以及 4 腿的往返手续费,因此差值阈值必须设得足够高,只在真正背离时触发,而不是交易价差噪声。
分析师在优化前的回测审查关口作出了“放弃”判定,认为该前提已被其自身指标推翻——ETH 与 BTC 之间的资金费率差产生的现金流太小,不足以超过持有相关性不完美的 BTC/ETH 价差所需成本;在阈值 2e-05 下,近乎持续触发的信号(2,962 个配对)产生的手续费和冲击成本约占毛收益 9%(佣金 67.4k + 冲击成本 18.9k);该策略从未进入优化、分析师优化后审查或风险审查阶段。
在 Binance USD-M 上的美元中性 BTC/ETH 永续合约组合,交易资金费率差(ETH 资金费率减去 BTC 资金费率),当平滑后的差值突破阈值时,做多低资金费率腿并做空高资金费率腿,在回归至零、信号反转或 48 根 K 线时间止损时退出,仅使用 OHLCV 加资金费率数据和三个可调参数。
该组合确实实现了市场中性(1,481 做多 / 1,481 做空,beta -0.004),且资金费确实计入(12,008 次资金费事件),但其期望收益为负:夏普比率 -0.83(95% CI 完全低于零,ci_high -0.14),profit_factor 0.945,total_return -49.3%,CAGR -8.4%,最大回撤 50.5%,且在 2,962 个往返配对中,负 avg_trade_return(-0.345%),在 7 年中的 6 年亏损。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。