2. 板块定义与数据准备

板块动量排名能否反映真实的市场结构,第一步并不取决于动量公式,而取决于“板块”本身定义得是否清晰、数据是否干净。同一个交易日,用申万一级行业口径算出的强势板块,与用概念题材口径算出的结果可能完全不同。因此本节的核心任务是:先确定板块分类标准,再把成分股、行情、基本面三类数据对齐到统一的时间轴与代码体系上,最终产出一张可直接进入动量计算的宽表数据集。

一、板块分类标准:先定口径,再谈强弱

常见的板块口径有三类。行业板块依据上市公司主营业务归类,稳定性强、成分变动少,适合观察中期产业轮动;概念板块依据主题、技术路线或事件驱动聚合,成分股重叠度高、调整频繁,适合捕捉短期资金聚焦;地域板块按注册地或经营区域划分,多用于区域政策与主题联动分析。三者并非互斥,一只股票可以同时属于“电子”行业、“算力”概念和“广东”地域。

实操中建议明确三条规则:其一,选定唯一主口径作为排名基准,例如以申万二级行业为主、概念板块为辅做交叉验证,避免多口径混排导致排名不可比;其二,固定成分股快照时点,行业分类通常按季度更新,概念板块可能按月甚至按周调整,必须记录每个调仓日的成分名单,防止用今天的成分回算历史收益造成“前视偏差”;其三,明确板块内权重方式,等权、自由流通市值加权与成交额加权会显著改变板块动量的数值与排序,需在数据集字段中固化。

二、三类数据的获取与清洗

成分股数据是连接个股与板块的桥梁,至少需要“板块代码、板块名称、股票代码、纳入日期、剔除日期”五个字段。清洗重点是处理停牌、退市、ST以及成分股重复归属问题:同一股票在同一板块内只保留一条有效记录;对区间内被剔除的股票,其收益只计入剔除日之前,不能整段回填。

行情数据包括日频的开高低收、成交量、成交额、复权因子与换手率。清洗要点有三:一是统一复权方式,动量计算应使用后复权价格,避免除权除息造成的假跌;二是对齐交易日历,个股停牌日不参与当日收益计算,板块收益按当日实际有交易的成分股重新归一化权重;三是剔除异常值,对单日涨跌幅超过合理阈值且无公告支撑的记录做标记而非直接删除,保留可追溯性。

基本面数据如营收增速、净利润、ROE、估值分位等,主要用于解释动量成因或做强度过滤。其清洗难点在报告期对齐:一季报、中报、年报的披露时间不同,必须按“公告日”而非“报告期”落到交易日上,否则会引入未来信息。对于缺失值,建议保留空值并附加“数据可用标记”,而不是用均值填充掩盖问题。

教学示例:假设分析区间为 2023-01-01 至 2023-12-31,主口径取 31 个申万一级行业,成分股快照按每季度末更新,行情取后复权日线,基本面取单季营收同比与 ROE(TTM),所有字段以“交易日 × 股票代码”为主键对齐。

三、数据集构建:对齐、聚合与校验

三类数据清洗完成后,按“股票代码 + 交易日”做左连接形成个股日频宽表,再通过成分股映射表聚合到板块层。聚合时需注意:板块当日收益应为成分股收益的加权平均,权重取前一交易日的自由流通市值,且仅纳入当日有交易的成分股并重新归一化;板块成交额取成分股成交额之和;板块基本面指标取成分股中位数而非均值,以降低极端值干扰。

构建完成后必须做三项校验:一是覆盖率校验,检查每个板块每日有效成分股数量是否低于阈值(如少于 5 只则标记为低置信);二是收益一致性校验,用板块加权收益与板块指数官方收益对比,偏差持续超过 0.1% 需排查复权或权重问题;三是时间连续性校验,确认无重复主键、无未来日期、无成分股在纳入日前出现收益记录。

板块分析数据集构建流程 成分股数据 板块代码 / 股票代码 纳入日 / 剔除日 行情数据 后复权价 / 成交额 换手率 / 复权因子 基本面数据 营收同比 / ROE 估值分位 / 公告日 清洗规则 统一复权方式 对齐交易日历 停牌日不参与收益 按公告日落基本面 异常值标记保留 成分股去重 缺失值加可用标记 剔除日截断收益 主键对齐 股票代码 × 交易日 左连接形成个股宽表 板块聚合 收益:市值加权 成交额:求和 基本面:中位数 权重取前一日市值 输出前校验 覆盖率 ≥ 5 只成分股 | 板块收益与官方指数偏差 ≤ 0.1% | 无重复主键 / 无未来日期 / 无纳入日前收益 通过后输出:交易日 × 板块代码 的动量分析宽表

上图的顺序不可颠倒:先有清洗规则,再做主键对齐,最后才聚合到板块层。若先聚合再清洗,个股层面的停牌、复权错误会被加权平均掩盖,后续很难定位。

四、可直接使用的数据集字段清单

下面给出一份可参考的板块日频宽表字段设计,字段粒度与命名可根据实际数据库调整,但语义应保持一致。

字段名含义示例值说明
trade_date交易日2023-06-30与交易所日历一致
sector_code板块代码SW801080主口径唯一标识
sector_name板块名称电子申万一级行业
stock_num有效成分股数312当日有交易且未剔除
sector_ret板块日收益0.0182前一日自由流通市值加权
sector_amount板块成交额8.6e10成分股求和
roe_medianROE 中位数0.093按公告日对齐
data_flag数据可用标记10 表示低置信或缺失
常见陷阱:用当前成分股名单回算历史板块收益,会让已退市或后期调入的股票“提前”贡献收益,动量排名被系统性美化。务必保留每个调仓日的成分快照,并在聚合时按纳入日、剔除日做区间截断。

完成上述步骤后,数据集已具备进入动量计算的条件:每个交易日、每个板块都有一致的收益序列、成交活跃度与基本面标记。后续的动量排名与强度变化分析,都应基于这份口径统一、可追溯、可复现的数据集展开,而不是临时从不同来源拼接数据。