2. 融资余额数据清洗与板块匹配

上一节我们明确了“板块融资余额变化”与“行情涨跌”之间需要对照观察,但真正动手之前,必须先解决一个更基础的问题:数据从哪里来、长什么样、能不能直接用。融资余额数据看似只是“某板块某日一个数字”,实际上它同时涉及交易所披露口径、个股与板块的归属关系、交易日历对齐三个层面。本节围绕“把原始数据整理成可用的板块融资余额面板”这一目标,讲清数据结构、常见脏数据形态,以及清洗与匹配的具体做法。

一、先看清数据结构:三个维度与两种频率

融资余额数据本质是一张“时间 × 标的 × 指标”的三维表。以沪深交易所披露的融资融券明细为例,常见字段包括:交易日期、证券代码、证券简称、融资余额(元)、融资买入额(元)、融资偿还额(元)、融券余额等。其中融资余额是存量指标,表示截至当日收盘尚未偿还的融资总额;融资买入额与偿还额是流量指标,二者之差近似对应余额的日变化(还需考虑除权、标的调整等因素)。理解存量与流量的区别,是后续计算“余额变化率”和“净买入”的前提。

频率方面,交易所按交易日披露,非交易日无数据。这意味着原始序列天然存在周末与节假日缺口,不能简单按自然日填充。板块层面则没有官方“板块融资余额”直接披露,必须由个股数据按成分股聚合得到——这正是“板块匹配”要解决的问题。

二、常见问题:原始数据不能直接聚合

把个股数据加总成板块数据之前,以下几类问题几乎必然出现,需要逐一处理:

  • 停牌与缺失:个股停牌当日无融资数据,若直接跳过,会导致板块成分股数量在时间上不一致,聚合结果出现“假下降”。
  • 标的调入调出:融资融券标的名单会定期调整,某只股票可能中途被调入或调出,造成余额序列出现跳变,而非真实资金变化。
  • 代码与简称变更:股票更名、代码迁移(如北交所、重组)会导致同一标的在不同日期以不同标识出现,直接按简称匹配会漏算。
  • 单位与精度不一致:不同来源可能以“元”“万元”“亿元”混用,或保留小数位不同,聚合前必须统一。
  • 重复记录与异常值:同一日期同一代码出现多条记录,或余额为负、突增数十倍,多为数据拼接或单位错误。
特别注意:融资余额是存量,若某日数据缺失后用前值填充,会人为制造“零变化”;若用后值回填,则会把未来信息带入历史。填充策略必须与后续“变化率”计算口径一致,并在面板中保留“是否填充”标记。

三、清洗与匹配的完整链路

下面这张图把本节的核心处理链路画出来:从原始明细出发,经过标准化、去重与异常处理、成分股映射、交易日对齐,最终形成“日期 × 板块”的融资余额面板。图中同时标出了每一步的关键判断点。

原始融资明细 日期 / 代码 / 简称 融资余额 / 买入 / 偿还 字段标准化 统一单位(元) 日期格式 / 代码补零 去重与异常处理 同键保留最新一条 负值 / 突增倍数标记 成分股映射 个股代码 → 板块代码 处理调入 / 调出 一股票可属多板块 交易日对齐 以交易日历为基准 停牌标记而非删除 保留填充标记列 板块聚合 按板块求和融资余额 记录有效成分股数 板块融资余额面板 日期 × 板块 余额 / 变化率 / 成分数 关键原则:先对齐再聚合,缺失保留标记,成分变动可追溯

四、关键操作细节

1. 标准化。把融资余额统一换算为“元”,日期统一为 YYYY-MM-DD,证券代码统一为 6 位字符串(避免前导零丢失)。这一步看似琐碎,却是后续所有匹配的基础。

2. 去重与异常。以“日期 + 代码”为唯一键,重复记录保留更新时间最新的一条。对余额为负、或单日变化超过合理阈值(例如超过 50%)的记录打标记而非直接删除,留待人工复核——因为标的调入调出也会造成大幅跳变,不能一律当错误。

3. 成分股映射。准备一张“个股代码—板块代码—生效日期”的映射表。同一只股票可能同时属于多个板块(如行业板块与概念板块),聚合时要按板块分别处理。对于中途调入调出的标的,映射表需带生效区间,避免用当前成分回算历史。

4. 交易日对齐。以交易日历为基准左连接,停牌日保留记录并标记 is_suspended=1,融资余额可沿用前值但必须保留填充标记。这样聚合时既能保持时间轴连续,又不会把填充值误当真实变化。

5. 聚合。按“日期 + 板块”对融资余额求和,同时输出当日有效成分股数量。若某板块某日有效成分数明显低于常态,说明数据覆盖不全,该日聚合值应谨慎使用。

五、一个可参考的面板字段设计

清洗完成后,建议面板至少包含以下字段,便于后续做变化率与行情对照:

字段含义示例
trade_date交易日2024-03-15
sector_code板块代码BK0475
fin_balance板块融资余额(元)12860000000
valid_count当日有效成分股数86
chg_rate余额日变化率0.0123
is_filled是否含填充值0

其中 chg_rate 建议用“当日余额 / 前一交易日余额 − 1”计算,且仅在前一交易日有效成分数达标时才计算,否则置空。这样得到的面板,才具备与行情序列做对照分析的可信度。

实践建议:先用一个板块、一个月的数据跑通整条链路,核对“个股余额之和”与“板块聚合值”是否一致,再扩展到全市场。链路正确比数据量大更重要。

完成本节后,你应当得到一张时间连续、成分可追溯、缺失有标记的板块融资余额面板。它是后续计算余额变化、与指数涨跌做对照的基础;如果这一步的口径不统一,后面所有对照结论都会失真。