2. 行业轮动数据基础
多因子行业轮动评分的第一步不是写因子,而是把“行业”这个研究对象定义清楚,并把后续要用的行情、财务、估值数据整理成一张可对齐、可复现的面板。数据基础没打好,后面无论用动量、景气度还是拥挤度因子,都会出现行业口径不一致、财务数据前视偏差、频率错配等问题。本节围绕四件事展开:行业分类标准怎么选、行业指数数据从哪里取、行情与财务如何对齐、频率与时间窗口如何确定。
一、行业分类标准:先统一“行业”的口径
常见的行业分类体系有中信、申万、证监会、GICS 等。它们对同一家公司的归属可能不同,例如一家以新能源车零部件为主业的公司,在申万可能归入电力设备,在 GICS 可能归入可选消费或工业。做轮动评分时,最关键的是全流程使用同一套分类标准,并固定分类版本。分类标准会修订,成分股会调整,如果回测时用最新成分股去回溯历史,就会引入“幸存者偏差”。
实践中的做法是:选定一套主分类(如申万一级 31 个行业),保存每个行业在每个历史时点的成分股名单,或者直接使用按历史成分计算的行业指数。若使用第三方行业指数,要确认其成分调整规则和回溯方式。下表给出常见分类体系的适用场景对比(示例性归纳,具体以各机构最新文档为准):
| 分类体系 | 层级特点 | 常见用途 | 注意事项 |
|---|---|---|---|
| 申万行业分类 | 一级约 31 个,层级细 | A 股行业轮动、因子研究 | 关注分类修订与成分调整 |
| 中信行业分类 | 一级约 30 个 | 卖方研究、指数化跟踪 | 与申万口径存在差异 |
| 证监会行业 | 门类较粗 | 监管统计、合规披露 | 粒度偏粗,轮动区分度有限 |
| GICS | 全球通用四级 | 跨市场比较、海外配置 | A 股覆盖与本地习惯不同 |
二、行业指数数据获取:行情、估值与财务三条线
行业轮动评分通常需要三类数据:行情类(行业指数收盘价、成交额、换手率)、估值类(行业 PE、PB、股息率)、财务类(行业营收增速、净利润增速、ROE 等聚合指标)。行情数据可按日频获取,估值数据一般也是日频,财务数据则是季度披露、低频更新。
获取渠道上,行情与估值可从 Wind、Choice、聚宽、Tushare 等数据源取得;财务数据要注意“报告期”与“公告日”的区别。例如 2023 年年报的报告期是 2023-12-31,但公告日可能在 2024 年 3 月至 4 月。回测时若在 2024 年 1 月就使用 2023 年年报数据,就产生了前视偏差。正确做法是以公告日作为数据可用时点,或使用“报告期 + 合理滞后”的保守规则。
三、行情与财务数据对齐:把不同频率的数据拼成一张面板
行情是日频,财务是季度频,两者不能直接逐行合并。常见做法是构建“行业 × 日期”的日频面板:每个交易日,行情字段取当日值;财务字段取“截至该日已公告的最新报告期数据”,并在两次公告之间保持不变(前向填充)。这样每个交易日都有一组完整的特征,供因子计算使用。
对齐时还要注意三点:一是行业指数与成分股数据的日期基准要一致,避免因停牌、节假日造成错位;二是估值指标若为负值(如亏损行业 PE 为负),需要明确处理规则,例如设为缺失或使用 PB 替代;三是财务聚合指标要确认是“整体法”还是“中位数法”,不同聚合方式对行业景气度的刻画差异很大。
四、数据频率与时间窗口选择
频率选择取决于轮动策略的调仓周期。若按月调仓,日频行情可聚合为月末值,财务数据取当月最后一个交易日已公告的最新报告期;若按周调仓,则需注意财务数据在周内基本不变,主要变化来自行情与估值。频率过高(如日频调仓)会放大交易成本和噪声,频率过低(如季度调仓)则可能错过行业景气拐点。
时间窗口主要影响两类因子:动量类和景气类。动量因子常用 20 日、60 日、120 日收益率,窗口过短易受短期反转干扰,过长则反应迟钝;景气因子常用同比或环比增速,需保证至少 8 个季度历史以覆盖一个完整周期。回测起点还应预留足够的“预热期”,例如使用 120 日动量时,前 120 个交易日不能产生有效信号,面板应从更早的日期开始准备。
综合来看,一套可复现的数据基础应满足:分类标准固定且有版本记录;行情、估值、财务三类数据来源明确;财务以公告日对齐并前向填充;频率与调仓周期匹配;窗口长度与因子逻辑匹配并预留预热期。完成这些之后,行业轮动评分才具备可靠的输入,后续的因子构建与检验才有意义。