2026-03-23 日志
P0 费用 bug 修复
- 根因: r[i] daily return 没扣费 → metrics 不反映交易成本
- 修复: _apply_trade() 后重算 r[bp] = eq[bp]/eq[bp-1]-1
- 14+2=16 个费用测试通过
- 真实费率敏感性: fee=1bp→Sharpe 1.84, fee=30bp→1.70, fee=50bp→1.59
Qlib 级交易成本模型
- 新增 TransactionCostModel (Almgren-Chriss 冲击)
- 33 个测试通过
- 默认 --cost-model realistic
- $1M 资金冲击≈0, Sharpe 1.82 不变 (验证策略对小资金真实)
Alpha101 因子
- 39 个 WorldQuant Alpha101 因子实现 (src/alpha101.py)
- alpha42 (vwap-close偏离) IC=0.066 ICIR=0.429 — 超强!
- 加入因子选股: +175%→+186% Sharpe 1.82→1.85
自适应 IC 权重
- 快慢双窗口(20d/120d, 60:40融合) 自动调因子权重
- 4因子自适应: +210% Sharpe 1.94 (vs 固定+175% Sharpe 1.82)
- 6因子(+RSQR60+STD60)反而降低→回滚, 4因子最优
- 19 个测试通过
HK 因子分析
- HK Alpha158: 48个因子IC>0.03! 最强CORD10 ICIR=-0.447
- HK Alpha101: alpha42仍最强(IC=0.034), 但弱于Alpha158
- HK 策略优化应优先用 Alpha158 top 因子
总测试数
- fee: 16, cost_model: 33, adaptive: 19, order: 23, gate: 20, futu: 20, other: ~20
- 总计 150+ 测试
ClawTrading v5.4 — 数据清洗 + 策略统一 (10:00-19:45)
数据源切换
- 禁用 yfinance,全面切换 Futu OpenD(前复权 qfq)
- 清除所有 yfinance 污染缓存(OHLCV 702 + Alpha158 699 文件)
- 重建: US 570 只 + HK 114 只 10 年 OHLCV + Alpha158 缓存
- 发现: yfinance dividend-adjusted close 严重高估 HK 收益(286%→139%)
HK FMP 基本面接入
- 新增
scripts/fetch_hk_fundamentals_fmp.py(5 年 income statement + balance sheet → ROE/ROIC)
- 114 只全覆盖,ROE 覆盖 97%,ROIC 覆盖 97%
- HK quality 过滤对齐 US:ROIC≥0 主过滤 + EY override + buyback 保护
策略测试矩阵
- HK topk 网格(15/20/30):完全不敏感(Markowitz 优化器主导)
- HK max_w 网格(0.06/0.08/0.10/0.12):0.08 最优
- HK quality 梯度(无/ROE>0/ROE≥5%/ROE≥8%/ROE≥12%/ROIC≥0-US对齐)
- HK adaptive/Alpha158/Alpha101/ML:均无增益
- US quality vs 无 quality:4 窗口 end_date 敏感性
- Alpha101 HK IC 扫描(39 因子,alpha42 仍最强 ICIR 0.373)
最终策略
- US:
factor_alpha158_v5_quality — Sharpe 1.90-2.08(稳定)
- HK:
factor_v5_quality_hk (v5.4) — Sharpe 1.67, MDD -26%, Vol 30%
关键发现
- US alpha 稳定(Sharpe 波动 0.18),HK 跟大盘密切相关(波动 1.53)
- Alpha158 缓存是 PIT 正确的(滚动窗口,无截面标准化)
- HK quality(ROE/ROIC)是负收益贡献但正风控贡献
- US/HK 代码完全统一,差异只在配置参数
Cron 维护
- 禁用:
宏观数据每日刷新+告警(761b)
- 删除:
每日财经简报(ec70)
- 新增:
scripts/unified_data_refresh.py(daily/weekly 统一数据更新入口)