策略
BTC-ETH-SOL 日线等权趋势过滤篮子多头
结局: 已放弃
BtcEthSolDailyEqualWeightTrendFilteredBasketLong
结局总结
该策略提出在日线周期上,对 BTC、ETH 和 SOL 构建趋势过滤的等权多头篮子;只有当每个主流币的价格高于其 50 日 SMA 时才持有。尽管汇总指标显示 1603% 收益和 0.70 夏普比率,数据期约为 1329 天,回测仍表现出物理上不可能的行为——仅做多、杠杆-1.0的组合却有 157% 总敞口,并且在市场崩盘日获得 +157.9% 的收益——其根源是持续存在的仓位规模/会计缺陷。该错误在三轮迭代中一直存在(总敞口 1033% → 405% → 157%;不可能的单日收益 177% → 98.8% → 157.9%);汇总收益仅因剥除杠杆而大幅缩水,说明表面上的优势源于杠杆/会计伪影,而非 alpha。因此,分析师依照上一轮明确设定的终止条件,在回测审查关卡放弃了该策略,未进入任何优化或后续审查阶段。
假设
一种仅做多、多标的(3 种资产)的 DYNAMIC BASKET 策略,运行于日线周期,交易流动性最高的三种加密主流币——BTCUSDT.BINANCE、ETHUSDT.BINANCE、SOLUSDT.BINANCE。机制:每根日线 K 线,评估各资产的趋势过滤条件(收盘价 > 50 日 SMA),然后对通过过滤条件的 EVERY 资产持有等权多头仓位。组合构成是动态的:任意时点最多可持有 0/1/2/3 种资产。三种资产全部通过时,组合总敞口为 99%(每种占 33%);只有一种通过时为 33%;均未通过时持有 100% 现金。仅在过滤状态切换时再平衡,以避免每日费用拖累。与我最近加入流程的两种轮动策略(BTCETHRelativeStrengthRotationLong、BTCETHSOLThreeWayRotationLong)有实质区别:它们将 ALL 资本集中于最强的单一资产,以捕捉领涨持续阶段的 alpha;THIS 篮子则分散投资于所有符合条件的资产,以捕捉广泛市场 beta。两种机制互为补充——轮动策略在领涨明确的周期中表现较好(例如 2023 Q4 SOL 季),篮子策略在同步上涨中表现较好(例如 2024 Q1 的广泛市场上涨期间,BTC + ETH + SOL 均上涨了 50-150%)。填补多标的范围未达配额的空缺(8.9%,目标 ≥15%)。使用 ONLY 已确认可用的日线 K 线(BtcSpotDrawdownAccumulationLong 验证 BTC 日线,EthDailyGoldenCrossMomentumLong 验证 ETH 日线,SolDailyEmaTrendContinuationLong 验证 SOL 日线)。NO 次要标的——直接避开导致早期跨交易场所方案失败的 Layer-3-audit_stale 故障模式。仅做多,因为这三种都是有记录的长期正漂移加密主流币;仅做空的方向性策略已被实证否定。
第2轮迭代修复了反馈中标记的过度暴露/MTM伪影问题。根本原因在于:原有代码只在过滤器翻转时加仓,并在净值比例带内进行减仓,因此当持仓腿升值时(且净值通过未实现盈亏膨胀了各腿的目标),总敞口会远超原本设定的约96%(exposure_pct 157%,波动率 159.8%,不可能的 +153%/+105% 单日回报)。此次修复保留了所有先前通过测试的层级(相同的导入、缓冲区、辅助函数、惰性钩子、交易场所/配置),并将calculate_signal中的ONLY尺寸块重写为三个明确的阶段:(1) 通过一次净值快照与换手带计算各腿的DESIRED名义,目前是对称的 — 偏离目标ABOVE超过换手带的赢家会被回切至目标,而不是仅在翻转时加仓;(2) HARD GROSS CAP 将任何仍持仓超过目标的腿夹回目标,使总开放名义 <= 净值*per_leg_pct*n_legs(约0.96x),且永不超过 100% 的 NAV;(3) 提交自洽的各腿差额。由于上限与目标共用同一净值快照(包含未实现盈亏),exposure_pct 保持在当前NAV的约96%附近,日组合波动受限于底层资产的实际波动 — 既解决了不可能回报和波动率虚高的伪影,又保留了动态0/1/2/3腿篮子机制,且不产生每日手续费磨损。
触发终止条件——经过反复尝试,仍无法在该引擎中正确设置多腿篮子的仓位规模。上一轮明确规定了 FINAL 仓位修复尝试的终止条件:“如果下一次回测仍显示 avg_position_pct > ~110% OR 或任何单日收益 > ~25%,则放弃。”当前回测明确违反该条件:exposure_pct=157%(预期上限约为 96%),且在 2021-05-19 出现了 +157.9% 的单日收益——当天市场下跌约 30%(CRASH),仅做多的篮子必然会 LOSE,因此该数值是物理上不可能的会计伪影(其他伪影:+63.1%、+58.2%;return_kurtosis=410)。三轮迭代中,仓位规模引擎的总敞口依次为 1033% -> 405% -> 157%,不可能的单日收益依次为 +177% -> +98.8% -> +157.9%,从未达到物理上有效的状态;而汇总收益仅因移除杠杆伪影便从 6704% -> 2571% -> 1603% 大幅缩水——这证明表面优势源于杠杆/会计失真,而非 alpha。由于指标仍不可信(收益不可能),优化毫无意义;同一仓位规模错误也已抵抗多项具体修复,因此根据现行终止条件放弃,不再继续迭代。若团队希望重新审视趋势过滤篮子构想,则需要先修正仓位规模/会计引擎(总敞口以不含未实现损益的稳定资本基数为锚、逐腿减仓回目标,并设置逐 K 线总敞口断言),且先在单一资产上验证。
实现
仅做多的 BTC/ETH/SOL 日线永续合约等权趋势过滤篮子。每根日线 K 线按资产应用过滤条件(收盘价 > 50 日 SMA)以决定篮子成员;篮子对每个通过过滤的资产持有等权多头(每种约 32%),因此总敞口动态处于 0/33/66/96%。再平衡是基于单一权益快照的内部一致两阶段决策:阶段 1 使用换手区间设定每条腿的目标名义价值(过滤失败时完全退出,区间内持有,超出区间时调整至目标);阶段 2 通过将任何高于目标的持有腿压回目标来执行硬性总敞口上限,因此未平仓名义价值总和永远不会超过 equity*per_leg_pct*n_legs(约 0.96x);阶段 3 提交由此产生的变动量。
回测评审
- 夏普
- 0.70
- 总收益率
- 1603.04%
- 最大回撤
- 44.14%
- 总交易数
- 167
- 胜率
- 26.3%
- 盈利因子
- 1.84
机制概念合理(在 3 个主流币上构建趋势过滤的多头篮子),交易频率也合理(167 笔交易)
各轮迭代逐步改进了仓位规模设置(总敞口 1033% -> 405% -> 157%)
总敞口 STILL 超过预期的 ~96% 上限:仅做多、leverage=1.0 的篮子中,exposure_pct=157%——“硬性总敞口上限”并未生效
单日收益在物理上不可能实现的问题仍然存在:+157.9% 出现在 2021-05-19(约 30% 市场 CRASH 日,此时多头篮子必然 LOSE),此外还有 +63.1% 和 +58.2% 的尖峰;return_kurtosis=410,偏度=17.9,tail_ratio=0.09——结果受会计伪影主导
这是先前迭代中指出的同一仓位规模缺陷的 REPEAT(敞口 1033% -> 405% -> 157%;不可能的单日收益 +177% -> +98.8% -> +157.9%)——多项有针对性的修复均未能得到物理上有效的回测
前一轮迭代明确设定了 KILL CONDITION(任何单日收益 > ~25% => 放弃);当前 +157.9% 日违反了该阈值,超出 >6x
汇总收益纯粹随着杠杆移除而从 6704% -> 2571% -> 1603% 大幅缩水,证实表面优势主要是杠杆/会计伪影,而非 alpha
当权益/收益会计产生不可能的数值时,所报告的指标(夏普比率 0.70,total_return 1603%,beta 0.32)不可信
分析
不要NOT优化 — 回测因过度暴露及MTM伪影而被破坏,使各项指标在物理层面变得不可能:exposure_pct 157% 与 annualized_volatility 159.8%(约1.6x),相对于原本设定的约96%总敞口(3条腿 × 32%),出现了不可能的单日组合回报(2021-11-26 +153%、2024-01-22 +105%),这种回报不可能来自96%长的BTC/ETH/SOL篮子,同时还有end_unrealized_pct 531.96%(+1696%的头条数字大部分来自一笔未平仓的开放头寸)。FIXES:(1) NO TRIMMING OF WINNERS:再平衡仅在过滤器翻转时加仓,换手带又忽略了上行漂移,因此当持仓腿升值时,总敞口会远超96% — 增加逻辑,当某条腿相对目标的漂移ABOVE超过换手带时(不仅是低于),将其回切至per_leg_pct*净值,使总敞口保持在 ~96%。(2) EQUITY-WITH-UNREALIZED-PNL FEEDBACK:target_notional = 净值*per_leg_pct 使用 get_account_equity() 包含未实现盈亏,而 cur_notional = cur_qty*价格;需核对这一计算方式不会重复加仓,并加上硬性上限,使所有3条腿的总开放名义 <= 净值 × (per_leg_pct之和) ~ 0.96x。修复后,exposure_pct 应位于 96% 附近(永远不要 >100%),annualized_volatility 应降至约80-100%(加密主流范围),且任何单日回报都不得超过底层资产的实际波动幅度。(3) 在正确标记、正确规模的序列上确认结果。NOTE:即使修正后,这本质上仍是做多-3主流的贝塔加上一个50-SMA的择时叠加(benchmark_correlation 0.64,贝塔 0.30)— 它需要展现真正的阿尔法,并在风险调整后回报上优于等权的BTC/ETH/SOL买入持有(趋势过滤器本应通过规避2022 -63.6%回撤来跑赢它)才有优化价值;如果修正后的版本只是带杠杆的贝塔,且相对于买入持有没有阿尔法,则下一轮应放弃。
结局总结
在信任任何汇总指标之前,必须先在单一资产上验证多腿篮子的仓位规模,并以不含未实现损益的稳定资本基数为锚,同时加入逐 K 线总敞口断言。
该策略在优化前的回测审查关卡被放弃(结论:放弃),这触发了上一轮的现行终止条件(敞口 > ~110% 或任何单日收益 > ~25%);优化、分析师和风险审查阶段均未进入。
一种仅做多、日线周期的 BTC、ETH 和 SOL 等权篮子;当某主流币的收盘价高于其 50 日 SMA 时,便持有该币等额多头仓位,动态运行 0–3 条腿,以捕捉广泛同步上涨的 beta(区别于其单资产轮动同类策略)。
2019-12-31 至 2026-06-25 的回测报告总收益 1603%、夏普比率 0.70 和 167 笔交易,但这些数字不可信:仅做多、杠杆-1.0的组合中,exposure_pct 达到 157%,return_kurtosis 达到 410,而在约 30% 的市场崩盘日出现了 +157.9% 的单日收益。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。