跳转至

title: 实盘因子 IC 验证 created: 2026-04-30 updated: 2026-04-30 type: doc tags: [quant, factor-analysis, rank-ic, a-share, validation]


实盘因子 Rank IC 验证报告

测试日期: 2026-04-30 | 数据源: 新浪 akshare (qfq) | 环境: 服务器 129.204.18.113 样本: 50 只沪深成分股 | 时间跨度: 2025.10.01 - 2026.04.30 | 数据量: 6,850 条记录

⚠️ 测试目的

验证 Wiki 中多因子模型章节描述的理论因子在真实 A 股市场中的有效性。 理论再完美,数据说话。

📊 测试方法

  1. 数据获取: akshare stock_zh_a_daily (新浪源),复权价格 + 流通股本 + 成交量
  2. 因子计算: 市值(Size)、20日动量(Mom)、20日波动率(Vol)、20日均换手率(TO)
  3. Rank IC: 每日截面内对因子值和未来一日收益率分别排序后求 Pearson 相关系数 (=Spearman)
  4. 统计指标: IC均值、IC标准差、IR (IC均值/IC标准差)、t值、胜率(正IC比例)

📈 核心结果

因子 IC均值 IC标准差 IR t值 胜率 结论
市值(Size) -0.024 0.265 -0.090 -0.97 50.9% ❌ 无显著性
20日动量(Mom) -0.006 0.275 -0.022 -0.24 49.1% ❌ 反转为反转市场
20日波动率(Vol) 0.036 0.233 0.153 1.65 56.9% ⚠️ 微弱有效但不达门槛
20日均换手率(TO) 0.033 0.323 0.103 1.11 54.3% ⚠️ 同上

🔍 关键发现

1. A 股短期是反转市场

动量因子 IC = -0.006(负值),胜率仅 49.1%。这与美股/成熟市场的动量效应完全相反。 A 股的 T+1 交易制度、散户占比高、涨跌停限制导致"追涨杀跌"策略在短期无效甚至有害。

2. 所有因子 IR 均低于 0.2

IR 范围 含义
|IR| < 0.2 单因子无法覆盖交易成本,无实操价值
0.2 < |IR| < 0.5 边际有效,需多因子合成
|IR| > 0.5 强单因子,可能可直接交易

本次测试所有因子 IR < 0.2,意味着没有任何一个单因子可以直接用于实战交易

3. 波动率和换手率有微弱正向信号

  • 波动率因子 IR = 0.153 (t=1.65)
  • 换手率因子 IR = 0.103 (t=1.11)
  • t 值均未达到 1.96(95% 置信度),说明统计不显著 率和换手率有微弱正向信号
  • 波动率因子 IR = 0.153 (t=1.65)
  • 换手率因子 IR = 0.103 (t=1.11)
  • t 值均未达到 1.96(95% 置信度),说明统计不显著### 4. 理论 ≠ 实战 Wiki 中的多因子模型章节(经典因子体系、IC/IR 评估方法、因子正交化)作为理论框架是正确的。 但实战中面临:
  • 因子衰减极快: A 股 alpha 衰减速度远超美股
  • 截面容量限制: 成分股内 alpha 更小,小盘/微盘股可能有更强因子
  • 交易成本侵蚀: 佣金 + 印花税 + 滑点,IR < 0.5 基本无法盈利
  • 市场结构变化: 同一因子在不同市场阶段(牛/熊/震荡)表现截然不同

🎯 后续方向

  1. 扩大样本: 全市场 5000+ 股票,不局限于成分股
  2. 因子合成: 正交化 + 等权/IC加权合成综合因子
  3. 行业/市值中性化: 消除行业暴露和市值偏好的干扰
  4. 另类数据: 龙虎榜、北向资金、舆情、公告文本
  5. 动态因子择时: 根据市场状态(情绪周期)切换有效因子
  6. 机器学习: LightGBM/XGBoost 非线性因子组合

⚙️ 技术细节

  • 新浪源限制: 无涨跌幅字段,需自行计算 pct_change
  • Rate Limit: 必须 time.sleep(0.25) 否则被封
  • scipy 不可用: 执行环境无 scipy,用 df.rank().corr(df.rank()) 计算 Spearman 相关系数
  • 东方财富 IP 封禁: 服务器 129.204.18.113 被东方财富完全封禁