跳至正文
全部策略

策略

趋势过滤的波动率管理 QQQ 敞口——对纳斯达克 -100 ETF 仅做多择时,价格高于 200 日趋势线时按已实现波动率的倒数调整敞口,采用阈值再平衡(USEQ,日线,2 个参数)

结局: 已放弃

QqqVolatilityManagedTrendExposure

结局总结

本次迭代-2策略通过在价格高于上升的 200 日趋势线时,按已实现波动率的倒数调整仓位规模来管理 QQQ 敞口;此前导致单笔交易优势为负的漂移再平衡缺陷已修复。回测审查批准了优化:单笔交易回报现已远高于 USEQ 费用底线,盈利因子较强(5.36),回撤适中,但按风险调整后表现衡量,它此前已经逊于买入并持有。优化暴露了致命问题——滚动前推过拟合(IS 0.617 对比 OOS 0.376)、PBO 0.73、仅有 9 笔交易的留出集、低于显著性门槛的去膨胀夏普比率,以及表明相对基准没有阿尔法的负信息比率。分析师将其判定为过拟合/统计显著性不足型失败(而非费用优势型失败)并予以放弃,同时指出该策略在 27 年内仅有 57 笔交易,结构上无法验证,且相关的波动率管理策略此前也已失败。

假设

迭代 2 针对报告的问题(avg_trade_return_pct -1.666%,涉及 77 笔交易)进行修复:移除导致每次往返交易亏损的两个因素,而不触动波动率目标机制本身。(1) 旧的再平衡区间以相对于权益的 NOTIONAL DRIFT 衡量。由于目标名义金额随按市值计价的权益增长,该规则机械地在价格走强时增持、走弱时减持,INSIDE 单一仓位:因此,一笔盈利的趋势交易会以远高于入场价的成交量加权开仓均价和平仓价远低于退出价收场,使其已实现单笔交易回报骤降(且在交易过程中实际因高买低卖而亏损)。现在,调仓区间按目标 WEIGHT 相对于上次交易时的权重衡量,因此只有当已实现波动率大致减半或翻倍时才会触发调仓——现在大多数交易在过程中无需调仓,往返交易成为干净的趋势交易。(2) 仅用于入场的 SMA 斜率过滤器(今日 SMA >= SMA 个 20 交易日前)会剔除短暂突破 FALLING 200 均线的情形。这些是预期收益最差的趋势跟随交易;该过滤器会延长平均持仓时间并提高单笔交易回报,且不会缩短盈利交易(该过滤器不会强制平仓)。已经通过第 1-3 层的所有内容保持不变:相同的导入、相同的类/接口、相同的连续权重信号、相同的仅做多 USEQ 整股仓位规模设定、相同的仅减仓路径。交易数会下降(减少反复震荡时的入场,调仓次数也大幅减少),但 200 日交叉在每个 6 年沙盒窗口中仍会触发数次,因此 >= 1 笔交易是有保障的。坦诚地说:波动率目标机制在波动率飙升时必然会减持盈利仓位,因此其益处体现在风险调整后表现,而非单笔交易回报;若改动后单笔交易指标仍低于 0.05% USEQ 底线,这一指标就表明该机制在此标的上无法达到门槛,应予以放弃,而不是继续调优。

过拟合 / 不具有统计显著性的失败,NOT 一个费用边缘的失败(每笔交易回报 0.289% 突破 USEQ 下限)。三项不可豁免的 HARD 门槛未通过:前向走测 is_overfitted=TRUE(平均 IS 0.617 -> 平均 OOS 0.376,一个 OOS 窗口 0.0),PBO 0.7328 > 0.5,且样本外仅含 9 笔交易。稳健性证实了 N 中最优的噪声:deflated_sharpe 0.851 < 0.95,is_significant=false,夏普 CI [0.273, 1.014],且未通过项目级 FDR(保留 4 / 245,candidate_survives=false)。依据过拟合与死前提规则,IS/OOS 在高 PBO 下崩塌是 ABANDON 不修订。两个结构性问题使迭代无望:(1) NO ALPHA — information_ratio 为负值(-0.36),贝塔约为 0.1-0.28,因此这是隐性做多 QQQ 的贝塔,而非主动边缘,且优化器自身的"最佳"配置将 target_vol 推至 0.05 下限(平均敞口 38%,CAGR 3.25%),即提高夏普的唯一方式是停止交易;(2) UNVALIDATABLE 频次 — 在 27 年内仅 57 笔交易,OOS 策略池被标记为样本不足(预期约 16 笔交易,而需要 100 笔),因此任何参数调整都无法产生可统计推断的 OOS。敏感性表面平坦(约 0.40-0.53,0 悬崖),没有未开发的稳健区域可向其调优,且相同的波动率管理敞口机制已在同类策略中失败(QQQ 波动率制度多空 -> fee_edge,BTC 趋势门控的波动率管理多头/空仓 -> 过拟合 x2)。无可清晰阐述的路径可将 OOS 夏普 0.376 提升至 1.5 晋升门槛。失败模式:过拟合 / 不显著(单品种波动率管理趋势叠加,相对于买入持有无阿尔法)。

实现

仅做多 QQQ(USEQ,日线),当价格高于其 200 日 SMA 时持仓,按 20 日已实现波动率的倒数确定仓位(target_vol/realized_vol,上限为权益的 100%)。入场还要求 200 日 SMA 在过去 20 个交易日内呈上升趋势。当波动率推算的目标权重相对于上次交易时的权重变动超过 rebalance_band(50%)时,对现有仓位进行 ONLY 调整——也就是说,只在波动率机制真正改变时调整,而非因价格/权益漂移而调整。退出条件为收盘价重新跌破 200 日 SMA。

验证结果

请验证基础 FactoryStrategy 是否调用子类的 min_bars_required();覆盖方法采用更大的预热期要求是有意且正确的,因此如果基类遵循该要求,就无需更改。

min_bars_required(self) 覆盖/遮蔽基框架方法(静态分析标记)。该覆盖有意扩展预热期以涵盖 sma_days + slope_days,这是正确且必要的,但请确认基模板确实调用此覆盖来控制信号评估,而不是依赖其自身实现。

沙盒按风险调整后表现相对基准衡量,逊于买入并持有(information_ratio -0.42,贝塔 0.27,阿尔法 0.034);压力最大的波动率三分位组略为负值(-1.5%,夏普比率 -0.04)。这符合波动率目标策略子组合的预期:其价值在于风险调整后表现(较低回撤、夏普比率 0.91、最大 DD 12.4%),而非绝对跑赢。分析师应依据完整历史回测中的夏普比率/回撤与买入并持有的对比来评估,而非要求总回报超过买入并持有。由于入场由 200 日交叉及上升斜率控制,沙盒窗口内的交易数较低(8 次往返交易);在完整的 25 年日线 QQQ 历史数据中,这应能产生足够的市场机制周期,但仍值得确认样本量是否充足。

回测评审

夏普
0.59
总收益率
432.34%
最大回撤
22.48%
总交易数
58
胜率
36.2%
盈利因子
5.36

迭代-2修复有效:avg_trade_return_pct 现为名义金额的 +4.088%(原为 -1.67%),远高于 USEQ 0.05% 费用底线。通过将调仓区间锚定在波动率推算的目标权重上,而非 MTM 漂移,解决了破坏单笔交易优势的漂移再平衡缺陷。

样本充足且可靠:27 年的 QQQ 日线数据(1999-2026),58 个离散持仓区间 + 131 次成交,metrics_reliable=true。有充足的市场机制周期,可使 2 小时的优化具有意义。

扣除成本后仍有明显毛优势:profit_factor 5.36,夏普比率为正 0.586(以 mtm_equity_curve 为基准,这是正确的衡量方式),最大回撤 22.5%(低于 60%),佣金/冲击成本仅占毛收益的 0.43%。

交易实现了该假设:58 做多 / 0 做空,入场由 200 日交叉及斜率上升过滤器控制,单一标的 QQQ 权重 <= 1.0(单笔交易回报并非杠杆/复利造成的假象)。其机制(波动率管理敞口 + 趋势过滤器)有充分文献记载且合理。

仅有两个自由参数(target_vol_annual、rebalance_band),结构性设置固定——搜索空间干净且不易过拟合。

按风险调整后表现相对基准衡量,表现逊于买入并持有(information_ratio -0.25,贝塔 0.28,阿尔法 0.022,CAGR 6.36%)。这符合波动率目标策略子组合的预期:其价值在于控制回撤,而非绝对跑赢;并且 USEQ PnL 未计入 QQQ 股息(约每年 1-2%),因此绝对回报被低估——但这意味着很难达到晋级所需的夏普比率门槛。

夏普比率 0.586 低于晋级门槛;压力最大的波动率三分位组仅勉强为正(夏普比率 0.073)。优化可能提高风险调整后回报,但不太可能达到 1.5 夏普比率的晋级门槛。

end_unrealized_pct 39.9(约占头条数字 432% 的 9%)——幅度不大,但最终持仓仍有一些未实现的 MTM;应在晋级阶段评估已实现/风险调整后指标。

分析

迭代-2修复持续有效:avg_trade_return_pct 现为名义金额的 +0.289%(优化后)/ +4.09%(默认值),明显高于 USEQ 0.05% 费用底线。因此这NOT不是费用优势型失败。

机制干净,不易受费用影响:佣金为零,冲击成本仅占毛收益的 0.71%,profit_factor 4.81,最大回撤较低,为 8.56%;敏感性曲面平坦,且有 0 个断崖式参数。

波动率管理敞口机制(Moreira-Muir)是一种有文献记载的效应;代码也正确实现了一个仅做多、仅减仓、带区间再平衡的策略子组合,当价格高于上升的 200 日 SMA 时持仓。

三个 UNWAIVABLE 硬性门槛未通过:滚动前推 is_overfitted=TRUE(平均 IS 夏普比率 0.617 -> 平均 OOS 0.376,其中一个 OOS 窗口为 0.0),PBO 0.7328 > 0.5(选择结果很可能是过拟合),且留出集只有 9 笔交易(低于 10 的最低要求)。

在统计上无法与噪声区分:deflated_sharpe 0.851 < 0.95,is_significant=false,夏普 CI [0.273, 1.014],且它NOT通过项目级 FDR(BH q=0.10 保留 4 / 245;candidate_survives=false)。

相对基准没有阿尔法:information_ratio 为 NEGATIVE(优化后为 -0.36 / 默认值为 -0.25),贝塔为 0.11-0.28,benchmark_correlation 约为 0.57——这本质上是隐蔽的做多 QQQ 贝塔,而非主动优势;按风险调整后表现衡量,它也未能胜过买入并持有。

优化器的“最佳”配置将 target_vol_annual 推至 0.05 底线,使 avg_position_pct 从 73% 降至 38%,并使 CAGR 从 6.36% 降至 3.25%——搜索结果表明,提高夏普比率的办法是几乎不持仓,这说明不存在可扩展的优势。

结构上无法验证:27 年间仅有 57 笔交易;OOS vault 被标记为 UNDERPOWERED(预期约 16 笔交易,而所需数量为 100)——“历史数据中不存在既短到足以留出训练数据、又长到足以验证如此缓慢策略的区间。”

相关策略的失败证实了这一策略类别的问题:QQQ 波动率机制多空策略已放弃(fee_edge),BTC 趋势过滤的波动率管理多头/空仓策略已放弃(过拟合 x2),主要品种的波动率管理篮子策略也已放弃。

单笔交易优势低于成本:avg_trade_return_pct -1.666%,低于 0.05% 费用底线,涉及 77 笔交易。优化无法解决这一问题;应更改机制、持有期或时间框架,使单笔交易回报超过底线,否则建议放弃。

对 245 个项目候选策略以 q=0.10 进行 Benjamini-Hochberg 校正后,保留 4。未能通过此检验的候选策略,无法与该项目自身的噪声区分开来,无论其单项统计指标看起来多么出色。

结局总结

单一指数上的波动率管理趋势叠加策略,本质上是隐蔽的做多贝塔(信息比率为负);在约 57 笔交易、跨越 27 年的情况下,其结构性地过于缓慢,无法进行样本外验证——在继续研究此类策略前,必须检查交易频率和真实阿尔法。

分析师在优化后将其放弃:三个不可豁免的硬性门槛均未通过(滚动前推 is_overfitted=TRUE,平均 IS 夏普比率 0.617 崩塌至 OOS 0.376;PBO 0.7328 > 0.5;留出集仅有 9 笔交易,低于 10 的最低要求),且统计上无法与噪声区分(去膨胀夏普比率 0.851 < 0.95,未达到 FDR 显著性)。

一个仅做多的 QQQ 策略子组合:当价格高于上升的 200 日 SMA 时,按近期已实现波动率的倒数调整敞口,仅当波动率推算的目标权重发生重大变化时才调整仓位。

在 27 年的 QQQ 日线数据(1999-2026)上,默认配置的回报为 432%(CAGR 6.36%),夏普比率为 0.586,盈利因子为 5.36,最大回撤为 22.5%,交易数为 58;优化后的配置将其降至夏普比率 0.644、CAGR 3.25% 和 57 笔交易,但相对于买入并持有的信息比率为负(-0.36)。

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