4. 数据基础与预处理实战
题材一致性分析的本质,是把“价格与成交行为”和“题材叙事与资金态度”放在同一时间轴上比较。行情、资金、舆情、公告四类数据来源不同、频率不同、口径不同,直接拼接会得到大量伪信号。本节围绕一条可复现的处理链展开:先明确每类数据的原始形态与清洗要点,再解决时间对齐与缺失值问题,最后构建能直接用于一致性判断的特征。
四类数据的原始形态与清洗要点
行情数据通常来自日线或分钟线接口,字段包括开高低收、成交量、成交额、换手率、涨跌幅。清洗重点是:剔除停牌日与一字板造成的失真样本、复权处理(做跨期比较必须用前复权或后复权统一口径)、以及涨跌幅字段与收盘价自算值的一致性校验。资金数据常见口径有主力净流入、大单净额、北向持股变动等,不同数据商对“大单”的阈值定义不同,跨源混用前必须固定单一来源,并注意单位(万元/亿元)与正负号约定——本文统一约定:净流入为正表示买入金额大于卖出金额。
舆情数据一般是从新闻、股吧、研报中抽取的文本,需要先做去重(同一稿件多平台转载)、去广告与免责声明、时间戳归一(统一到交易日或自然日)、以及题材标签映射。公告数据则要区分定期报告、临时公告、问询函、减持与增持等类型,并提取“公告日”与“事件影响日”——很多公告在收盘后发布,其影响应计入下一交易日。
时间对齐:把不同频率的数据放到同一根轴上
行情是交易日频率,资金多为日频但可能缺交易日,舆情是事件流(一天可能多条也可能没有),公告是稀疏事件。对齐策略建议以交易日历为主轴:
- 行情与资金:按交易日左连接,非交易日不生成行;停牌日保留行但标记
is_suspended=1,后续特征计算时排除。 - 舆情:按交易日聚合,统计当日提及该题材的新闻条数、情感均值、去重后独立来源数;无舆情的交易日填 0 而非空值,因为“没有讨论”本身是信息。
- 公告:提取公告日,若发布时间晚于 15:00 则影响日顺延至下一交易日;同一影响日多条公告取类型优先级最高的一条作为主事件。
对齐后应做一次覆盖度检查:统计每个交易日在四个数据源上同时有值的比例。若某源在区间前段大面积缺失,说明该源接入时间较晚,应截断样本起点而不是强行填补。
缺失值处理:区分“没有发生”和“没有采集到”
缺失值必须分类处理,这是最容易出错的一步。舆情条数为空,多数情况是“当日无相关讨论”,应填 0;资金净流入为空,若当日停牌则填 0 并标记停牌,若不停牌而缺失,则属于采集缺失,宜用前值填充但限制最多连续填充 2 个交易日,超过则标记为不可用。行情价格缺失几乎只应出现在停牌,禁止用插值伪造价格,否则会污染收益率计算。
# 示例:按交易日对齐后的缺失处理(示例参数,非实测结果)
df["sentiment_cnt"] = df["sentiment_cnt"].fillna(0)
df["fund_net_in"] = df["fund_net_in"].fillna(method="ffill", limit=2)
df.loc[df["is_suspended"] == 1, "fund_net_in"] = 0
df["price_ret"] = df["close"].pct_change() # 停牌日收益记 0 并单独标记
特征构建:从原始字段到一致性判断指标
一致性分析需要的是“题材热度”与“价格/资金响应”的配对特征。建议构建三类:
题材热度类:舆情条数的 5 日滚动均值 sent_ma5、情感均值 sent_score、独立来源数 src_cnt、公告事件强度(重大合同/中标记 2,一般经营公告记 1,无公告记 0)。价格响应类:当日涨跌幅、5 日累计涨幅、相对行业指数的超额收益 excess_ret、换手率分位。资金响应类:主力净流入占成交额比例 fund_ratio、连续净流入天数。
核心一致性特征可定义为:题材热度标准化值减去价格响应标准化值,得到“热度—价格背离度”。背离度持续为正且扩大,意味着题材被反复讨论但价格未跟上,属于需要警惕的过热前兆;背离度为负则可能是题材尚未被充分定价。所有标准化都应使用滚动窗口(如 20 日)的均值与标准差,避免使用全样本统计造成未来信息泄露。
一次完整的处理示例与结果判读
假设某题材在 20 个交易日内舆情条数从日均 3 条升至 18 条,sent_ma5 标准化值达到 +2.1;同期该题材指数 5 日累计超额收益仅 +0.8%,标准化值 +0.4;主力净流入占成交额比例由 2% 降至 -1%,标准化值 -0.6。此时热度—价格背离度约为 +1.7,热度—资金背离度约为 +2.7。解读上,舆情快速升温但价格响应温和、资金反而流出,说明讨论热度可能来自媒体扩散而非增量资金推动,属于典型的一致性走弱信号,应结合公告事件强度确认是否有实质催化:若公告强度为 0,则过热风险判断权重上调。
需要强调的是,上述数值为教学示例,用于说明计算与判读逻辑,不代表任何真实标的的实测结果。实际使用时,标准化窗口、滚动均值长度、背离度阈值都应通过历史样本回看校准,并记录每次调整的参数版本,保证分析过程可追溯、可复现。