跳至正文
全部策略

策略

ETH 预定宏观事件发布后动量延续,多空策略(ETHUSDT.BINANCE USD-M,1H K线)——在 US CPI / FOMC / NFP 发布后交易方向性延续走势,由事件日历门控、波动率确认,含 3 个参数

结局: 已放弃

EthMacroEventPostReleaseMomentumLS

结局总结

EthMacroEventPostReleaseMomentumLS 押注 ETH 在预定 US 宏观数据发布(CPI/NFP/FOMC)期间产生的方向性冲击会延续数小时,使用不含前视偏差的规则推导日历和波动率 z 分数确认入场。初始 256 笔交易的回测在数值上可行(avg_trade_return_pct 0.237%,PF 1.072),但优势微弱,因此分析师批准进行优化;优化将 impulse_z 推至 2.82,并对少数干净的事件窗口进行曲线拟合,使交易数降至 39 笔。滚动前推揭示拟合无法泛化(平均 IS 夏普 1.879 -> 平均 OOS -0.339,第三个窗口 -2.30);再加上 OOS 夏普低于零、留出集仅有 7 笔交易、去膨胀夏普为 0.0017,且一个同类的 ETH 宏观事件策略此前已经失败,该策略未通过三个硬性门槛,在一次迭代后被放弃。现有历史数据不足以验证这一机制,因为它固有的交易频率过低,因此留出集过薄是设计本身的属性,而非可通过调参修复的失误。

假设

准确实现了该假设:事件日历门控 + 波动率确认 + 发布后动量延续,包含三个经过调优的核心参数(impulse_z、hold_hours、vol_lookback)。工厂没有经济日历数据源,因此发布时间表根据各机构提前数年发布的日历RULES计算(不存在前视偏差:每个时间戳都是该柱自身日期的纯函数,与价格无关)。NFP的首个星期五规则是精确的;CPI日和FOMC星期三无法通过规则推导,因此将其作为候选日期(工作日10-15,时间为08:30 ET;8 FOMC月的星期三,时间为14:00 ET),再由波动率确认筛选出发布实际推动市场的时段——我将此列为实现中的唯一近似处理。必须使用期货交易场所(该策略会在鹰派/负面意外情况下做空,并使用2x杠杆;该设置通过self.config.leverage接入position_size)。使用括号订单是因为该假设需要一个固定百分比止损,并且止损须能在柱内触发——在发布后的小时里采用收盘止损,会让仓位承受整个尖峰波动。对完整的2019-2026 ETH 1H目录(58,560根柱)运行精确的信号/入场/出场逻辑进行干跑,结果约为每年39笔交易,每笔交易平均+0.17%,相当于0.10%往返手续费的NET;在我检查的整个impulse_z x hold_hours x vol_lookback x 止损/TP网格中均为正,并且在适合沙盒规模的833天窗口内有73笔交易——因此,在提交之前,交易频率和手续费底线都已达标。已在本地运行层1和2:静态分析通过(仅有警告),所有合成场景均通过。

过拟合 / 无泛化能力,判定失败(NOT 费用优势——优化后的单笔交易收益 0.443% 高于门槛)。三个不可豁免的 HARD 门槛均未通过:滚动前推 is_overfitted=true(平均 IS 夏普 1.879 -> 平均 OOS -0.339,窗口 +0.16 / +1.11 / -2.30)、样本外夏普 -0.339 <= 0,以及留出集仅有 7 笔交易 < 10。稳健性检验确认,所选夏普只是 N 次择优中的噪声:deflated_sharpe 0.0017 << 0.95,is_significant=false,夏普 CI [-0.462, 1.054] 跨越零,且未能通过项目级 FDR(candidate_p 0.998,在 225 次试验中仅保留 4 个 247)。敏感性检验显示 7 参数呈悬崖式变化,夏普约为 ~0.3 的平坦参数面没有可供调优的稳健区域——优化过程对少数干净的事件窗口进行了曲线拟合,将 256 笔默认交易压缩至 39 笔,原因是把 impulse_z 推到了 2.82。根据过拟合与前提失效的判定规则,高-IS/负-OOS 应当 ABANDON,而不是修订:相同的 ETH 预定宏观事件冲击延续机制已经失败过一次(fee_edge,相似度 0.80),重新调整事件门控的发布后动量策略只会再次过拟合。该策略在结构上也过于低频,无法得到有效验证——oos_vault 标记 UNDERPOWERED(预期约 48 笔交易,而所需数量为 100);报告指出,历史数据中没有任何切片既足够短、能留出训练数据,又足够长、能验证这种低频策略,因此留出集过薄是该机制固有的问题,而非可通过调参修复的产物。没有明确的参数变更能够让负泛化的 DSR-0.002 信号通过硬性门槛。失败模式:过拟合 / 无泛化能力(事件门控的单标的动量)。

实现

ETHUSDT.BINANCE USD-M 永续合约,1H K线,以 2x 倍杠杆做多和做空。交易预定的 US 宏观数据发布(CPI / NFP / FOMC)后的方向性延续走势。发布时间根据已公布的 US 排期规则推导,时区为 US/Eastern,并处理 DST:NFP = 每月第一个星期五 08:30 ET(准确),CPI = 08:30,在 BLS 发布窗口内的工作日 ET(第 10-15 天),FOMC = 14:00,在八个 FOMC 月份的星期三 ET。calculate_signal 每根 K 线都会返回连续 z 分数:在发布窗口内,它是自发布前一根 K 线以来的变动,并按已实现小时波动率归一化(sigma * sqrt(自发布以来的 K 线数));在窗口外,它退化为 1 根 K 线收益的 z 分数,因此信号始终会变化。入场(空仓状态下,仅限发布窗口,每个事件最多一次):|z| >= impulse_z(1.25)-> 若 z > 0 则 BUY,否则 SELL。退出:由交易场所管理的括号订单(2% 止损 / 4.5% 止盈,盘中触发)、从仓位的 ts_opened 起计时的 8 小时日历时间止损,或动量反转(|z| >= impulse_z 且方向与仓位相反)。仓位规模按资本计算:名义金额 = 权益 * position_frac(0.5) * 杠杆(2.0) = 权益的约 1x,因此触发止损会损失约 2% 的权益。

验证结果

如果能获得真实经济日历数据源,用精确发布时间替换基于规则推导的超集,以细化事件门控并隔离真正的发布后延续优势。

由于工厂没有经济日历数据源,CPI 和 FOMC 的发布日期被近似为候选日期超集(CPI:每个工作日的 10-15 于 08:30 ET;FOMC:8 月份的每个星期三于 14:00 ET)。这符合该假设所述的方法,开发者也对此明确说明,但这意味着门控时段中相当一部分并无实际宏观数据发布。必须依靠波动率门控剔除这些时段;据此评估实测优势。

确认基础 FactoryStrategy 在预热门控时遵循被覆盖的 min_bars_required(此模板中确实如此);如果预热得到遵循,则无需更改。

min_bars_required(self) 覆盖了一个框架方法(静态分析 base_shadow 警告)。开发者说明这是有意为之,用于强制执行 vol_lookback+2 预热;此行为看起来符合预期且安全。

给分析师的两点提示性疑虑。(1)宏观事件门控是基于规则推导的SUPERSET,而非真正的发布日历:NFP的首个周五规则是准确的,但CPI是每天10-15中每个工作日的08:30 ET,而FOMC是8个月中每个星期三的14:00 ET。因此该策略在许多日历日触发时NO实际发布,所以其机制退化为普通的“特定早盘/午盘时段的波动率突破”,而非真正的发布后优势——波动率确认是将真实事件时段与噪音区分开的唯一因素。真正的发布后延续优势能否在这种稀释下存活,正是完整回测必须决定的问题。(2)沙盒机制归因显示该策略在平静三分位中LOSES(-1.37%,夏普比率-0.04)AND受压三分位(-1.51%,夏普比率-0.06),其全部收益来自正常三分位(+12.2%,夏普比率1.04),且only_one_regime=true——呈现集中、机制脆弱的特征。夏普比率CI[-1.22,1.55]在此冒烟测试窗口横跨零轴。并非阻断因素(Layer-3未优化/截断),但分析师应确认该优势并非单一机制假象。

回测评审

夏普
0.07
总收益率
20.36%
最大回撤
28.87%
总交易数
256
胜率
41.8%
盈利因子
1.07

在评审阶段数值表现可行:可靠的 6.7 年样本中有 256 笔交易,avg_trade_return_pct 0.237% 高于 0.15% Binance USD-M 底线,PF 1.072 >= 1.05,夏普 0.073 > 0,max_drawdown 28.9% < 60%。

交易次数偏少 / 2.12% 敞口对于一种由预定事件触发的策略而言是 EXPECTED 且合理的,并非信号损坏或冻结。入场诊断确认该机制已触发(256 已发出信号 = 256 已提交,没有丢弃),多空仓位均衡:142 做多 / 114 做空,符合多空策略的设计。

存在一个可明确优化的杠杆:impact_cost_pct 43.68% 由单个事件小时入场的 position_frac=0.5 过大所致;position_frac 是可调的扫描参数 [0.2, 0.8],因此可以显著降低冲击成本。

真正微弱的优势:PF 1.072处于费用拖累区间,且夏普比率0.073基本为噪音,CI[-0.72,0.89]横跨零轴。该特征在3阶段的去膨胀/留存样本中极有可能失效。

impact_cost_pct 43.68% + 佣金 10.22% 的毛收益 = 约 54% 的毛边缘收益被成本消耗;容量仅约 $524k 意味着除非削减规模,否则该优势仅在玩具级规模下成立。

QA担忧(1)是实质性的:宏观日历是基于规则推导的SUPERSET(CPI在每天10-15的每个工作日触发,FOMC在8个月的每个星期三触发),因此该门控退化为特定早盘/午盘时段的普通波动率突破,而非真正的发布后延续优势。不存在真实的经济日历数据源来修复此问题,因此无法在代码中收紧。

QA 疑虑(2):市场状态脆弱性(冒烟测试中的全部收益都来自正常三分位)——完整历史数据的极端程度较低(平静 -17.6%,正常 +9.2%,压力 +15.3%,only_one_regime=false),但策略在平静三分位中仍然亏损,也就是说其优势依赖于市场状态。

分析

并非费用优势失效:优化后的 avg_trade_return_pct 0.443% 远高于 0.15% Binance USD-M 底线,PF 1.43,max_drawdown 仅为 6.7%。

日历推导不涉及前视偏差(发布时间完全由已公布的排期规则决定),因此该机制在方法论上是干净的。

3/5 条预注册预测符合(DD,PF,每笔交易收益率)。

滚动前推结果为 OVERFITTED(is_overfitted=true):平均 IS 夏普 1.879 降至平均 OOS -0.339,第三个窗口为 -2.295。样本内拟合无法泛化。

OOS 夏普 -0.339 <= 0(HARD 门槛),且留出集仅有 7 笔交易 < 10(HARD 门槛)——两项均不可豁免;不可能晋级。

稳健性检验确认这是 N 次择优中的噪声:deflated_sharpe 0.0017 << 0.95,is_significant=false,夏普 CI [-0.462, 1.054] 跨越零,且未通过项目级 FDR(candidate_p 0.998,247 个中仅保留 4 个)。

敏感性标记 7 悬崖式参数(impulse_z、cpi_day_hi、cpi_day_lo、hold_hours、vol_lookback、stop_loss_pct、take_profit_pct)——整个参数面最高仅接近 ~0.3 夏普,微小变动就会导致符号翻转;没有可供调优的稳健区域。

结构上验证速度过慢:优化后 39 笔交易,oos_vault 标记为 UNDERPOWERED(预期约 48 笔交易,而所需为 100)。报告本身指出,历史数据中没有任何区间既短到可以留出训练数据,又长到足以验证这种低频策略——留出样本过薄是机制本身导致的,并非调参失误。

优化让结果变得 WORSE,并未改善:将 impulse_z 推至 2.82,使默认参数下的 256 笔交易骤减至 39 笔,对少数干净的事件窗口进行了曲线拟合。

同类 ETH 宏观事件脉冲延续策略已经失败(fee_edge,相似度 0.80);这个变体则因过拟合而失败。

在 247 个项目候选项中以 q=0.10 执行 Benjamini-Hochberg 校正后,保留 4。未能通过此检验的候选项无法与项目自身噪声区分,无论其单独统计数据看起来多好。

结局总结

如此低频的事件门控单标的动量策略在结构上过于低频,无法得到有效验证(OOS vault 被标记为统计效力不足:交易约 48 笔,而所需数量为 100 笔);因此,样本内夏普很高、样本外却反转的情况应视为过拟合并放弃,而不是重新调参。

分析师在优化后 ANALYZING 阶段放弃了该策略,原因是三个不可豁免的 HARD 门槛未通过:滚动前推 is_overfitted=true(平均 IS 夏普 1.879 -> 平均 OOS -0.339),OOS 夏普 -0.339 <= 0,且留出集仅有 7 笔交易(<10);此外,deflated_sharpe 0.0017 以及未通过项目级 FDR,进一步证实这是 N 次择优中的噪声。

该策略以多空方向交易 ETHUSDT(BINANCE USD-M,1H),捕捉预定 US 宏观数据发布(CPI/NFP/FOMC)后数小时内的方向性跟进走势;入场由规则推导的发布时间日历门控,并通过发布时段波动率变动的 z 分数进行确认。

默认参数回测覆盖 6.7 年,产生 256 笔交易,夏普为 0.073(CI [-0.72, 0.89]),盈利因子 1.072,avg_trade_return_pct 0.237%,最大回撤 28.9%;优化后保留下来的配置仅有 39 笔交易,夏普为 0.287,PF 1.43,且 avg_trade_return_pct 0.443%,但样本外表现骤然崩溃。

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