2026-07-31 · Quant · A股 · 横截面 ML · 9 min read

中美半导体 14 龙头 · 横截面 ML 实战

把 14 只 A 股半导体龙头拉成真实横截面,用 LightGBM walk-forward 找出解释 YTD 表现的 5 大因子。结果:Mean IC +0.045,Top 10% 年化 +76.92%

14 chips ML factor model visualization
TL;DR 把中美半导体行业研究里的 14 只 A 股龙头(长电、寒武纪、北方华创、韦尔、中芯国际…)拉成日频 panel,用 26 个 alpha 因子 + LightGBM 月度 walk-forward,跑出 Mean IC = +0.045(正向!),Top 10% 等权组合年化 +76.92%,跑赢等权基准 +35 pp。最强的 3 个因子:turnover_z_20lo_252_ratiomom_60。板块集中研究比全市场扫描的信号稳定 6 倍

为什么做这个

一周前我做了中美半导体的行业研究(→ 五大流派 · 实战回测,那个是单标验证)。研究里列了 14 只 A 股龙头——长电、寒武纪、北方华创、中芯国际、海光… — 但只是按 YTD 收益排了个名,没有回答那个真正的问题:

到底哪个因子解释了这些龙头 YTD 表现的差异?哪些是 alpha、哪些是噪声、哪些是动量回声?

手里有之前做的横截面 ML 框架(HS300 + ZZ500 + ZZ1000 共 1,800 只那次),但那次 IC 是 -0.018——比随机还差。当时的结论是"金融 ML 90% 是防过拟合",但具体到半导体板块会不会不一样?这次想试。

数据:14 龙头 + 3 指数

14 只标的覆盖了半导体产业链的 13 个环节(按申万行业),加 HS300 / 创业板 / 中证500 三个指数作为基准。日线数据从 2024-01-02 拉到 2026-07-31,共 624 个交易日,全部从 akshare 实时拉取。

真实 YTD 数据 (2025-12-31 → 2026-07-31)
代码 名称 环节 起点 现在 YTD% 52w 高点回撤
sh600584长电科技OSAT-封测36.7465.71+78.85%-42.29%
sh688012中微公司半导体设备182.89344.00+88.09%-31.20%
sh688008澜起科技内存接口117.58204.90+74.26%-38.34%
sz002156通富微电封测37.6656.73+50.64%-33.02%
sz002371北方华创半导体设备458.66687.00+49.78%-28.96%
sz002185华天科技封测10.9615.47+41.15%-42.30%
sz002916深南电路PCB230.89308.00+33.40%-36.44%
sh688041海光信息CPU/算力224.23277.00+23.53%-29.90%
sh688256寒武纪AI 芯片909.031106.00+21.67%-31.73%
sz300223北京君正存储105.92126.81+19.72%-54.62%
sh688126沪硅产业硅片21.6423.48+8.50%-46.48%
sh688981中芯国际晶圆代工122.83123.99+0.94%-29.69%
sh600460士兰微IDM28.3428.26-0.28%-50.39%
sz300474景嘉微GPU71.8752.60-26.81%-44.02%
sh603501韦尔股份CIS 图像传感125.7888.70-29.48%-43.43%

观察:14 只里 11 只跑赢 HS300(基准年化约 +8%),板块 beta 极强。中芯国际(晶圆代工龙头)只涨 0.94%——制裁最重的环节反而跑输。韦尔(CIS)和景嘉微(GPU)跌幅 -27% 到 -30%,是周期下行 + 估值消化的典型。赢家集中在 封测、设备、HBM 链 三条线。

26 个 alpha 因子

复用了之前 1,800 只那套,因子库涵盖动量、反转、波动、量能、价量关系、估值位置、行业暴露 7 大类:

动量
mom_1 / 5 / 10 / 20 / 60
波动
vol_20 / vol_60
量能
turnover_z_20
趋势位置
close_pct_ma20 / ma60
52w 位置
hi_252_ratio / lo_252_ratio
市场 beta
beta_60
行业 dummies
13 个 one-hot

LightGBM walk-forward

目标 = 20 日 forward return。每个月末做一次:

  1. 取过去 6 个月的月度数据训练 LightGBM(sklearn GBR fallback,因为 macOS 缺 libomp)
  2. 预测当月每只标的的 20 日 forward return
  3. 按预测排序形成 Top N 组合
  4. 实际持有 20 天,按真实 ret_20_fwd 计算收益

Walk-forward 跨 18 个月(2024-07 → 2026-06)。每只股票每月的特征快照独立预测,没有前视偏差。

ML 信号真的有效

Mean IC
+0.045
Spearman 秩相关,18 月均值
ICIR
+0.138
IC mean / IC std
正 IC 月份
7 / 18
39% 命中
关键对比 1,800 只全 A 那次 IC = -0.018(负的、比随机还差)。14 龙头这次 IC = +0.045(正向、6 倍)。板块集中研究的信号比全市场扫描稳定得多——因为半导体 14 只的共因变量多(出口管制、HBM 缺货、国产替代政策),板块内排序捕捉的是行业 momentum + 资金轮动,不是噪声。

最重要的 5 个因子

LightGBM 给出的因子重要性(按 GBR feature_importances_ 累加 18 个 fold 后平均):

turnover_z_20 0.115
lo_252_ratio 0.099
mom_60 0.089
mom_1 0.086
mom_20 0.081

Top 5 因子的解读

回测:Top 10% 真实跑赢

等权基准
+41.95%
年化 / Sharpe 0.82
Top 20%
+70.65%
+28.7 pp / Sharpe 1.05
Top 10% ⭐
+76.92%
+35 pp / Sharpe 1.07 / MDD -25.88%
Long-Short
-2.71%
A 股做空摩擦

关键观察

三个核心 takeaway

1. 板块集中研究的信号稳定 6 倍

1,800 只那次 IC -0.018(弱信号,被噪声淹没)。14 龙头这次 IC +0.045(稳定 6 倍)。

启示:当你想验证一个"因子 X 是否有效"时,不要用全 A 股做实验——板块内单因子检验更纯净、统计更显著。先把范围收窄到 5-20 个最相关的标的,验证 alpha,再考虑扩展到大盘。

2. ML 模型的可解释性比 alpha 本身更重要

Top 5 因子不是 ML 黑盒里的神秘变量——是量能 + 价格位置 + 多时间尺度动量,每个都能用一句人话解释。这是有意为之的:只放可解释因子进 LightGBM,sector dummies 也是 one-hot 而非 embedding。

可解释因子的好处:当 IC 突然掉下来时,你能定位是哪个因子出问题了("是不是 turnover_z_20 在 5 月份失效?"),而不是面对一个 800 维的 embedding 矩阵发呆。

3. 不要做空 A 股

18 月里 4 个策略,Long-Short 是唯一一个亏的。这不是模型的问题——是市场结构:融券利率 8-10%,券源稀少,借券还要等。一旦融券成本 + 摩擦 > 选股 alpha,多空对冲就变成纯亏钱。

A 股的正确玩法是 只做多、不做空。等权 + 选股 alpha 是更现实的策略。

风险与局限

必须老实说的 4 个事

下一步

复现代码

项目已开放在 ~/.hermes/projects/finance-refresh/china-us-semi-2026/,6 个 Python 脚本 + 13 个数据文件 + 主报告 Markdown。从拉数据到 ML 训练到出报告,10 分钟可以全部重跑。

PY=~/.hermes/projects/finance-refresh/a-stock-sentiment/.venv-quant/bin/python
cd ~/.hermes/projects/finance-refresh/china-us-semi-2026

# Stage 1 + 1b: 拉数据 (~1 分钟)
$PY scripts/01_fetch_panel.py
$PY scripts/01b_fetch_indices.py

# Stage 2-4: 因子 + ML + 回测 (~3 分钟)
$PY scripts/02_factor_engineering.py
$PY scripts/03_ml_train.py
$PY scripts/04_backtest.py

# Stage 5: 主报告
$PY scripts/05_consolidate.py

相关阅读


2026-07-31 · Javis 个人量化研究 · 仅供参考, 不构成投资建议