策略
SOL 中间(跳空窗口)时间序列动量,多空双向(SOLUSDT.BINANCE USD-M,4H K线——趋势测量OVER t-N..t-k EXCLUDING最近k根K线以剥离短期反转造成的洗盘效应,波动率调整仓位规模,ATR追踪止损离场,3参数)
结局: 已放弃
SolIntermediateSkipWindowTsmomLS
结局总结
该策略试图修复曾摧毁此前SOL趋势克隆策略的低于手续费的洗盘问题,做法是在一个排除最近易反转K线的中间窗口内衡量4H动量,按波动率反向调整仓位规模,并在ATR追踪止损时离场。其初始回测在一个具有决定性的362笔交易样本上通过了优化前的门槛检验(夏普比率0.64,PF 1.24,单笔交易的边际收益1.17%明显高于交易成本),因而获得了完整优化的资格。但3阶段的衰减结果具有决定性:样本内夏普比率2.96降至OOS -0.099,留存集(holdout)在59笔交易上录得-0.228,PBO 0.51以及经缩减调整后的夏普比率0.0表明所选结果只是噪声,且优化后的回撤31.7%突破了25%的预先设定上限。分析师在一次迭代后即放弃了该策略,认定其为一个过拟合的单一标的OHLCV TSMOM克隆策略,没有可供迭代的稳健区域。
假设
一个基于SOLUSDT.BINANCE USD-M永续合约(4H K线)的LONG-SHORT、单一标的、纯OHLCV方向性策略。其机制是INTERMEDIATE/SKIP-WINDOW时间序列动量:趋势信号为从t-N到t-k、EXCLUDING最近k根K线的累积收益,短期反转正发生于此并制造出曾摧毁此前SOL/山寨币趋势克隆策略的低于手续费洗盘问题。中间动量的符号在带有死区的情况下决定方向;采用反向波动率仓位调整;单一标的、同一交易场所、不逆势操作。
严格按照假设实现:跳空窗口是核心机制,因此分子是从t-N到t-k的累积LOG RETURN,最后k根K线被有意从测量中剔除(它们仍会更新ATR、价格及追踪止损,只是不参与方向投票)。按ATR%*sqrt(N-k)进行归一化使该分数在SOL的不同波动率环境下具有可比性,因此单一的死区(deadband)参数在平静市场和压力市场中含义一致(依据L5:不设固定的绝对收益阈值)。该信号是连续的,且在每根K线上都会返回;入场决策则是should_enter上的纯阈值判断。共有三个可调参数(回溯期、跳空期、死区)加上ATR追踪止损周期和风险比例,未在其上叠加任何regime/成交量/多重确认条件(依据L25),因此入场信号足够频繁以适应沙盒窗口。预热期为49根K线,仅占4H沙盒窗口的极小一部分(依据L21)。由于该策略会做空,因此需要期货交易场所BINANCE;杠杆维持在1.0,且总名义敞口设有独立于权益曲线的上限,以防止亏损累积放大仓位规模(依据L15)。仓位大小按SOLUSDT的数量精度(3位小数)量化,并通过基础模板的最小名义金额检查。
过拟合的单一标的OHLCV TSMOM克隆策略。IS夏普比率2.96崩溃至OOS -0.099(is_overfitted=true),留存集夏普比率在59笔交易上为-0.228,PBO 0.51 > 0.5,DSR 0.0/is_significant=false/未通过项目FDR检验——所选夏普比率与225次试验中最优结果的噪声无法区分。跳空窗口式重构并未带来任何3阶段缩减检验无法剥离的稳健性;边际收益是缺失的,而非调参不当所致(回溯期本身就是一个悬崖式参数,不存在可供迭代收敛的稳健区域)。该策略符合单一标的日线/4H TSMOM克隆过拟合系列的特征(此前的SOL TSMOM/动量-多重确认克隆策略均已被放弃:fee_edge/no_edge)。根据决策框架,过拟合->放弃(将同一机制重新映射到另一标的上只会再次过拟合)。
实现
在SOLUSDT.BINANCE USD-M永续合约、4H K线上进行多空双向的中间(跳空窗口)时间序列动量交易。每根K线都会计算一个连续的动量分数 = log(P[t-k]/P[t-N])除以同一(N-k)根K线区间内ATR隐含的波动幅度,即趋势是在t-N..t-k区间内测量的,最近MOST RECENT根K线被排除在外,因此短期反转噪声永远不会进入趋势估计。分数高于+死区则做多,低于-死区则做空。在中间动量方向翻转或自入场以来最有利极值回撤触及ATR追踪止损时离场。仓位规模采用反向波动率法:以ATR止损距离为基准,按固定比例的权益承担风险,并以权益名义金额的固定比例为硬性上限。默认参数:N=30根K线(5天),k=3根K线(12小时),死区0.6个标准差,3x ATR(14)追踪止损,每笔交易风险2%。
验证结果
如果最初的意图是设置框架预热参数,请确认基类确实会读取min_bars_required;否则应将其重命名为内部辅助方法(例如_min_bars),以避免出现遮蔽警告。
min_bars_required(self)覆盖/遮蔽了一个基础框架方法;静态分析提示基类可能依赖其自身的预热(warmup)实现而忽略此覆盖。这里之所以无害,是因为calculate_signal拥有自己内部的预热保护机制(在len(_closes) > lookback之前返回0.0),因此无论基类使用哪条预热路径,信号都不会在数据不足时被发出。
在SOL上的单一标的纯OHLCV方向性趋势跟踪策略,该策略系列在优化后曾多次于PF~1.0处失效。沙盒测试结果为正(夏普比率0.64,PF 1.27,avg_trade 1.17%),但夏普比率CI的区间跨越了零值(下限为-0.15),胜率为43%,且收益主要集中在正常/压力波动率三分位区间(平静期三分位仅为+5.5%,夏普比率0.24)。该跳空窗口构造依据L81是一种真正全新的机制(而非对已放弃的OHLCV机制的重新参数化),因此值得进行真实回测,但分析师应确认该中间动量边际收益能否在所有波动率环境下、在全历史成本条件下持续存在,而不只是仅存在于趋势行情中。
回测评审
- 夏普
- 0.64
- 总收益率
- 112.24%
- 最大回撤
- 22.18%
- 总交易数
- 362
- 胜率
- 43.1%
- 盈利因子
- 1.24
具有决定性的样本量:362笔交易,跨越6年(2183天)的窗口,metrics_reliable=true。
单笔交易的边际收益确实高于成本:avg_trade_return_pct 1.17%相对于0.15% Binance USD-M下限,佣金仅占毛收益的3.3%,冲击成本为7.1%——这NOT属于手续费脆弱性问题。
PF 1.237明显位于[0.85,1.10]手续费/冲击成本拖累区间ABOVE,夏普比率为正0.643,阿尔法为正0.10,DD 22.2%(<60%),recovery_factor 4.17。
交易执行体现了该假设:多头(171)/空头(191)平衡配置,362发出信号即等于362提交订单,ATR追踪止损离场,按反向波动率调整仓位规模。不存在机制不匹配问题。
跳空窗口(中间、经反转剥离处理的)TSMOM依据L81/QA是一种真正全新的构造方式,而非对已放弃的OHLCV机制的重新参数化——值得进行真实测试。
在所有三个波动率三分位区间均实现盈利(平静期+5.5%,正常期+32%,压力期+45%;only_one_regime=false)。
经典的单一标的OHLCV趋势系列策略(L82/L93),在3阶段的缩减检验中屡次因过拟合而失败——此处的基础夏普比率0.64低于ADA存活者档位(夏普比率1.6/PF 2.19)。
按日历年份来看,边际收益正在衰减:2021-2023表现强劲为正,但2024 -1.5%,2025 -7.2%,2026 +1.5%——近期市场环境几乎没有贡献,而留存集正是最近约15个月的数据。
夏普比率95% CI [-0.17, 1.45]在下限一端已跨越零值;胜率43%;平静期三分位夏普比率仅为0.24。
留存集窗口恰好落在2025-2026的弱势时期,因此SOFT缩减/留存集检验可能很难通过。
分析
具有决定性的样本量(403笔交易,2186天窗口,metrics_reliable=true)以及真实存在的高于成本的单笔交易边际收益(avg_trade_return_pct 0.80%相对于0.15% Binance USD-M下限;佣金占毛收益的3.99%,冲击成本为9.4%)——该失败NOT属于手续费脆弱性问题。
敏感性网格测试对大多数参数而言总体平滑(只有回溯期被标记为悬崖式参数)。
过拟合(HARD):样本内夏普比率2.96崩溃至样本外的-0.099;滚动前向检验is_overfitted=true。各窗口OOS夏普比率分别为-0.40/+0.10/0.0——没有任何一个边际收益具有泛化能力。
留存集FAILED(HARD):留存集夏普比率在59笔交易上为-0.228——在最近约15个月的未见数据上呈现负向前瞻边际收益。
PBO 0.512 > 0.5(HARD):参数选择更有可能是过拟合而非真实有效。
稳健性崩溃:deflated_sharpe 0.0,PSR 0.85,is_significant=false,未通过项目FDR检验(在269中保留了4)。所选夏普比率与225次试验中最优结果的噪声无法区分;预期最大夏普比率2.75超过了OOS实际实现的任何数值。
优化后的回撤31.7%突破了该假设自身预先设定的25%上限;6项预先设定的预测中有3项未能达成(OOS夏普比率、回撤、盈利因子)。
回溯期是一个悬崖式参数(在+-20%区间内夏普比率为0.20-0.63)——参数扫描所依赖的这一关键参数并不稳定。
在q=0.10的水平上,对269个项目候选策略进行Benjamini-Hochberg检验后保留了4。未能在此通过检验的候选策略,无论其个体统计指标看起来多好,都无法与该项目自身的噪声相区分。
结局总结
将单一标的OHLCV趋势跟踪重新表述(此处为跳空窗口中间动量)并不能带来任何3阶段缩减检验无法剥离的稳健性;在一个慢速的单一标的策略上取得较高的样本内夏普比率,与N次试验中最优结果的噪声并无区别,而回溯窗口作为一个悬崖式参数意味着不存在可供迭代收敛的稳健区域。
分析师在优化后因多项HARD门槛检验失败而放弃了该策略——is_overfitted=true,OOS/留存集夏普比率为负,PBO>0.5,DSR 0.0/不显著/未通过项目FDR——并且优化后的31.7%回撤突破了该假设自身预先设定的25%上限。
一个基于SOLUSDT.BINANCE USD-M的多空双向、单一标的4H时间序列动量策略,通过一个中间跳空窗口(t-N..t-k,排除最近的k根K线)衡量趋势,以剥离短期反转造成的洗盘效应,并配合反向波动率仓位调整和ATR追踪止损离场。
在362笔交易、2183天窗口上的初始回测看起来可行(夏普比率0.64,PF 1.24,最大回撤22.2%,avg_trade_return_pct 1.17%高于0.15%手续费下限),但3阶段的优化揭示了问题:样本内夏普比率2.96崩溃至样本外的-0.099,留存集夏普比率在59笔交易上为-0.228,PBO 0.51,且经缩减调整后的夏普比率为0.0。
Stratmill 是研究与模拟交易工具,不提供财务建议,也不是经纪商。回测与模拟结果均为假设性结果。交易存在亏损风险。