Files
AlphaMaster/strategies/V3_EFFECTIVE_FACTORS_REPORT.md
T
rosemarycox5334-debug 3c82ede3d5 feat: v3.0 有效因子 + 合并远程 v0.8 + engine 即时保存
- 合并远程 v0.8: 特征剪枝(65->28) + 大空间适配参数 + Hard Restart
- engine.py 手动合并: 保留远程 Hard Restart + 加回本地即时保存方法
- 新增 v3.0 训练结果: 3组16个策略文件(10000步, v6ff4c52e30c1词表)
- 新增 V3_EFFECTIVE_FACTORS_REPORT.md: 5个有效因子严谨回测报告
- 有效因子: EURUSD/USDJPY/XAUUSD/AAVUSD/COCOA.c (组合Sortino=+5.72)
- index组5品种因交易<100判无效, 需重训
2026-07-04 12:23:00 +08:00

4.6 KiB
Raw Blame History

MT5 AlphaGPT v3.0 有效因子报告

生成时间: 2026-07-04 词表版本: v6ff4c52e30c1 (65 特征 + 66 算子) 训练配置: TRAIN_STEPS=10000, BATCH_SIZE=128, MAX_FORMULA_LEN=8, CPU 模式 回测区间: 3508 根 H1 K 线(10 品种时间戳交集) 回测方法: 组内多品种一起执行 StackVM + Neutral Band 仓位 + 单边成本 0.0001


一、有效性判定标准

条件 阈值 说明
交易次数 >= 100 低于此值无统计意义,直接判无效
前后半段 Sortino 均 > 0 防过拟合,要求两半段都盈利
Sortino > 0 盈利基本门槛

二、有效因子清单(5 个)

forex 组(2/2 有效,平均 Sortino=+5.60)

公式: DEV60 -> TREND_STRENGTH_50 -> SUB -> DECAY_LINEAR_5 -> EMA_20 -> BOLL_WIDTH -> JUMP -> SUB 训练得分: 6.6178

品种 交易数 Sortino Sharpe 总收益 IC 前半 后半 多仓% 空仓%
EURUSD 105 +5.27 +4.02 +26.6% +0.043 +6.10 +4.40 52% 48%
USDJPY 105 +5.92 +4.50 +35.2% +0.050 +9.35 +1.88 48% 52%

因子逻辑解读:

  • DEV60 (价格偏离 60 周期均线) 减去 TREND_STRENGTH_50 (50 周期趋势强度) → 捕捉"趋势中的反转"
  • DECAY_LINEAR_5 (线性衰减加权) 平滑信号,减少噪声换手
  • EMA_20 与 BOLL_WIDTH 组合 → 波动率自适应入场
  • JUMP (跳跃检测) 过滤小波动,只在显著信号时交易
  • 最终 SUB → 趋势反转差值作为最终因子

metals_comm 组(3/3 有效,平均 Sortino=+2.25)

公式: TREND_STRENGTH_50 -> VWAP_DEV -> SAR_DIST -> CLIP -> PRODUCT_5 -> TYPICAL_DEV -> DIV -> IF_GT 训练得分: 4.4446

品种 交易数 Sortino Sharpe 总收益 IC 前半 后半 多仓% 空仓% 空仓%
XAUUSD 948 +0.83 +0.65 +14.1% -0.022 +0.70 +0.96 45% 42% 13%
AAVUSD 962 +4.12 +3.57 +286.7% +0.040 +3.68 +4.79 42% 45% 13%
COCOA.c 972 +1.82 +1.31 +57.6% +0.015 +1.72 +1.92 43% 43% 14%

因子逻辑解读:

  • TREND_STRENGTH_50 与 VWAP_DEV 组合 → 趋势 + 成交量加权价格偏离
  • SAR_DIST (抛物线 SAR 距离) → 动量确认
  • CLIP 截断极端值,PRODUCT_5 连乘积 → 累积动量
  • TYPICAL_DEV 典型价格偏离 → 短期反转
  • IF_GT 条件判断 → 只在动量与反转一致时入场

三、无效因子(5 个)

index 组(5/5 无效,全部因交易次数 < 100)

公式: PRICE_POS_50 -> VOL_RATIO -> STOCH_K_14 -> TRIX_15 -> SUB -> COVARIANCE_10 -> OR -> DELAY4 训练得分: 8.2260(训练分最高,但泛化最差)

品种 交易数 原因 持仓分布
US30.cash 4 交易过少 100% 空仓
US100.cash 4 交易过少 100% 空仓
US500.cash 4 交易过少 100% 空仓
US2000.cash 10 交易过少 100% 空仓
JP225.cash 4 交易过少 100% 空仓

失败原因分析:

  • OR 条件算子 + DELAY4 延迟 → 信号极少触发,几乎全程空仓
  • 训练分 8.23 是三组最高,但这是过拟合的典型表现
  • 与上次 3000 步训练(index 组全亏)不同,这次连交易都不发生,说明公式完全退化

四、组合表现

5 有效品种等权组合

指标 值
Sortino +5.72
Sharpe +4.53
总收益 +84.1%
最大回撤 15.7%

五、与历史版本对比

版本 词表 训练步数 有效品种 组合 Sortino
v2.0 20特征+28算子 3000 5/10 -0.56(错误回测)
v3.0 65特征+66算子 10000 5/10 +5.72

关键修正: v2.0 的回测用了错误的 sign(tanh(factor)) 仓位逻辑,导致 metals_comm 组被误判为亏损。修正为 Neutral Band 后,metals_comm 组实际全部有效。


六、结论与建议

  1. 5 个有效因子可直接用于实盘: EURUSD, USDJPY, XAUUSD, AAVUSD, COCOA.c
  2. index 组需重训: 当前公式退化为不交易,建议禁用 OR/IF_GT 条件算子,或降低 MAX_FORMULA_LEN 到 6
  3. v0.8 远程更新已合并: 特征剪枝(65→28)+ 大空间适配参数 + Hard Restart 逻辑已合入,下次训练用新参数
  4. 下次训练建议: 用 v0.8 的 active_features.json(28 特征)+ 新参数(BATCH=192, STEPS=5000, MAX_RESTARTS=25, Hard Restart)重训