跳至正文
全部策略

策略

SPY 双时间框架趋势共振——多空、单一标的:仅当 WEEKLY 与 DAILY 趋势一致时才在 ONLY 建立方向性仓位,方向不一致时空仓,盈利仓位采用 ATR 跟踪退出(SPY.USEQ,日线+周线 K 线,3 参数)

结局: 已放弃

SpyDualTimeframeTrendConfluenceLS

结局总结

SpyDualTimeframeTrendConfluenceLS 有意复用了工厂中唯一经过验证的方向性方案——快速与慢速趋势必须一致,方向不一致时空仓,盈利仓位采用 ATR 跟踪退出——并将其移植到 SPY,采用日线 K 线并加入派生的周线确认,押注于有充分文献记录的股指 TSMOM 溢价能够延续。33 年回测干净且测量充分(8,452 根 K 线、442 笔交易、贝塔接近零),但结果明确为负:总回报 -9.61%,盈利因子 0.934,夏普比率基本为零,单笔交易期望值为负,甚至低于免佣的 USEQ 门槛。分析师在回测审查关口放弃了该策略,并指出双时间框架动量共振类别的存活率为 0/213,且 3 个可调参数只会对噪声进行曲线拟合,并在留出样本上失败。它从未进入优化或任何后续阶段。

假设

在 SPY.USEQ(标普 500 ETF)上实施一种 LONG-SHORT、SINGLE-INSTRUMENT 方向性 TREND-动量策略,刻意采用本工厂实际验证过、夏普比率约为 2.0 的 ONE 结构——双时间框架动量共振模板(快速与慢速趋势必须 AGREE,方向不一致时空仓,盈利仓位采用跟踪止损退出)——并将其移植到真正不同的资产类别和成本环境。此前两次股票组合均值回归/相对价值尝试(KO/PEP 协整、XLF z 分数反向交易)在零夏普下均已彻底失败 FLAT:即使免佣,这些教科书式优势也已被充分套利。从这两次失败以及工厂唯一成功策略属于方向性动量中得出的教训是明确的——应追求 DIRECTIONAL 趋势优势,而非均值回归/中性策略。多周股指趋势(时间序列动量)是文献记录最充分、最稳健的方向性溢价之一(Moskowitz-Ooi-Pedersen TSMOM;Faber GTAA;管理期货文献),而且它在宽基指数上比在任何单一加密货币山寨币上都 CLEANER,因为指数层面的趋势由缓慢变化的宏观/资金流状态驱动,而非快速反身的杠杆效应。这与当前流程中的所有股票策略都不同:它 NOT 日历/事件(月底转仓、FOMC 前),NOT 行业配对(XLK/XLU 贝塔状态),NOT 波动率缩放仓位(QQQ 波动率状态)——它是在宽基指数上纯粹依靠价格趋势共振的策略。它专门使用 SPY(历史数据最深,始于 1993,且是机构投资者趋势交易最集中的指数),采用日线主周期与周线确认周期,覆盖 30+ 年历史,跨越多个牛熊周期,适合稳健的滚动前推和留出样本检验。除两个时间框架不一致时外,策略始终参与市场(因此不存在结构性零交易空档);采用多空方向(填补代表不足的 long_short 类别),并且仅有 3 个自由参数以抵抗过拟合。FEE ARITHMETIC:在 SPY 上捕捉到的多周趋势仓位通常持续约 3-10%;即使胜率约为 40%,且退出时采用 ATR 跟踪止损,平均每笔交易收益仍远高于 0.5%,而免佣往返费用约为 0.04%,即有效成本底线的 >10x 倍,并远高于 0.15% 可行性门槛。换手率较低(每年约 10-30 笔交易),因此费用拖累可以忽略——这与失败案例中占主导的低于费用门槛的均值回归机制恰好相反。

在 SPY 上逐字实现该假设的双时间框架共振结构(快慢信号必须一致,方向不一致时空仓,盈利头寸以 ATR 跟踪止损退出),仅有 ONE 项必要偏差:USEQ 目录仅包含 1-DAY/1-HOUR/1-MINUTE 种 K 线周期类型(Yahoo intervals)——没有 NO 1-WEEK USEQ K 线。若订阅额外的周线数据腿,将返回零根 K 线,导致运行以 data_unavailable(L4)告终;因此周线确认在策略内部根据日线收盘价聚合,使用由 bar.ts_init 推导的 CALENDAR 周索引(以周一为锚点的自纪元起天数 // 7),绝不使用 K 线计数器——该周线网格在重启、回测和模拟盘重放中完全一致。这也彻底消除了多腿对齐障碍(单一标的、单一数据源)。信号在每根 K 线上连续变化(经 ATR 归一化的 EMA 价差,而非门控后的常数),周线方向一致性则作为入场门槛。由于该策略对 US 股票 ETF 做多空交易,交易场所选择 USEQ 而非加密货币交易场所。杠杆保持在 1.0(名义头寸限制为权益的 60%),因此不声称存在未使用杠杆。费用计算:持有多周的 SPY 趋势头寸,每笔约为 3-10%,每年约交易 10-30 次,远超免佣的约 0.04% 往返成本门槛以及每笔交易 0.05% USEQ 的成本下限。在 365 日 Layer-3 沙盒中,交易频率如下:预热约需 50 根日线 K 线(快慢信号经 EMA 收敛,并等待 9 个周线收盘),之后剩下约 200 个可交易时段;10/30 EMA 价差与 8 周收益率之间的符号一致性会反复触发交易——不存在罕见的复合门槛(L25)。需按要求说明一项保留意见:只有符号一致性入场且没有波动率或市场状态过滤器时,在震荡行情中(例如 2015、2018Q4)会出现连续的、小额的 ATR 跟踪止损亏损;跟踪止损乘数是预期的控制手段,因此将其留给优化器自由调整,而不增加第四个参数。

ohlcv_trend_confluence_negative_expectancy:SPY 双时间框架趋势共振策略在测量充分的样本中为净亏损(442 笔交易 / 33 年)——total_return -9.61%,profit_factor 0.934(<1.0),avg_trade_return_pct -0.092%(为负,低于 USEQ 门槛),单笔交易期望值为 -$25.89,夏普比率为 0.052,且 CI 区间跨越零。这是 OHLCV 双时间框架动量共振模板(存活率为 0/213,L9/L41/L62);股指 TSMOM 溢价未能经受这里的离散入场/退出规则,而且按照 L8/L9,负的 total_return 且 PF<1.0 属于不合格情形。仅有 3 个可调参数,无法将负期望机制转为正值——约 225 次试验的优化会对噪声进行曲线拟合,并在留出样本上失败,无法达到晋级门槛。不值得耗费 2 小时运行。

实现

在 SPY.USEQ 日线柱上进行多空、单一品种、双时间框架趋势共振(历史数据始于 1993)。在建立任何头寸前,FAST 日线趋势读数——ATR 归一化的 10 日与约 30 日 EMA 之间的价差——必须与 SLOW 周线读数在方向上AGREE(多周回报以 `weekly_lookback` 个完整周前结束的那个日历周收盘价为基准测量);方向一致向上 = 做多,方向一致向下 = 做空,方向不一致 = 空仓。盈利头寸采用 ATR 止损跟踪出场(当价格从入场后出现的最高收盘价回撤 trail_atr_mult 倍入场 ATR 时平仓);当周线趋势反转不利或日线价差反转时,也会平仓。仓位规模以风险为先,单位为 WHOLE SHARES:设定股数,使跟踪止损距离对应的风险约为权益的 1.2%,在杠杆 1.0 下,名义持仓金额硬性限制为权益的 60%。三个自由参数(ema_ratio、weekly_lookback、trail_atr_mult),所有限幅均在 _param_bounds 中声明。

验证结果

也可以将 self._side/self._extreme/self._entry_atr 的设置推迟到实际提交入场时,或在返回 None 时重置为 0/None。

should_enter() 设置 self._side / self._extreme / self._entry_atr BEFORE 基础模板的 size>0 以及 min_notional 检查 (base_template 行 392-408)。如果因零手数或低于最小名义金额而丢弃一笔入场, self._side 会保持非零值,而策略仍处于空仓状态,calculate_signal() 将持续更新 self._extreme。BENIGN:空仓时基础模板仅调用 should_enter() (从不调用 should_exit()),且一笔真实入场总会重置 self._side / self._extreme / self._entry_atr,因此不会发生错误的退出或错误的移动止损。在 SPY 价位下,风险优先的手数为数十股(远高于 $5 的下限),因此预期不会触发丢弃路径。仅涉及整洁性。

无需修改代码;让滚动前推/留出样本测试基于完整历史数据作出判断。

沙盒主要指标(夏普比率 0.31,CI [-1.55, 2.32],7 笔交易)较弱且区间较宽。这些是分析师/回测审查阶段需要考虑的 PERFORMANCE 问题,并非正确性缺陷:单笔交易经济性良好(avg_trade_return_pct 0.54%,PF 1.78),高于 USEQ 约 0.05% 的门槛和 0.15% 可行性门槛约 10x。完整的 30+ 年滚动前推测试将解决样本量问题。

回测评审

夏普
0.05
总收益率
-9.61%
最大回撤
30.05%
总交易数
442
胜率
26.9%
盈利因子
0.93

历史数据较长(8452 根日线 K 线,1993-2026),且有 442 笔交易,结果统计测量充分

USEQ 的费用拖累较低,且实现简洁,复杂度为 O(1)——问题不在代码

近似市场中性(贝塔为 0.009),因此没有隐藏的指数贝塔抬高结果

total_return 为负(-9.61%),且 profit_factor 0.934(<1.0)——在 33 年样本中为净亏损(L8/L9 属于不合格情形)

avg_trade_return_pct 为 NEGATIVE(-0.092%),甚至低于零佣金的 USEQ 门槛——没有可捕捉的优势

夏普比率为 0.052,CI [-0.255, 0.393] 区间跨越零;相较于买入并持有,information_ratio -0.51

期望值为每笔 -$25.89,win_rate 0.269;多数年份中,多头和空头仓位均为净亏损

双时间框架趋势/动量共振属于 OHLCV 方向性类别,存活率为 0/213(L9/L41/L62);移植到 SPY 并不会创造缺失的优势

对于一个亏损策略,最大回撤为 30%(高点 77% 时为 CI)

结局总结

将已验证的动量共振方案移植到新资产(SPY)并不会凭空产生优势——即使在干净且测量充分的 33 年样本中,双时间框架 OHLCV 趋势模板仍属于负期望类别。

分析师在优化前的回测审查关口给出了“放弃”结论,因为总回报为负且盈利因子低于 1.0,属于不合格情形(L8/L9);OHLCV 双时间框架动量共振模板的存活率为 0/213,因此股指 TSMOM 溢价未能经受离散的入场/退出规则,3 参数优化也无法将负期望机制转为正值。

在 SPY.USEQ 上进行单一标的、双时间框架趋势共振的多空策略:仅当快速日线 EMA 价差趋势与派生的周线动量趋势一致时才建立方向性仓位,方向不一致时保持空仓,并通过 ATR 止损跟踪退出盈利仓位;使用三个自由参数(ema_ratio、weekly_lookback、trail_atr_mult)。

在超过 33 年的样本期(1993-2026,8,452 根日线 K 线)和 442 笔交易中,该策略亏损:总回报 -9.61%,盈利因子 0.934,夏普比率 0.052(CI [-0.255, 0.393]),胜率 26.9%,单笔交易期望值为 -$25.89,avg_trade_return_pct 为 -0.092%;相较于买入并持有,信息比率为 -0.51,最大回撤为 30%。

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