2. 成交份额数据获取与清洗
成交份额演化的第一步不是画图,而是把“份额”这个分母和分子都算对。份额 = 某板块成交额 ÷ 全市场成交额,任何一个环节的口径偏差都会直接放大成份额曲线的假拐点。本节围绕四个关键动作展开:选数据源、定板块分类、提成交额、清洗与对齐,并给出可直接套用的处理流程与检查清单。
一、数据源选择:先定口径,再定供应商
成交份额研究常用的数据源有三类:交易所公开行情文件(日频个股成交额,权威但需自行聚合)、商业金融终端(如 Wind、Choice、同花顺 iFinD,字段齐全、板块成分现成,但不同终端对“板块”的定义不同)、以及开源数据接口(如 AkShare、Tushare,成本低但需校验完整性与复权口径)。选择时优先看三点:
- 成交额口径:是否含大宗交易、是否含盘后固定价格交易、是否为双边计算。A 股常规行情成交额通常为单边成交金额,若混入双边数据,份额会被系统性放大。
- 板块成分时点:板块成分股是动态调整的,必须使用“当日生效成分”而非当前最新成分,否则历史份额会出现前视偏差。
- 覆盖完整性:停牌股、新股上市首日、退市整理期股票是否纳入,直接影响分母。
二、板块分类标准:建立可复用的映射表
板块分类要解决“一只股票归到哪个板块”的问题。常见分类体系包括申万行业、中信行业、证监会行业、概念板块与自定义主题板块。做份额演化时,建议采用“一级行业 + 自定义主题”双层结构:一级行业用于稳定对比,自定义主题用于捕捉主线轮动。关键原则是分类标准在时间轴上保持一致,中途更换分类体系必须重新计算全历史序列,不能拼接。
落地方式是建立一张“股票—板块—生效日期”的映射表,字段至少包含:证券代码、板块代码、板块名称、生效起始日、生效截止日、分类体系版本。查询某日份额时,用 生效起始日 <= 交易日 <= 生效截止日 做时点匹配,而不是用最新映射回填历史。
三、成交额提取与异常值处理
成交额提取的核心是“按日聚合、按板块汇总、按全市场归一”。以日频数据为例,处理顺序为:剔除无成交记录(停牌)股票 → 按映射表归入板块 → 板块内求和 → 全市场求和 → 计算份额。异常值主要出现在四类场景,处理方式各不相同:
| 异常场景 | 典型表现 | 处理方式 |
|---|---|---|
| 新股上市首日 | 成交额异常放大,换手率极高 | 首日剔除或单独标记,次日起纳入 |
| 停牌复牌 | 复牌日成交额脉冲式放大 | 保留但标记,计算份额变化率时做平滑 |
| 数据缺失 | 某日某股成交额为空或为 0 | 先判断是否停牌,非停牌缺失用前后日均值插补并记录 |
| 单位/口径错误 | 成交额量级突变 10 倍以上 | 对照交易所文件核验,确认后修正或剔除 |
异常值判断建议用“滚动中位数 + 倍数阈值”而非固定阈值:对每只股票计算 20 日成交额滚动中位数,若当日成交额超过中位数 8 倍且无对应涨跌停或重大公告,标记为待核查。这样能适应不同市值股票的波动差异。
四、数据对齐:让份额序列可比
对齐包含三层:时间对齐(统一交易日历,剔除全市场休市日)、频率对齐(日频聚合为周频或月频时用成交额求和而非均值)、口径对齐(全市场分母与板块分子使用同一数据源、同一复权与交易类型口径)。对齐完成后做三项校验:各板块份额之和应等于 100%(允许浮点误差 0.01%);全市场成交额与交易所公布值偏差应小于 0.5%;份额序列无单日跳变超过 15 个百分点且无合理解释。
五、可直接套用的处理清单
把上述流程固化为每日或每周执行的检查清单,能显著降低返工率。以下清单字段可直接用于脚本或人工核对:
- 确认当日交易日历与交易所一致,剔除休市日记录。
- 核对全市场成交额与交易所公布值,偏差超过 0.5% 则停止后续计算。
- 用生效日期匹配板块映射,检查是否存在未映射股票,未映射数量应为 0。
- 标记新股首日、停牌复牌、成交额缺失记录,写入异常日志。
- 计算各板块份额,校验合计是否为 100%。
- 对份额序列做单日跳变扫描,超过 15 个百分点的记录逐条核查原因。
- 归档当日原始数据、映射版本号与处理日志,保证可复现。
完成本节的数据准备后,得到的应是一张“日期 × 板块 × 成交额 × 份额”的面板数据,并附带异常标记与处理日志。只有这张表通过了三项校验,后续的份额演化分析、主线识别与轮动判断才具备可信基础。