策略
BTC 信号驱动的多元化山寨币篮子 Beta 择时,多空策略(信号:BTCUSDT.BINANCE 动量汇合 → 执行等权重 ETH+SOL+BNB USD-M 永续合约,沿 BTC 方向,纯 OHLCV,3 参数)
结局: 已放弃
BtcSignalAltBasketBetaTimingLS
单笔交易的经济性良好,且轻松超过手续费底线:优化后的 avg_trade_return_pct 2.23%,相比 Binance USD-M 的 0.15% 底线,PF 1.55,在 4 个品种上,6.7 年内有 444 笔交易(样本可靠)——这显然不是因手续费/边际收益低于成本而失败的情况(NOT)
假设
一种LONG-SHORT、MULTI-INSTRUMENT、纯OHLCV策略,使用本研究工厂中经实证证明具备优势的ONLY信号——BTC的双时间框架动量共振(论文阶段的幸存者)——作为外生驱动因素,为一个由三种高贝塔另类币永续合约(ETHUSDT、SOLUSDT、BNBUSDT)组成的DIVERSIFIED等权篮子择时,并让三者都沿BTC确认的方向交易。该策略立足于本交易时段的全面证据:另类币自身的OWN价格信号没有NO优势(XRP、LINK、SOL、ETH均因“无优势”而失败),补充信号在覆盖度/优势上也未通过(吃单方、OI、溢价均已弃用),只有BTC价格动量是真实的——因此,本策略不依赖任何另类币自身的信号,只依靠已验证的BTC领先性,另类币会以更高贝塔跟随它。这是我单一ETH领先滞后构想的风险分散版:单一另类币带有特异性脱钩风险(某个ETH特定事件可能导致交易择时失误),而等权3另类币篮子可平均掉这类噪声,以更清晰地表达由BTC驱动的市场贝塔,在信号相同的情况下降低方差。它完全基于PURE OHLCV(唯一可靠、可完整测量的数据——补充数据源受到覆盖率上限限制),对开发者安全(BTC信号+等权篮子执行,采用标准增量指标),可测量(多年历史中,按BTC共振的频率约有120-200次信号变化),且手续费可行(另类币贝塔使每条腿的走势约为BTC的1.2-1.5×倍;每条4小时趋势腿约为3-6%,而手续费约为0.10%)。它填补了低于目标的LONG-SHORT(13.3%)和多交易品种范围(19.1%)类别。仅3个参数。
第2次迭代(干净重启后)。反馈称此前放弃策略是由流水线问题造成的——第-2层测试框架错误绑定了@staticmethod辅助函数(此处已通过将所有辅助函数保留在模块级,并避免在可重新绑定的事件路径中使用无参数super()来绕开);移除了QA针对未经优化冒烟测试的终局表现判定;沙箱超时是由槽位资源不足造成的。因此,信号、残差滞后门控、退出条件和执行管线均与previous_code相同,且UNCHANGED;所有已通过的层级仍保持通过(导入相同、类结构相同、连续信号相同,包括预热期在内每根K线都会变化)。唯一实质性改动是篮子JOIN WINDOW:此前,_manage_basket会在整个交易期间的每根K线上反复重新测试不符合条件的仓位腿,因此某条腿可能在交叉信号出现许多根K线后才加入,使用的是远晚于入场时读取的滞后值,价格更差,还会额外产生一轮手续费——篮子因此是逐步累积,而非一次建立。现在仓位腿只能在领先仓位腿开仓周期后的basket_join_periods内加入(锁定为1,足以容纳四种交易品种间周期内K线到达顺序的差异);完整性平仓和错误方向的强制平仓仍无条件执行,因此之后篮子只会缩减。这收紧了手续费拖累,并确保入场时机合理,同时不触动受测机制。由于篮子可做空也可做多,交易场所仍为BINANCE USD-M;杠杆为1.0,且仓位规模逻辑不读取杠杆,因此不会触发leverage_set_but_unused门控。保留此前的坦诚说明:这是单一币种同类策略的篮子推广,而其优势完全来自滞后门控;如果单笔回报仍为负,正确结论应是将转移优势分散到三个相关另类币会稀释优势,而不是还需要调整另一个参数。
过拟合 / 无泛化能力,并非手续费边际优势消亡(每笔交易回报 2.23% 高于底线)。两个不可豁免的 HARD 门槛未通过:前向滚动验证 is_overfitted=true,样本内夏普比率 1.418 在样本外降至 0.148(全部三个 OOS 窗口都接近零:0.015/0.101/0.328);以及 PBO 0.5317 > 0.5(选择结果更可能是过拟合而非其他情况)。稳健性分析证实,所选夏普比率只是 N 次尝试中最佳结果带来的噪声:deflated_sharpe 0.375 << 0.95,is_significant=false,夏普比率 CI 仅略高于零,而且无法通过项目层面的 FDR(保留 235 中的 3,candidate_p 0.625)。根据过拟合与前提失效的判定规则,高-IS/OOS崩塌应当 ABANDON,而不是修订:相同的 BTC-共振->另类执行机制,在两个单名标的同类策略上都已因过拟合而失败(SOL 领先滞后过拟合,迭代 2 次;ETH 领先滞后过拟合,迭代 2 次),因此将同一套方案改用于 3-另类资产篮子,只会再次过拟合——篮子分散化并未带来可被去膨胀剥离的稳健性;敏感性网格也基本平坦(各处约为 0.6-0.9,没有断崖),因此没有尚未探索的稳健参数区域可供调优。oos_vault 本身也被标记为统计效力不足(预期交易次数约为 76,而所需次数为 100),因此这一类别的策略验证速度太慢,无法完成自身的样本外验证。失败模式:过拟合 / 无泛化能力(BTC-信号领先滞后另类动量迁移)。
实现
BTC 的双时间框架动量汇合(快 vs 慢的逐收盘变动,均归一化至 BTC ATR,并通过 sqrt(slow_mult) 使每个时间单位可比;当时间周期一致时取符号最小值,不一致时取截尾均值)是 ONLY 时机信号。在 +/- entry_thresh 的新一次交叉上,它以等权重(按美元名义)建立高 beta 的 USD-M 山寨币永续合约的多空篮子 —— ETHUSDT(领先)、SOLUSDT 和 BNBUSDT —— 沿 BTC 方向,但仅在仍 OWE 该移动的腿上建仓:当 (btc_fast - leg_fast)/btc_fast >= 0.25 时才开启一条腿,其中每个移动以该工具自身的 ATR 单位衡量,因此比较是无 beta 的。各腿只能在领先腿入场后一个 4H 周期内加入,因此篮子是在交叉时建立而非中途累积。退出为结构性且一次性关闭整个篮子:带 0.5x 滞后的汇合丧失、驱动上衡量的 BTC-ATR 跟踪止损,或领先腿丢失。纯 4-HOUR OHLCV,无补充数据,杠杆 1.0,3 个可调参数(mom_lookback、entry_thresh、trail_atr_mult)。
验证结果
如果基础项在预热期优先采用此覆盖项,则保持原样;否则重命名以避免遮蔽。
min_bars_required() 重载了框架方法。这似乎是有意为之(返回 max(mom_lookback*slow_mult+2, atr_period+2),以便预热覆盖较慢的 BTC 周期),且它读取 self.parameters,因此这不是缺陷——但请确认基础模板在预热门控时会遵循该重载,而非使用自身实现。
如果希望进一步收紧风险,可限制组合总名义金额;否则无需变更——滞后门槛在结构上限制了符合条件的交易腿。
每条交易腿的名义金额为权益的 leg_frac(0.20),最多 3 条腿 = 60% 总敞口;ETH 领先品种也会通过 position_size 加仓。沙盒显示 avg_position_pct 约为 20%,敞口约为 102%,因此交叉信号出现时通常只有 1-2 条腿符合条件(滞后门槛会筛掉其余交易腿);但若三条腿同时出现广泛滞后,相关山寨币贝塔敞口将达到权益的约 60%,杠杆为 1.0。这不是缺陷,但值得确认这种集中度是否符合预期。
这是单一币种滞后门控同类策略的篮子推广;开发者自己坦诚地指出,将转移优势分散到三个相关另类币上可能会DILUTE它。冒烟测试没有证实这种担忧(avg_trade_return_pct +1.76%、total_return +206%、PF 1.46),但夏普CI的区间为[-0.073, 1.50](跨越零),换手率为54时,impact_cost_pct为3.5%,压力时期夏普仅为0.26,而正常时期为1.31。其机制确实存在(BTC双时间框架共振是论文阶段的OHLCV幸存者),但分析师应在完整历史数据上确认:将三条腿取平均而非单条腿后,残差滞后门控是否仍能覆盖手续费和冲击成本。仅供参考。
回测评审
- 夏普
- 0.75
- 总收益率
- 202.64%
- 最大回撤
- 25.13%
- 总交易数
- 403
- 胜率
- 39.0%
- 盈利因子
- 1.38
在 4 个标的上,6.7 年内有 403 笔交易——样本可靠,对于 3 参数扫描而言,交易数与参数数之比良好
avg_trade_return_pct 1.73% 约为币安 USD-M 费用底线 0.15% 的 11x;山寨币 beta 放大假设经完整历史检验仍成立,QA 稀释担忧并未出现
基于L82唯一已验证的OHLCV机制(BTC双时间框架动量共振,论文阶段的幸存者)作为外生驱动因素,而非已失效的另类币自身信号
交易执行符合假设:沿 BTC 确认的方向建立 247 个多头 / 156 个空头——属于方向性篮子,NOT 于已失效的 beta 中性多标的类别
PF 1.385,DD 25.1%(<50%),CAGR 18.5%,容量$58.8M,佣金仅占总额的2.85%,冲击成本4.1%——均可行
在所有波动率状态下夏普率均为正(压力状态 0.47 / 正常状态 1.24 / 平静状态 0.82),且 PSR 0.915
夏普比率 CI 低值约为 0(-0.0026)——点估计夏普比率(0.75)目前仍无法与零区分;这一点必须由去膨胀/样本外检验来判定
胜率 39%——优势依赖于盈亏不对称(avg_win 4019 对比 avg_loss 1852),因此取决于趋势
end_unrealized_pct 27.2——标题数据中有相当一部分是未平仓头寸的MTM;已实现的业绩记录(约 175%)仍占主导
篮子泛化仍可能稀释单一标的的转移优势;滚动前推 OOS 才是真正的检验
分析
单笔交易的经济性良好,且轻松超过手续费底线:优化后的 avg_trade_return_pct 2.23%,相比 Binance USD-M 的 0.15% 底线,PF 1.55,在 4 个品种上,6.7 年内有 444 笔交易(样本可靠)——这显然不是因手续费/边际收益低于成本而失败的情况(NOT)
留出样本 HARD 门槛通过:留出样本夏普率为 0.819,交易数为 88,consistent_with_oos=true(z_vs_oos 0.582),且没有敏感性悬崖(cliff_count 0)
基于该工厂中唯一产生过晋级结果的信号家族构建(BTC双-TF动量共振,L82)
滚动前向检验标记 is_overfitted=true:样本内夏普比率 1.418 在样本外降至 0.148,三个 OOS 窗口均接近零(0.015、0.101、0.328),而 IS 个窗口为 1.63/1.27/1.35——该优势是对训练窗口过拟合,而非稳定机制(HARD 门槛,不可豁免)
PBO 0.5317 > 0.5 — 参数选择更可能是过拟合(HARD 门槛,不可豁免)
稳健性检验证实这是噪声:deflated_sharpe 0.375 << 0.95,is_significant=false,而且它未能通过策略组层面的 FDR 检验(Benjamini-Hochberg 保留了 3/235;candidate_p 0.625)(NOT)
同一BTC共振->另类币执行机制已在单一币种同类策略上因过拟合而失败:SOL领先滞后(过拟合,迭代2次)和ETH领先滞后(过拟合,迭代2次);分散到3另类币篮子并未增加可供折减分析剥离的稳健性
oos_vault本身被标记为UNDERPOWERED(预计约76笔交易,而需要100笔)——这项策略速度太慢,无法通过自身样本外验证得出推断性结论
语义审计员发现的代码↔假设不一致 —— 代码 NOT 实现了该假设。重新编写策略以 EXACTLY 实现该假设(工具、时间框架、方向、命名的优势/机制、规模)。具体问题:假设预先登记了一个简单的等权重三腿篮子,在每次汇合交叉时沿 BTC 方向持有('沿 BTC 已确认方向持有全部三只','不依赖任何山寨币自身信号,仅依赖 BTC 已证实的领先性'),但代码添加了一个未描述的每腿残差滞后门控(lag_frac=0.25),根据每只山寨币以其 OWN ATR 单位衡量的 OWN 动量来调节参与:_lag_ok/_leg_move(v3:308-356)要求 (btc_fast - leg_move)/btc_fast >= 0.25,should_enter 在领先 ETH 腿未通过时中止整个入场(_lead_lag_ok,v3:519/550),且 _manage_basket 跳过每个不合格或不可测量的腿(v3:601)。代码自身的注释称之为 'THE EDGE CONDITION'/'实际的优势',且开发者的理由陈述它将总敞口从约 75% 削减至约 40%,因为通常仅有一或两条腿合格 —— 因此被测试的策略是在筛选子集上的领先-滞后追赶交易,而非等权重三资产 beta 择时篮子,后者的方差降低前提正是假设相较于单一 ETH 同类策略而存在的声明理由。
在 235 个项目候选策略中,以 q=0.10 执行 Benjamini-Hochberg 检验后,保留 3。未能通过该检验的候选策略,无法与该项目本身的噪声区分,无论其单项统计表现看起来多好。
迭代历史
验证失败(第 2 层——合成情景): 使用的参数:['leg_frac', 'bar_hours', 'exit_frac', 'slow_mult', 'atr_period', 'max_periods', 'entry_thresh', 'mom_lookback', 'min_notionals', 'trail_atr_mult', 'size_precisions', 'trail_reseed_max', 'signal_instrument_id', 'basket_instrument_ids'] 请检查 __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 审查): - THE LAG GATE WORKED BUT THE BASKET DILUTES THE EDGE BELOW VIABILITY AND DOES NOT SCALE —— 放弃它转而采用单一 ETH 同类策略,正如开发者自己诚实的边界所建议的那样。加入每腿的残差滞后门控将其从净负值(迭代2:PF 0.847)翻转为略微正值(PF 1.046,avg_trade_return_pct 0.335%,total_return +1.83%,win_rate 0.393)—— 这证实了优势在于滞后门控,而非传递。BUT 篮子表达远弱于 PASSED 单一 ETH BTC->ETH 领先-滞后(PF 1.55,avg_trade +0.675%,夏普比率 +0.60,容量 $100M):此处夏普比率为 0.105,CI 为 [-1.50, 1.71],该值 STRADDLES ZERO(统计上与无优势不可区分),且 —— 决定性地 —— capacity_usd 仅 $1,528,359,impact_cost_pct 25.6%(total_impact $629 对比总盈亏 ~$1,831,即执行吃掉了毛利的 ~34%)。因此微薄的优势仅在玩具规模下存在,无法经受真实执行,因为篮子交易的是流动性较低的腿(SOL、BNB)并在一次退出中搅动整个篮子。这是单一 ETH 交易的严格 DILUTION:正如开发者所写,'通过滞后筛选的山寨币仅仅是同类策略的单名交易,而额外的腿稀释了它' —— 相关的 ETH/SOL/BNB 腿将优势平均拉向噪声,同时增加执行阻力和相关 beta 风险,对于单一 ETH 策略已经清晰捕获的优势而言,这是一个 WEAKER、不可部署的版本。 - IMPLAUSIBLE RISK-METRIC UNITS + 总敞口修复奏效。max_drawdown 16.79(CI [8.49, 33.55])、var_95 1.72、cvar_95 2.50 仍 >100% —— 这是会话范围的归一化伪影,引擎端。NOTE 迭代-3 的更改确实按预期降低了敞口:avg_position_pct 下降至 20.0%(从无门控篮子的较高毛额),证实每腿滞后门控通常仅筛选 3 条腿中的 1-2 条,且 leg_frac 0.25->0.20 有帮助 —— 因此先前审查的相关 beta 问题已得到实质性改善。阻碍因素是优势/容量,而非规模。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。