2、行业分类标准:申万一级行业分类、中信行业分类、GICS行业分类、行业分类在量化中的应用

做行业轮动,第一步不是选指标,也不是写代码。

第一步是搞清楚——你轮动的「行业」到底是怎么划分的。

这个问题,我早年吃过亏。刚开始做量化的时候,我拿到的股票数据里有个「行业」字段,我直接拿来就用。结果回测曲线漂亮得不像话,实盘一跑就崩。后来才发现,那个行业分类是某家数据商自己瞎编的,跟市场公认的分类完全对不上。嗯,从那以后,我再也不敢轻视行业分类标准了。

2.1 为什么行业分类这么重要?

说白了,行业分类就是给股票贴标签。标签贴得对不对,直接决定你的轮动策略有没有意义。

你想想看,如果「银行」和「保险」被分到同一个行业里,那你做银行轮动的时候,保险股的异动就会干扰你的信号。反过来,如果「半导体」和「消费电子」被拆得太碎,你又很难捕捉到整个科技板块的趋势。

所以,选对分类标准,是行业轮动策略的基石。

核心观点:行业分类的粒度、稳定性、可投资性,决定了轮动策略的上限。

2.2 三大主流行业分类标准

目前国内量化圈用得最多的,就是申万、中信、GICS这三套。我一个个说。

2.2.1 申万一级行业分类

申万宏源出的,国内最老牌的行业分类。我刚开始做量化的时候,用的就是这套。

  • 层级结构:一级(28个)、二级(104个)、三级(227个)
  • 更新频率:每年6月和12月各调整一次
  • 特点:贴近A股市场,行业划分比较细,比如「食品饮料」下面还分「白酒」「乳品」等
  • 适用场景:A股行业轮动、主题投资、因子分析

我个人习惯用申万一级做初筛。28个行业,数量适中,既不会太粗导致信号模糊,也不会太细导致样本不足。

避坑指南:我曾经遇到过申万在年中调整分类时,把某只股票从「电子」划到了「计算机」,结果我的轮动信号直接跳变。所以,做回测时一定要用「历史成分股」数据,别用最新分类去回测历史。

2.2.2 中信行业分类

中信证券出的,跟申万类似,但细节上有差异。

  • 层级结构:一级(29个)、二级(112个)、三级(256个)
  • 更新频率:不定期调整,但通常每年一次
  • 特点:更偏重金融和周期行业,比如把「房地产」单独拎出来
  • 适用场景:机构投资者、多因子模型、行业配置

我个人的经验是,中信分类在周期行业上比申万更细致。如果你做的是钢铁、煤炭、有色这些周期轮动,中信可能更顺手。

2.2.3 GICS行业分类

全球行业分类标准,由MSCI和标普联合推出。国际通用的标准。

  • 层级结构:11个行业、24个行业组、69个行业、158个子行业
  • 更新频率:每年3月调整
  • 特点:全球统一,适合跨市场对比。比如A股的「银行」和港股的「银行」在GICS下是同一个分类
  • 适用场景:跨市场轮动、全球资产配置、QFII/QDII策略

我建议,如果你只做A股,用申万或中信就够了。但如果你要对比A股和港股,或者做美股轮动,那GICS是绕不开的。

2.3 行业分类在量化中的应用

分类标准选好了,怎么用?我总结三个核心场景。

2.3.1 行业因子计算

做多因子模型时,行业分类是中性化处理的基础。比如你算「市盈率因子」,如果不做行业中性化,那银行股的低PE和科技股的高PE混在一起,因子信号就乱了。

# 伪代码示例:行业中性化处理
import pandas as pd

# 假设df包含股票代码、行业、市盈率
df['industry_mean_pe'] = df.groupby('industry')['pe'].transform('mean')
df['neutralized_pe'] = df['pe'] - df['industry_mean_pe']

你看,就这么几行代码,把行业均值减掉,因子就干净多了。

2.3.2 行业轮动信号生成

这是咱们课程的核心。行业分类决定了你轮动的「篮子」有多大。

  • 用申万一级,你有28个篮子
  • 用中信一级,你有29个篮子
  • 用GICS,你有11个篮子

篮子越多,轮动机会越多,但噪音也越大。我个人的经验是,A股轮动用申万一级28个行业刚刚好。

2.3.3 风险控制与归因

行业分类还能帮你做风险归因。比如你的组合今天跌了2%,是市场整体跌了,还是你重仓的某个行业出了问题?

# 伪代码示例:行业贡献度计算
portfolio_industry_return = portfolio.groupby('industry')['return'].sum()
benchmark_industry_return = benchmark.groupby('industry')['return'].sum()
active_return = portfolio_industry_return - benchmark_industry_return

这样一算,你就能看到哪个行业拖了后腿。

2.4 一张图看懂行业分类体系

下面这张图,是我自己整理的行业分类选择逻辑。你一看就明白。

行业分类选择逻辑 你的策略范围? 仅A股 A股+港股 全球市场 申万 / 中信 申万 + GICS GICS 建议:A股轮动首选申万一级,跨市场用GICS

2.5 我的建议

说了这么多,最后给你一个实操建议。

如果你是刚开始做行业轮动,别纠结。直接用申万一级行业分类。原因有三:

  1. 数据好拿:大部分数据商都提供申万分类,而且有历史回溯数据
  2. 粒度适中:28个行业,既不会太少导致信号粗糙,也不会太多导致计算量爆炸
  3. 市场认可:国内机构普遍用申万,你的策略结果更容易被理解

注意:无论你用哪套分类,一定要确认数据源是否提供了「历史成分股」数据。用最新分类回测历史,是新手最容易犯的错误。我当年就因为这个,白亏了三个月的时间。

好了,行业分类这块就聊到这儿。下一节我们开始讲数据获取,到时候我会手把手教你拉数据、做清洗。嗯,那才是真正动手的时候。

专注资料整理