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 一张图看懂行业分类体系
下面这张图,是我自己整理的行业分类选择逻辑。你一看就明白。
2.5 我的建议
说了这么多,最后给你一个实操建议。
如果你是刚开始做行业轮动,别纠结。直接用申万一级行业分类。原因有三:
- 数据好拿:大部分数据商都提供申万分类,而且有历史回溯数据
- 粒度适中:28个行业,既不会太少导致信号粗糙,也不会太多导致计算量爆炸
- 市场认可:国内机构普遍用申万,你的策略结果更容易被理解
注意:无论你用哪套分类,一定要确认数据源是否提供了「历史成分股」数据。用最新分类回测历史,是新手最容易犯的错误。我当年就因为这个,白亏了三个月的时间。
好了,行业分类这块就聊到这儿。下一节我们开始讲数据获取,到时候我会手把手教你拉数据、做清洗。嗯,那才是真正动手的时候。