跳至正文
全部策略

策略

中期横截面动量,美元中性多空 — LOW-TURNOVER 月度轮动,跨 10 BINANCE USD-M 永续合约(按 60 日收益率排名,跳过最近 3 日以避免短期反转污染,LONG 头部-3 / SHORT 尾部-3,波动率加权各边,贝塔中性,3 参数)

结局: 已放弃

BinanceMajorsIntermediateCrossSectionalMomentumDollarNeutralLS

动量是该策略工厂中存活下来的因子;采用干净的同交易场所 OHLCV 构造,月度调仓使费用拖累保持较低(佣金占毛收益的 0.73%)

假设

一种DOLLAR-NEUTRAL、MULTI-INSTRUMENT的横截面MOMENTUM策略,交易于10个流动性良好的BINANCE USD-M永续合约(BTC、ETH、SOL、BNB、XRP、ADA、AVAX、LINK、DOGE、LTC——全部来自SAME交易场所,仅限OHLCV,因此不存在像刚刚使散户情绪假设失败的多空比数据源那样的补充数据源可用性上限,也没有L44跨交易场所问题)。它有意采用该策略工厂迄今唯一成功存活的ONLY类优势——横截面相对强弱动量是已部署的 Sharpe-2.6 策略,双时间框架动量是 Sharpe-2 论文中的幸存者——同时专门针对近期动量变体失败的两种模式进行设计:(1)FEE DEATH:每周现货轮动失败,是因为BINANCE_SPOT的每周换手往返成本约为0.20%,吞噬了优势;本策略以PERPS交易(约0.10% RT),仅MONTHLY再平衡一次(约21天),将换手降低约4x,使每笔交易的优势足以覆盖费用并留有余量;(2)OVERFIT DEATH:单标的和短形成期变体因交易次数少而成为 N 选优噪声;本策略采用60天的INTERMEDIATE形成期(最稳健的动量期限,较30天更不易受市场状态影响),覆盖10个标的的横截面,形成广泛且分散的信号,而非稀疏的单标的押注,并且只有3个参数。它会SKIPS形成窗口最近的3天,以避免短期反转这一对立效应污染动量(经典12-1式构造)。以DOLLAR-NEUTRAL运行可剥离导致46-81%回撤和负期望值的加密货币贝塔;这也填补了多空策略类别的代表性不足(13.4%,而纯多头目标为 <=55%)。它有别于我正在开发的、由资金流确认的横截面动量组合(该策略在较短期限上叠加OPEN-INTEREST确认;本策略则是在60天中期期限上采用PURE价格动量,按月换手且没有补充叠加信号),也有别于失败的每周SPOT轮动(交易场所/费用不匹配,纯多头)和失败的风险平价/BAB变体(排名方式不同)。

QA 的三项判断都正确,而本次迭代是直接回归原假设,并非重新设计。首先也是最重要的一点,删除了市场状态切换。之前的文件包含一个趋势效率分类器,会将排名得分乘以 +1 或 -1 的模式值,因此在震荡市场中,组合交易的是横截面 REVERSAL——做多输家、做空赢家——这与假设所描述的组合正好相反。根据开发者自己的诊断,该分支在 19 / 27 次再平衡中处于激活状态,也就是说代码约有 70% 的时间在交易反转。分类器、驱动它的两个参数(regime_window、efficiency_threshold)以及方向符号乘法都已删除;_rebalance 现在接收原始得分,组合无条件做多赢家、做空输家。其次,调仓频率恢复为月度(rebalance_days 14 -> 21)。这不是表面改动,因为假设明确将月度换手作为防止费用吞噬收益的手段——每周 SPOT 轮动因约 0.20% 的往返交易费用而失败——而双周调仓的换手约为预期的 1.5x。第三,现在的调参范围与假设列出的三个参数一致:formation_days、top_n(每侧 N 个标的)和 rebalance_days(调仓频率);skip_days、波动率目标和仓位上限按设计固定。所有未受差异影响的内容均逐字节保留:同步的单面板对齐确保每条腿的索引 -k 对应同一日历日、经过跳过期调整的评分、逆波动率单腿权重且每侧总敞口相等、带杠杆和单腿上限的波动率目标总敞口、以日历为锚的调度,以及幂等的首个组合路径。导入内容未变,辅助函数仍为实例方法,以确保 Layer-2 代理安全。我已核实全部十条腿都有 1-DAY 的目录数据(每个文件 44-55 个),并将杠杆保持在 2.0,因为 _rebalance 确实将其用作总敞口上限,而不是闲置参数。我还添加了 _param_bounds,使优化器在预期范围内搜索。关于 QA 的建议:较弱的沙盒数字描述的是现已移除的市场状态切换组合,因此需要重新测量纯动量构造。

美元中性横截面动量主要永续合约篮子 — L45 家族(0/84 个幸存者)— 同时触发 L19 和 L36,不值得 2 小时的优化。max_drawdown 为 54.8%(CI 至 77%),本应市场中性(L19 硬性放弃),而 avg_trade_return_pct 为 15.6%,伴随 return_kurtosis 27.9 — 即 L36 杠杆/复利特征:业绩由少数杠杆牛市极端日支撑(2021-04-15 +104.7%、2024-02-29 +91.4%、2021-11-11 +72.8%、2025-01-30 +54.4%),仅 2021 就 +203%,被 -48.9% 和 -18.1% 日对冲,并非来自横截面分散。该策略不显著:夏普比率 0.517,自助法 CI [-0.285, 1.246] 横跨零,PSR 0.898,profit_factor 1.089(费用脆弱区间),且在多个年度亏损(2022 -19%、2024 -30%)。基础夏普为上限,~225 次试验的缩水只会将其压低,因此将无法通过缩水夏普/PBO 与回撤门槛;美元中性结构未能剥离其承诺的尾部风险。失败模式:no_edge/risk_reject 美元中性横截面动量篮子,杠杆驱动,>50% DD(L45/L19/L36)。

实现

在日线柱上,对 10 个流动性良好的 Binance USD-M 永续合约(BTC、ETH、SOL、BNB、XRP、ADA、AVAX、LINK、DOGE、LTC)进行美元中性的横截面动量交易,每月轮换。按每个标的在 60 天形成窗口内的总收益率排名,该窗口结束于 ENDS 3 天前,因此近期短期反转区间不会污染动量测量(将经典 12-1 构造换算为天数)。组合始终做多得分最高的 3 个标的,并做空得分最低的 3 个标的,中间标的保持空仓——纯价格动量,不叠加市场状态过滤,也不翻转方向。多空两侧的策略腿分别按波动率倒数加权,且两侧总名义敞口相同,因此组合严格美元中性、近似贝塔中性,收益来自横截面离散度,而非加密市场贝塔。组合规模按波动率目标调整(总名义敞口 = target_vol /(平均年化策略腿波动率 x neutral_vol_factor)),并受配置中的杠杆和单腿上限约束。轮换以自纪元起的日历天数为锚,而非柱计数;目标方向不变的策略腿保持不动,因此月度持仓不会因约 0.10% 的永续合约往返交易而支付不必要的费用。

验证结果

验证失败(第 4 层 — QA 审核)[类别=hypothesis_mismatch]: - [edge_concern] 即使搁置保真度,沙盒本身也较弱:夏普比率 0.22(CI [-0.57, 0.96] 横跨零),PF 1.03,max_drawdown 39.4%(CI 至 82.5%),名义美元中性,但在平静与压力波动率分位下均为负(所有收益均来自"正常"分位)。因此代码实际实现的区制切换变体本身已是边缘的 — 但阻断项是保真度,而非表现。 - 代码未实现该假设。该假设为 PURE 中期横截面 MOMENTUM(始终 LONG 赢家 / SHORT 输家,"PURE 价格动量 ... 无附加叠加")。代码实现的是 REGIME-SWITCHED 动量/反转组合(类别重命名为 ...RegimeSwitched...):趋势效率比分类器翻转符号,使得每当组合处于 RANGING 时,组合交易横截面 REVERSAL(做多输家 / 做空赢家) — 即 OPPOSITE 组合。按开发者的自身测量,27 次沙盒再平衡中 19 次(70%)属于 RANGING/反转分支,因此代码大部分时间都在交易反转。区制切换叠加在假设中完全缺失。要么恢复为纯动量,要么将该区制切换设计注册为新的 Research-Lead 假设。 - 复合保真度缺陷:(1)CADENCE — 假设规定 MONTHLY 并将其作为核心费用死亡防御("MONTHLY(~21 天),削减换手率约 4x");代码以 BI-WEEKLY(14 天)再平衡,约为预期换手率的 1.5x。(2)PARAMETERS — 假设的 3 参数为形成期 / 单边数量 / 频率;代码的参数为 formation_days / regime_window / efficiency_threshold,其中两个是未被假设在内的区制切换旋钮(单边数量和频率被冻结)。调优表面与所述不同。若恢复为纯动量,请恢复月度频率及所述的 3 参数表面。

回测评审

夏普
0.52
总收益率
135.16%
最大回撤
54.80%
总交易数
256
胜率
44.5%
盈利因子
1.09

动量是该策略工厂中存活下来的因子;采用干净的同交易场所 OHLCV 构造,月度调仓使费用拖累保持较低(佣金占毛收益的 0.73%)

交易次数充足(256),且两个方向都进行过交易

L45 美元中性横截面动量主流永续合约组合——0/84 个幸存策略组成的系列

L19 硬性放弃回撤:在“市场中性”组合上 max_drawdown 54.8%(从 CI 到 77%)

L36 杠杆/复利效应造成的假象:avg_trade_return_pct 15.6%,return_kurtosis 27.9,业绩纪录由少数几个超大涨幅日贡献(+104.7%、+91.4%、+72.8%),且仅靠 2021 +203%

不显著:夏普比率 0.517,CI [-0.285, 1.246] 横跨零,PSR 0.898,PF 1.089(费用脆弱区间)

多个年份深度亏损(2022 -19%、2024 -30%);美元中性未能剥离尾部风险

迭代历史

验证失败(Layer 2 — 合成场景): 使用的参数:['top_n', 'min_gross', 'skip_days', 'target_vol', 'max_leg_frac', 'min_notional', 'formation_days', 'rebalance_days', 'rebalance_anchor', 'neutral_vol_factor'] 请检查 __init__ 是否从 self.parameters.get() 设置了所有属性。 - steady_uptrend: TypeError: BinanceMajorsIntermediateMomentumMonthlyDollarNeutralLS._ts_of() 需要 1 个位置参数,但实际收到 2 个(柱时间戳:1735693500000) - steady_downtrend: TypeError: BinanceMajorsIntermediateMomentumMonthlyDollarNeutralLS._ts_of() 需要 1 个位置参数,但实际收到 2 个(柱时间戳:1735693500000) - flat_ranging: TypeError: BinanceMajorsIntermediateMomentumMonthlyDollarNeutralLS._ts_of() 需要 1 个位置参数,但实际收到 2 个(柱时间戳:1735693500000) - volatility_spike: TypeError: BinanceMajorsIntermediateMomentumMonthlyDollarNeutralLS._ts_of() 需要 1 个位置参数,但实际收到 2 个(柱时间戳:1735693500000) - zero_volume: TypeError: BinanceMajorsIntermediateMomentumMonthlyDollarNeutralLS._ts_of() 需要 1 个位置参数,但实际收到 2 个(柱时间戳:1735693500000) - price_gap: TypeError: BinanceMajorsIntermediateMomentumMonthlyDollarNeutralLS._ts_of() 需要 1 个位置参数,但实际收到 2 个(柱时间戳:1735693500000)

验证失败(Layer 3 — 沙盒回测):元组索引越界 使用的柱类型:LINKUSDT.BINANCE-1-DAY-LAST-EXTERNAL,处理的柱数:0 请确保你的策略能够使用给定的数据和参数生成交易。

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