策略
COIN-M BTC 持仓量确认时间序列动量,多空(BTCUSD_PERP.BINANCE_CM 反向永续,日线 K 线,当持仓量上升确认新头寸时交易约 50 日回溯收益的符号 ONLY,ATR-追踪退出,按波动率缩放规模,3 参数)
结局: 已放弃
BtcCoinMOpenInterestConfirmedTsMomLS
结局总结
……完整记录如文件所写。
假设
一种 LONG-SHORT、单品种、方向性趋势跟踪策略,运行于 BTC 保证金的 COIN-M 反向永续合约(BTCUSD_PERP.BINANCE_CM)。这不是 NOT 又一个 Binance USD-M 克隆,也 NOT Beta 中性/配对重构(L95/L96)——它是该工厂(深度流动性主流币上的纯粹方向性动量)中幸存下来的 ONE 机制族,特意路由至最低费用的加密场所(COIN-M ~0.06% RT 对比 USD-M ~0.10%)以争取费用空间,并配备最近在 USD-M(DogeOpenInterestConfirmedTrendContinuationLS、SolPriceOpenInterestQuadrantTrendLS)上取得进展的结构性确认信号(持仓量)。主要信号为日线 K 线上约 50 日回溯收益的 SIGN。仅当持仓量在确认窗口内 RISING 时才 TAKEN 交易——即新资金/新头寸正随价格趋势而进入,可区分真正的趋势与低信念漂移或空头回补反弹。当 OI 在价格趋势时为 FLAT 或 FALLING,则趋势由头寸平仓(耗竭)而非新信念驱动,策略保持空仓。头寸按波动率缩放(通过 ATR 实现恒定风险目标),并由吊灯/ATR-追踪止损保护。恰好 3 个可调参数(动量回溯期、OI-确认回溯期、ATR-止损倍数)以抵抗过拟合墓地(380 次失败)。COIN-M 反向合约意味着 PnL 以 BTC 计价——对于希望以 BTC 计复利累积趋势跟踪附加策略的持有人来说,这是一种真正的 BTC 特定优势,这正是 BTC(在 USD-M 上已被过度挖掘)成为该特定、欠挖掘场所上 RIGHT 且可辩护品种的原因。
迭代 2 以最小变更修复了报告的第 -3 层 sandbox_timeout:仅改动持仓量 SOURCE,其他不动。之前的版本引用了原始主符号补充数据源,其中包含 COIN-M 合约的 OI 镜像;引用该键会导致引擎加载并 JSON 来回传输约 513k 条五行 row-dict(15 MB parquet),仅此一项就在 K 线被处理之前耗尽了 300 秒的墙钟时间(src/backtesting/supp_collector.py 明确记录了此失败)。现在读取 'open_interest_by_instrument'——引擎的紧凑型逐腿映射,已下采样至 >=1 笔/小时,且自 2026-09-10 起,从同一镜像填充 BINANCE_CM 反向合约。本地测量:42,763 个点,覆盖 2021-07..2026-09,构建耗时 10 秒,1.4 MB JSON。row-list 数据源 'open_interest' 仍是回退方案,是合成层所提供的形式,因此第 2 层仍获得真实的 OI 数据序列。每根 K 线的成本不变,分摊为 O(1)(在预排序数组上仅向前指针遍历、带 maxlen 的 deque、增量 ATR)——不重新扫描、不排序、不在 on_bar 中调用 min()。除加载器外,信号逻辑、开平仓规则、反向合约规模、导入和类结构与 previous_code 保持字节级一致,因此通过的第 1/1.5/2 层检查得以保留。杠杆 2.0 在 position_size 中真正被使用(预算 = 权益 × 杠杆),毛持仓上限为预算的 0.5 = 1.0x 权益名义。
过拟合的单品种 OHLCV/OI-门控方向性趋势跟踪策略。样本外检验 IS 1.95 -> OOS -0.797(is_overfitted=TRUE),三个 OOS 窗口中有两个为负——优势在未见数据上反转。由通缩夏普失败得到定量确认:DSR=0.0003,225 次试验中的预期最大值=1.97——所选夏普与 N 中最优噪声无法区分(is_significant=false,未通过项目 FDR 检验,277 中保留 4)。三个可调参数均为悬崖参数,因此不存在 NO 稳健区域可供迭代——扫描结果整体噪声化,而非仅是欠调。这不是费用问题(单笔 0.84% 超过 COIN-M 下限,且 PF 为 1.67)——表面上的全程优势是从 225 个相关试验中选最优造成的伪迹,完全由单一正常波动行情和一个 +17.6% 日支撑。OI-确认门槛和 COIN-M 场所重路由未能增加 3 阶段通缩也无法剥离的稳健性。这与持续存在的单永续 OI/补充数据门控方向性策略族相匹配,并在相似度 0.836 处与几近相同、之前已放弃的 COIN-M BTC OI-确认方向性策略相吻合(加上 OI-确认头寸位移摆动 -> code_defect,Donchian CM -> fee_edge,ETH CM TSMOM -> 过拟合)。过拟合 -> 放弃而非迭代:将相同的动量加 OI 机制重新定位到另一品种,往往会再次过拟合,无法揭示真实优势,且扫描结果无可调方向。
实现
在 BTC 保证金的 COIN-M 反向永续合约(BTCUSD_PERP.BINANCE_CM)上的多空日线时间序列动量策略。方向取约 50 日回溯收益的符号;仅当持仓量在确认窗口内 RISING 时才建仓(新的头寸正跟随价格变动进入),当 OI 持平/下降(由平仓驱动的行情)时或没有 OI 数据时,策略保持空仓。退出条件为动量符号反转或 ATR 吊灯追踪止损,已止损方向在动量反转前保持封锁。头寸规模按波动率缩放(通过 ATR 实现每笔恒定风险),并设有硬性毛名义上限,通过 contracts_for_notional() 以 WHOLE 反向合约表示。仅搜索三个参数。
验证结果
确认基础模板确实调用了 min_bars_required();如果没有,则依赖内部就绪防护(已是正确的)并删除该覆盖方法,或重命名以避免遮蔽警告。
min_bars_required(self) 覆盖/遮蔽了基础模板所依赖的框架方法用于预热。如果基础模板未调度到此覆盖方法,则原定的 max(mom_lookback, oi_lookback, atr_period)+2 预热将被忽略(无害——策略自身的 deque/计数器防护会独立防止过早信号——但该覆盖方法可能是死代码)。
这是一个单品种方向性日线-TSMOM 变体,属于在分析师阶段反复因过拟合/负期望而失败的策略族(LtcCoinMDailyTsMom、SolIntermediateSkipWindowTsmom,以及若干 DOGE/DOT/SOL 趋势克隆)。沙箱冒烟测试仅为温和正值(夏普 0.35,CI [-0.38, 1.15] 横跨零,total_return +20% 但低波动三分位为 -5.1% / 夏普 -0.28)。OI-确认门槛和 COIN-M 费用空间是与已放弃的 USD-M 同类策略相比的真正差异化点,因此值得进行完整回测,但分析师应在优化前权衡单笔优势(沙箱约 0.35%)与 BTC/单品种 TSMOM 丰富失败案例。仅作咨询意见。
回测评审
- 夏普
- 0.35
- 总收益率
- 20.26%
- 最大回撤
- 16.61%
- 总交易数
- 70
- 胜率
- 41.4%
- 盈利因子
- 1.19
机制运行正常且与假设一致:6.1 年内 70 笔交易(31 多 / 39 空),所有信号触发均已提交(entry_diag 70->70,零丢弃),节奏合理,适用于约 50 天的日线 TSMOM,并以 OI 上升否决门作为过滤。
在可靠样本上数值可行:avg_trade_return_pct 0.19%(pct_notional)高于 COIN-M ~0.10% 的费用下限,PF 1.19,夏普为正 0.35,最大回撤 DD 16.6%(低于预登记上限),70 笔交易,跨度 6.1 年,metrics_reliable=true。优势覆盖成本,因此可优化。
与已放弃的 USD-M 同类策略相比的真正差异化点:路由至更低费用的 COIN-M 反向合约场所以争取空间,以及一个持仓量确认门槛(一种结构性信号,最近在 USD-M OI-确认趋势变体上取得进展)。仅有 3 个可调参数,限制了多重检验的维度。
边际显著性:夏普 CI [-0.45, 1.16] 横跨零,低波动三分位为负(-5.1%, 夏普 -0.28),而这是一个已被充分挖掘的单品种日线-TSMOM 策略族,在 3 阶段通缩中反复因过拟合/负期望而失败(LtcCoinMDailyTsMom、SolIntermediateSkipWindowTsMom,以及若干 DOGE/DOT/SOL 克隆)。
总回报中 end_unrealized_pct 15.2(共 20.3)意味着约 75% 的头条数字属于未平仓头寸的 MTM,而非已实现收益——这是在 ANALYZING 中应携带的晋升阶段警示(应在该阶段根据已实现/风险调整后的指标进行判断)。
单笔交易优势仅略高于费用下限;优化器必须找到真正稳健的区域,而非对 OI/动量回溯期进行曲线拟合。
分析
机制运行正常且与假设一致:6.1 年内 78 笔优化后交易(38 多 / 40 空),所有信号触发均已提交,节奏合理,适用于约 50 天的日线 TSMOM,并以 OI 上升门作为过滤。
单笔交易优势覆盖成本:优化后 avg_trade_return_pct 0.839% >> COIN-M 0.10% 费用下限;profit_factor 1.67 > 1.3;佣金仅占毛收益的 5.3%。费用 NOT 是此处的主要杀手。
保留窗口为名义正值(10 笔交易的夏普为 1.35)。
HARD 门槛失败:样本外检验 is_overfitted=TRUE,IS 1.95 -> OOS -0.797,且三个 OOS 窗口中有两个为负(-0.56、-2.96、+1.14)。优势在样本外 REVERSES,而非仅衰减。
HARD 门槛失败:平均样本外夏普 -0.797 <= 0(有效性下限 0.5)。
通缩夏普检验失败:DSR=0.0003,225 次试验中的预期最大值=1.97(有效 126)——所选夏普与 N 中最优噪声无法区分。PSR 稳健块 0.906 < 0.95,is_significant=false,未通过项目级别的 FDR 检验(Benjamini-Hochberg q=0.10 在 277 中保留 4;candidate_p 0.9997)。
敏感性:ALL THREE 个可调参数(mom_lookback、oi_lookback、atr_stop_mult)为悬崖参数——sharpe_grid 在相邻小回溯期之间从 -0.67 摆动至 +0.83。不存在稳健的参数区域可供迭代。
行情归属:在平静(夏普 -0.07)和压力(夏普 -0.22)的三分位中亏损 BOTH——所有回报均来自单一的"正常"波动三分位(以及 2024-12-20 上的一个 +17.6% 日),即结果由一个幸运窗口支撑,而非持续性的优势。
优化后 max_drawdown 26.1% 突破预登记的 22% 上限;Calmar 0.36 < 0.5。
预登记的自我预测偏离 3(满分 5)(min_trades 78<120,OOS -0.80<0.9,DD 26.1>22)。
Benjamini-Hochberg 在 q=0.10 下,对 277 个项目候选进行检验,保留 4。未能在此通过检验的候选与项目自身的噪声无法区分,无论其个体统计数据看起来多好。
迭代历史
sandbox_timeout:验证失败(第 3 层——沙箱回测):冒烟测试在约 20000 根 K 线的窗口(2400 天的 BTCUSD_PERP.BINANCE_CM-1-DAY-LAST-EXTERNAL)上超出了 300 秒的墙钟时间限制。这几乎总是意味着每根 K 线的工作量随历史规模扩展——例如重新扫描完整的资金费率/补充数据序列,或在每根 K 线的 calculate_signal()/on_bar() 中重建列表并调用 min()/sorted()。在 __init__ 中预先计算已排序的时间戳数组 ONCE 并使用 bisect,或按时间戳缓存查找,使每根 K 线的成本为 O(log n) 而非 O(n)。
结局总结
将一个已被充分挖掘的单品种动量机制重新路由至更便宜的场所并加入 OI-确认门槛,可争取费用空间但不增加稳健性——优势在样本外仍然反转。
在优化后 ANALYZING 因硬门槛失败而放弃:样本外过拟合(平均 OOS 夏普为负),通缩夏普与噪声无法区分(未通过项目 FDR 检验),且三个参数均处于悬崖位置——不存在稳健区域可供迭代。
在 BTC COIN-M 反向永续合约上的多空日线时间序列动量趋势跟踪策略,仅在持仓量上升确认新头寸入场时交易约 50 日回溯收益的符号,采用 ATR 吊灯追踪止损和按波动率缩放的规模,路由至更低费用的 COIN-M 场所。
初始回测:6.1 年内 70 笔交易,平均每笔 0.19%(高于约 0.10% 的费用下限),PF 1.19,夏普 0.35,16.6% 最大回撤 DD。优化后 PF 升至 1.67,单笔升至 0.84%,但样本外检验由 IS 夏普 1.95 反转为 OOS -0.797,DSR 0.0003(基于 225 次试验),且 DD 突破 22% 上限,达到 26.1%。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。