4. 成分股映射的基本概念与数据来源
在行业板块研究中,真正决定分析质量的往往不是分类规则本身,而是“哪只股票属于哪个行业”这一层映射关系。申万行业分类给出了三级行业目录,但目录只是骨架,成分股映射才是把骨架落到具体证券上的血肉。所谓成分股映射,是指以某一时点的申万行业分类标准为依据,将全市场证券逐一归属到行业代码(一级、二级、三级)上的过程及其结果数据集。它至少包含三个要素:分类版本(如申万2021版)、时点(如2024年6月末)、以及证券与行业代码的对应关系。缺少任何一个要素,映射结果都可能不可比。
理解映射,需要先区分两个容易混淆的概念:行业归属与行业权重。归属回答“这只股票属于哪个行业”,是一个多对一的分类关系;权重回答“这个行业里各股票占多大比重”,通常由自由流通市值或总市值计算。前者是分类问题,后者是聚合问题。成分股映射表一般只承载归属关系,权重需要另行计算。很多初学者拿到一张“股票—行业”对照表就以为可以直接做行业指数,实际上还必须补充市值字段和调整规则,否则得到的只是等权或简单加总的近似结果。
从数据结构看,一张可用的成分股映射表通常包含以下字段:证券代码(如600519.SH)、证券简称、申万一级行业代码与名称(如340000 食品饮料)、二级行业代码与名称、三级行业代码与名称、纳入日期、调出日期、分类版本号。其中纳入与调出日期是常被忽略但极其关键的字段——申万分类会定期调整,某只股票可能在2023年属于“计算机”,2024年因主营业务变化被调入“通信”。如果映射表只有当前快照而没有历史区间,回测时就会产生“前视偏差”,用今天的行业归属去解释三年前的行情,结论自然失真。
三类常见数据源各有侧重。申万官网发布的是分类标准与成分股清单,权威性最高、免费可得,但字段相对精简,通常只给当前快照,历史区间需要自行按版本存档。Wind 的行业归属字段带有纳入与调出日期,适合做时点回溯,更新频率接近日频并随分类调整事件驱动,但需要终端权限。Choice 同样提供日频行业分类,且市值字段齐全,便于在映射之后直接计算权重。实务中常见的做法是:以申万官网的分类目录为“标准答案”,用 Wind 或 Choice 补齐历史区间与市值字段,两者交叉校验,发现差异时以官网最新公告为准。
更新频率需要分两层理解。第一层是分类标准版本的更新,申万分类大约每几年修订一次,2021版是当前主流版本,版本切换时全市场映射需要整体重算,不能新旧混用。第二层是成分股个体的调整,包括新股上市纳入、退市剔除、主营业务变更导致的行业迁移,这类调整通常按月或按事件发生。做行业轮动或归因分析时,建议至少按月对齐一次映射快照;做长周期回测时,则必须保留每个调仓日的映射版本,形成“时点—版本—成分”的三维索引。
最后要强调映射的“时点一致性”。同一张分析表里,行业归属、市值、行情日期必须对齐到同一交易日。若用6月末的行业归属去匹配7月的行情,而该股票恰在7月初发生行业迁移,结果就会把新行业的涨幅记到旧行业头上。规范做法是先确定分析时点,再从映射库中取出该时点生效的记录,过滤掉已调出且未重新纳入的证券,最后才与行情数据连接。这一步看似琐碎,却是行业研究结论能否站得住脚的分水岭。