2. 板块与基准指数选择
做板块涨跌幅与超额收益对比,第一步不是算,而是“选对尺子”。同一只板块指数,用沪深300做基准可能显示持续跑赢,换成中证500却可能只是持平;同一段行情,用价格指数和全收益指数计算,超额收益也会出现系统性差异。本节要解决的就是:根据分析目的选代表性板块指数与基准指数,理解指数编制规则对涨跌幅的影响,并完成指数数据的对齐与预处理,让后续的超额收益计算建立在可比、干净的数据之上。
一、先明确分析目的,再决定“选谁”
指数选择本质上是为问题匹配参照系。常见分析目的与对应选择思路如下:
- 判断某行业整体强弱:选该行业的申万一级或二级行业指数,基准选市场宽基(沪深300或中证全指),看的是行业相对全市场的超额。
- 判断大小盘风格轮动:板块侧用沪深300(大盘)与中证500/中证1000(中小盘)对比,基准可用中证全指,观察风格价差。
- 评估主题/概念热度:选对应主题指数(如中证新能源、中证半导体),但要注意主题指数成分股集中、编制规则特殊,基准宜选同风格宽基而非沪深300,否则超额会被风格偏差污染。
- 基金或组合业绩归因:基准应尽量贴近组合的业绩比较基准,而不是随手拿沪深300。
关键原则是:板块指数与基准指数在市值风格、行业分布、成分数量上尽量可比。用沪深300去衡量一个小盘成长板块,超额收益里混入了大量风格beta,结论会失真。
二、指数编制规则如何影响涨跌幅
选完指数还要理解它“怎么算”,否则涨跌幅不可比。需要重点关注的规则有四项:
- 加权方式:自由流通市值加权(沪深300、中证500)与等权、价格加权差异明显。等权指数中小市值成分影响被放大,波动通常更高。
- 样本空间与调整频率:沪深300每半年调整一次样本,中证500同样定期调样。调样日前后成分变化会造成指数“跳变”,跨调样期做区间收益时需注意。
- 价格指数 vs 全收益指数:价格指数不含分红,全收益指数将分红再投资。高股息板块用价格指数会低估其真实回报,超额收益被系统性压低。做长期对比应优先使用全收益指数,或至少保证板块与基准口径一致。
- 基日与基点:不同指数基日不同,直接比较点位无意义,必须统一转换为区间涨跌幅或归一化净值。
三、数据对齐与预处理的标准流程
拿到板块指数与基准指数的日收盘序列后,按以下步骤处理:
- 统一交易日历:以基准指数的交易日为准,对板块序列做左连接,缺失交易日标记为NaN,不要用前值填充后直接算收益(会制造零收益假象)。
- 处理停牌与缺失:板块指数一般不停牌,但数据源可能缺行。缺失日可用前收盘价填充点位,但需在收益计算时跳过该日,或改用区间首尾点位计算区间收益。
- 归一化:将两序列在起始日都除以各自起始点位,得到以1为起点的净值曲线,便于同图对比。
- 计算日收益率:r = P_t / P_{t-1} − 1,注意首日为NaN。
- 计算超额收益:日超额 = 板块日收益 − 基准日收益;累计超额可用净值比(板块净值 / 基准净值)或逐日超额累加(近似)。
下面用一段示例代码展示对齐与预处理的核心逻辑(示例数据为假设值,仅用于说明流程):
import pandas as pd
# 假设已读取两个DataFrame:sector、benchmark,均含 date、close 两列
df = pd.merge(
benchmark[['date', 'close']].rename(columns={'close': 'bm'}),
sector[['date', 'close']].rename(columns={'close': 'sec'}),
on='date', how='left' # 以基准交易日历为准
).sort_values('date').reset_index(drop=True)
df['sec'] = df['sec'].ffill() # 缺失日沿用前收盘点位
df['bm_nav'] = df['bm'] / df['bm'].iloc[0]
df['sec_nav'] = df['sec'] / df['sec'].iloc[0]
df['bm_ret'] = df['bm'].pct_change()
df['sec_ret'] = df['sec'].pct_change()
df['excess'] = df['sec_ret'] - df['bm_ret']
df['cum_excess'] = df['sec_nav'] / df['bm_nav'] - 1
处理完成后应做一次校验:两序列起止日期一致、无重复日期、首日净值均为1、累计超额与净值比结果一致。若发现某段区间板块净值长期横盘而基准正常波动,多半是缺失值被错误填充,需要回查原始数据。
四、选择与对齐的决策关系
下图把“分析目的—指数选择—口径校验—对齐处理”的关系串起来,帮助在实际操作中快速定位该选哪类指数、该检查哪些口径。
五、一个选择示例
假设要分析“2023年新能源板块相对市场的超额表现”。板块侧选中证新能源指数,基准侧若选沪深300,则新能源板块中大量中小市值成分与沪深300的大盘风格不匹配,超额里混入小盘beta。更合理的做法是:基准选中证全指或与新能源市值分布更接近的宽基,并确认两者均为价格指数或均为全收益指数。若分析目的是“新能源相对大盘蓝筹的强弱”,则沪深300反而是合适基准——没有绝对正确的基准,只有与分析目的匹配的基准。