跳至正文
全部策略

策略

US 风险偏好/避险市场状态轮动——SPY 与防御性仓位(TLT/现金)对比;单一长期 SMA 趋势过滤器,配合滞后切换区间;数十年日线历史数据(2 参数)

结局: 已放弃

UsRiskOnRiskOffRegimeRotationSpyTltHysteresis

结局总结

缓慢、持续数月的市场状态轮动机制产生的交易太少,无法在样本内进行统计验证;将反复出现的跨资产宏观轮动策略族重新套用到相邻 ETF 上,每次都会再次过拟合。

假设

一个在 USEQ 场所上的 LONG-ONLY(始终持有 ONE 资产或空仓)跨资产 REGIME-ROTATION 策略,在股票指数 ETF SPY(风险偏好)与防御性政府债券 ETF TLT(风险规避)之间轮动单个 100% 名义子组合,当两者均无趋势时切换至 CASH。这是一次深思熟虑的 FIVE-AXIS 转向,远离当前已充斥组合的所有策略:(1)VENUE —— USEQ 在 2922 次实验中是 0.5%,而 BINANCE 是 70.8%(目标 <= 40%);这是唯一一个拥有真实数据支撑但代表性最低的场所。(2)MECHANISM —— 不是动量合流,不是资金费率/OI/爆仓门控,不是 VWAP 反转,不是横截面排序轮动,不是期权 VRP —— 所有这些都是已记录在案的失效类别。它是风险偏好/风险规避防御性轮动原型,因拥有数十年的日度历史数据而被明确推荐为"整个工厂中最具稳健回测性的策略"。(3)DATA —— 纯日度 OHLCV,ZERO 辅助数据源(在 3% 处为最高存活率的标签族),因此无 data_unavailable/data_wall 风险。(4)HORIZON —— long_term,风格持仓以 MONTHS 衡量,因此换手率约为每年每子组合 2-4 次切换,且在零佣金场所上费用/冲击成本可忽略不计。(5)OVERFIT DEFENSE —— 仅 TWO 个参数与长达数十年的日度回测窗口,是 #2 杀手(371 次过拟合死亡,均为短历史/高参数曲线拟合)的直接解药。元学习器已 NOT 扼杀的核心洞察是:股票在趋势性风格中带有持续的股权风险溢价,并在持续的股票下行趋势中产生向债券的避险买盘,缓慢的趋势过滤器收割了 ERP,同时避开了深度熊市阶段。已知的 2022 失效模式(股票与债券 AND 同时下跌)在结构上得到防御:防御性子组合仅在 TLT 处于上升趋势的 ITSELF 时才持有,否则策略持仓现金而非盲目买入债券。

完全符合该假设:五轴转向(USEQ 交易场所、防御性轮动机制、纯日线 OHLCV、持有数月、2 个参数)。在 SPY 位于其长期 SMA 上方并呈趋势时获取股票风险溢价;通过轮动离场避开深度熊市阶段。对 2022 股债齐跌失效情形的防御体现在结构上:仅当 TLT ITSELF 通过相同趋势过滤器时才买入 TLT,否则该部分持有现金。滞后切换是第二个参数,它使单一缓慢的 SMA 可交易,同时避免频繁反复交易。交易场所为 USEQ,杠杆为 1.0,仅做多并以整股为单位确定仓位(仓位精度 0),仓位依据 get_account_equity() * notional_pct 计算。两个标的腿均通过 _submit_entry_instrument / _submit_exit_position 手动驱动,并设有待处理订单门控和延迟入场,因为独立的 USEQ 标的不会相互净额结算,且未结算的成交在缓存中不可见;因此 should_enter/should_exit 保持不活动,使基类不会提交相互竞争的 SPY 订单。calculate_signal 在每个交易时段返回 SPY 相对于 SMA 的连续距离;市场状态完全由价格历史决定(不使用以运行时间为锚点的计数器,也不采用按日历设定的再平衡网格)。

过拟合,且该策略在结构上过于迟缓,无法得到有效验证,样本外泛化为负。四项 HARD 门槛未通过:滚动前推 is_overfitted=true(IS 1.28 -> OOS -0.016,窗口-2 IS 2.95 -> OOS -1.02),OOS 夏普比率 -0.016 <= 0,PBO 0.754 > 0.5,且留出集仅有 3 笔交易(<10)。失败的通胀调整夏普比率检验也定量证实了这一点:DSR=0.0,在 225 次试验中,预期最大值为 1.37;is_significant=false,未通过项目级 FDR(275 中保留 4)。在 24 年间仅有 18-35 笔交易,历史中没有任何切片能够同时按这种频率训练和验证(OOS 存储库标记为 UNDERPOWERED)。这不是费用或调参问题——敏感性面平滑,没有可供继续迭代的稳健区域,样本外表现根本没有显现出优势。这是 USEQ 上反复出现的跨资产宏观状态轮动策略族(SPY/TLT、QQQ/GLD/TLT、SPY/TLT/GLD 个同类策略都因过拟合/risk_reject/fee_edge 被放弃);将同一防御性轮动机制重新套用到相邻的宏观 ETF 上,每次都会再次过拟合,因此不应进行 revise_hypothesis。按照决策框架,过拟合 -> 放弃。

实现

在 USEQ 交易场所运行的仅做多 US 风险偏好/避险市场状态轮动策略,使用日线 K 线。一个 100% 名义金额的仓位在 SPY(风险偏好)、TLT(避险)和 CASH 之间轮动。每个 ETF 都使用 SAME 趋势过滤器:比较收盘价与其自身的 sma_days SMA,并采用对称的 hysteresis_pct 区间——只有当价格高于 SMA 的幅度超过该区间时,状态才转为“上涨”;只有当价格低于它的幅度超过相同距离时,状态才转为“下跌”,因此价格在线附近振荡不会导致仓位频繁反复切换。SPY 上涨 -> 持有 SPY;SPY 未上涨但 TLT 上涨 -> 持有 TLT;两者都不满足 -> 空仓。两个可搜索参数(sma_days、hysteresis_pct);无补充数据;每年约 2-4 次切换,因此在免佣金交易场所,点差与冲击成本拖累可以忽略。

验证结果

从 _param_bounds 中移除 notional_pct(仅保留 sma_days 和 hysteresis_pct),并按照代码注释所述,将 notional_pct 保持为固定结构常量。

假设明确提出以 TWO 个参数作为过拟合防御(sma_days、hysteresis_pct),但 config.parameters._param_bounds 将 notional_pct [0.1, 1.0] 纳入第三个可搜索边界。notional_pct 只影响仓位规模(不影响信号),且代码会对其进行钳制,因此这不会影响正确性;但将其暴露给优化器,会轻微削弱“2 个参数、数十年历史数据”的过拟合防御说法。可考虑从 _param_bounds 中移除 notional_pct,使搜索空间与所述 2 个参数一致。

无需更改。

静态分析将 min_bars_required() 标记为遮蔽基类方法。这属于 FALSE POSITIVE:基类模板调用 self.min_bars_required()(base_template.py:478)进行预热门控,因此重写该方法以要求 sma_days+2 根 K 线是预期且受支持的扩展点。无需采取措施;此处记录是为了避免将该警告误认为缺陷。

该假设的核心主张是从结构上防御 2022 股债齐跌市场状态,然而沙盒的 rate_shock_2022 压力窗口仍显示 -15.5%(夏普比率 -2.48,DD 16.9%),而“正常”波动率三分位是表现最弱的(夏普比率 0.41)。两种资产都不呈趋势时持有现金的规则虽能降低但无法消除 2022 阶段的影响,且 TLT 的缓慢 SMA 落后于避险转向。尽管如此,沙盒的整体表现仍为正(+69.8%,夏普比率 0.82,PF 5.46,PSR 0.97),覆盖约 4.5 年。值得在完整的数十年回测中关注 2022 的表现,但这是分析师需要考察的表现问题,不构成正确性阻碍。

回测评审

夏普
0.51
总收益率
435.39%
最大回撤
25.86%
总交易数
35
胜率
45.7%
盈利因子
4.26

交易符合该假设:35 次仅做多轮动,0 笔做空;在 24 年的 TLT 可用历史数据中,每年约有 1.5 次切换——正是前提所预测的持续数月的市场状态节奏。

趋势跟踪特征一致:win_rate 0.457,profit_factor 4.26(小额亏损,大额盈利),recovery_factor 29.6。

在 USEQ 上具备经济可行性:avg_trade_return_pct 5.45% 约为 100x,而 0.05% USEQ 是底线;免佣金,冲击成本仅占毛收益的 0.56%——费用拖累并非问题。

对于 3 阶段的运行,这是强有力的过拟合防御:数十年的日线历史数据仅使用 TWO 个自由参数(sma_days、hysteresis_pct),并采用代表性不足的交易场所 USEQ,从而为以 Binance 为主的数据集提供多样性。

结果可靠且合理:metrics_reliable=true,回报确实存在 MTM,期末未实现部分仅约为 14%,没有伪影特征。

风险调整后的优势有限:夏普比率 0.51,且 information_ratio 为负(-0.14),相较 SPY+TLT 基准篮子的超额收益很薄(约 1.46%/年)——部分原因可由未计入的 SPY 股息(约 1.5-2%/年)解释,但主动收益优势仍然很小。

2022 利率冲击窗口仍亏损 -16%(夏普比率 -2.39):两种资产都不呈趋势时持有现金的规则可以缓解股债齐跌阶段的影响,但无法将其消除(QA 的顾虑——这是优化后需要考察的表现问题)。

35 笔交易对于参数拟合而言样本量偏低;只有在搜索空间为 2 维且机制缓慢、具有结构性的情况下,这才可以接受。

分析

交易符合该假设:18-35 次仅做多轮动,不做空,持有数月的市场状态,回撤 18.3%,低于预先登记的 25% 上限;单笔交易回报远高于 USEQ 费用底线(此处费用不是问题)。

敏感性网格平滑(无 0 悬崖,在 sma_days × 滞回参数表面上全周期夏普比率约 0.53-0.66)—— 参数稳定,问题不在于参数的脆弱性。

结论明确为OVERFIT且不具备泛化能力:滚动前向验证IS 1.28 -> OOS -0.016(is_overfitted=true),窗口-2 IS 2.95 -> OOS -1.02,PBO 0.754 > 0.5。全周期夏普比率来自拟合数据;在未见过的窗口中,优势消失或反转。

在统计上无法与噪声区分:DSR=0.0,在 225 次试验中,预期最大夏普比率为 1.37(有效试验数 29);is_significant=false,未通过项目级 FDR(275 项中保留 4 项)。

在结构上无法验证:24 年间仅有 18-35 笔交易。留出集只有 3 笔交易(<10),且 OOS 存储库被明确标记为 UNDERPOWERED(预计约有 10 笔交易,至少需要约 100 笔)。该策略过于缓慢,历史数据中没有任何切片能够同时用于训练和验证。

匹配一个反复失效的策略族:SPY/TLT 和 QQQ/GLD/TLT 以及 SPY/TLT/GLD 在 USEQ 上的宏观风格轮动同族策略均已被放弃(过拟合 / risk_reject / fee_edge)—— 将相同的防御性轮动机制重新套用至邻近的宏观 ETF 上,每次都再次出现过拟合。

预先登记的预测在两个关键指标上均未命中:声明为 min_trades 60(实际为 18)和 min_oos_sharpe 0.8(实际为 -0.016)。

对 275 个项目候选项应用 q=0.10 的 Benjamini-Hochberg 检验后,保留 4。未通过此检验的候选项无法与项目本身的噪声区分开来,无论其单独统计指标看起来多么出色。

结局总结

分析师在 ANALYZING 阶段放弃了该策略,此前初始回测通过了 BACKTEST_REVIEW(结论:优化)。四项 HARD 门槛均未通过——is_overfitted=true,OOS 夏普比率为 -0.016(≤0),PBO 0.754(>0.5),且留出集仅有 3 笔交易(<10)——并且 OOS 存储库被标记为统计效力不足。

在 USEQ 交易场所运行的两参数仅做多市场状态轮动策略,在 SPY(风险偏好)、TLT(避险,仅当 TLT 本身呈上涨趋势时)和现金之间轮动一个 100% 名义金额的仓位;策略使用单一长期 SMA 趋势过滤器和滞后切换区间,基于数十年的日线历史数据。

优化后的全周期回测纸面表现强劲——总回报 561%,CAGR 10.3%,夏普比率 0.57,盈利因子 15.0,最大回撤 18.3%,且 avg_trade_return_pct 12.5% 远高于 USEQ 底线——但这仅基于 24 年中的 18 笔交易。滚动前推测试的样本外表现大幅崩溃(平均 IS 夏普比率 1.28,对比 OOS -0.016;窗口-2 IS 2.95,对比 OOS -1.02),同时 PBO 0.754,通胀调整夏普比率为 0.0。

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