2. 成交份额数据获取与清洗

成交份额演化的第一步不是画图,而是把“份额”这个分母和分子都算对。份额 = 某板块成交额 ÷ 全市场成交额,任何一个环节的口径偏差都会直接放大成份额曲线的假拐点。本节围绕四个关键动作展开:选数据源、定板块分类、提成交额、清洗与对齐,并给出可直接套用的处理流程与检查清单。

一、数据源选择:先定口径,再定供应商

成交份额研究常用的数据源有三类:交易所公开行情文件(日频个股成交额,权威但需自行聚合)、商业金融终端(如 Wind、Choice、同花顺 iFinD,字段齐全、板块成分现成,但不同终端对“板块”的定义不同)、以及开源数据接口(如 AkShare、Tushare,成本低但需校验完整性与复权口径)。选择时优先看三点:

  • 成交额口径:是否含大宗交易、是否含盘后固定价格交易、是否为双边计算。A 股常规行情成交额通常为单边成交金额,若混入双边数据,份额会被系统性放大。
  • 板块成分时点:板块成分股是动态调整的,必须使用“当日生效成分”而非当前最新成分,否则历史份额会出现前视偏差。
  • 覆盖完整性:停牌股、新股上市首日、退市整理期股票是否纳入,直接影响分母。
实操建议:以交易所日行情文件作为成交额的“真值基准”,用商业终端的板块成分表做映射,两者交叉校验。若两者全市场成交额日度偏差持续超过 0.5%,说明口径不一致,必须先排查再使用。

二、板块分类标准:建立可复用的映射表

板块分类要解决“一只股票归到哪个板块”的问题。常见分类体系包括申万行业、中信行业、证监会行业、概念板块与自定义主题板块。做份额演化时,建议采用“一级行业 + 自定义主题”双层结构:一级行业用于稳定对比,自定义主题用于捕捉主线轮动。关键原则是分类标准在时间轴上保持一致,中途更换分类体系必须重新计算全历史序列,不能拼接。

落地方式是建立一张“股票—板块—生效日期”的映射表,字段至少包含:证券代码、板块代码、板块名称、生效起始日、生效截止日、分类体系版本。查询某日份额时,用 生效起始日 <= 交易日 <= 生效截止日 做时点匹配,而不是用最新映射回填历史。

三、成交额提取与异常值处理

成交额提取的核心是“按日聚合、按板块汇总、按全市场归一”。以日频数据为例,处理顺序为:剔除无成交记录(停牌)股票 → 按映射表归入板块 → 板块内求和 → 全市场求和 → 计算份额。异常值主要出现在四类场景,处理方式各不相同:

异常场景典型表现处理方式
新股上市首日成交额异常放大,换手率极高首日剔除或单独标记,次日起纳入
停牌复牌复牌日成交额脉冲式放大保留但标记,计算份额变化率时做平滑
数据缺失某日某股成交额为空或为 0先判断是否停牌,非停牌缺失用前后日均值插补并记录
单位/口径错误成交额量级突变 10 倍以上对照交易所文件核验,确认后修正或剔除

异常值判断建议用“滚动中位数 + 倍数阈值”而非固定阈值:对每只股票计算 20 日成交额滚动中位数,若当日成交额超过中位数 8 倍且无对应涨跌停或重大公告,标记为待核查。这样能适应不同市值股票的波动差异。

四、数据对齐:让份额序列可比

对齐包含三层:时间对齐(统一交易日历,剔除全市场休市日)、频率对齐(日频聚合为周频或月频时用成交额求和而非均值)、口径对齐(全市场分母与板块分子使用同一数据源、同一复权与交易类型口径)。对齐完成后做三项校验:各板块份额之和应等于 100%(允许浮点误差 0.01%);全市场成交额与交易所公布值偏差应小于 0.5%;份额序列无单日跳变超过 15 个百分点且无合理解释。

成交份额数据获取与清洗流程 数据源 交易所日行情文件 商业终端 / 开源接口 板块分类映射 代码—板块—生效日期 时点匹配,禁用最新回填 成交额提取 剔除停牌 → 板块汇总 → 全市场求和 → 份额 异常值处理 新股 / 复牌 / 缺失 / 口径 滚动中位数 + 倍数阈值 清洗与对齐 交易日历统一 频率聚合(求和) 分子分母同口径 缺失插补并留痕 三项校验 ① 板块份额合计 = 100% ② 全市场成交额偏差 < 0.5% ③ 单日份额跳变 < 15 个百分点 不通过则回溯数据源与映射 输出:份额面板数据 日期 × 板块 × 成交额 × 份额 附异常标记与处理日志 关键原则:分类标准全历史一致;成分按生效日期时点匹配; 异常处理必须留痕,保证份额序列可复现、可审计。

五、可直接套用的处理清单

把上述流程固化为每日或每周执行的检查清单,能显著降低返工率。以下清单字段可直接用于脚本或人工核对:

  1. 确认当日交易日历与交易所一致,剔除休市日记录。
  2. 核对全市场成交额与交易所公布值,偏差超过 0.5% 则停止后续计算。
  3. 用生效日期匹配板块映射,检查是否存在未映射股票,未映射数量应为 0。
  4. 标记新股首日、停牌复牌、成交额缺失记录,写入异常日志。
  5. 计算各板块份额,校验合计是否为 100%。
  6. 对份额序列做单日跳变扫描,超过 15 个百分点的记录逐条核查原因。
  7. 归档当日原始数据、映射版本号与处理日志,保证可复现。
常见误区:用当前最新板块成分回填全部历史,会让已经调出板块的股票“凭空消失”,份额曲线出现无法解释的台阶。另一个误区是把周频份额用日频份额取平均,正确做法是用周内成交额求和后再相除,否则小成交日会被过度加权。

完成本节的数据准备后,得到的应是一张“日期 × 板块 × 成交额 × 份额”的面板数据,并附带异常标记与处理日志。只有这张表通过了三项校验,后续的份额演化分析、主线识别与轮动判断才具备可信基础。