1. 课程导入

在量化投研、行情回测与数据工程中,价格序列的“连续性”往往比价格本身更重要。很多初学者第一次接触股票历史行情时会遇到一个困惑:某只股票昨天收盘还是 30 元,今天开盘却变成 15 元,K 线图上出现一个巨大的向下跳空,但公司经营并没有发生任何恶化。这通常不是市场暴跌,而是发生了公司行动(Corporate Action),例如送股、转增、拆股或分红。若直接使用未调整的价格做回测,收益率、波动率、均线、动量因子都会被严重污染。因此,理解公司行动与复权因子,是数据接入与因子计算的第一道门槛。

一、核心定义:公司行动与复权因子

公司行动是指上市公司在二级市场之外,因股本、股东权益或现金流发生变化而实施的、会影响股票价格与持仓数量的行为。常见类型包括:

  • 股本变动类:送股、转增股本、拆股、并股。这类行动不改变股东总权益,但会改变每股价格与持股数量。
  • 现金分配类:现金分红、特别股息。除息日股价会向下调整,股东获得现金。
  • 权利类:配股、增发、可转债转股。可能涉及除权价格与配股比例。
  • 其他类:股票合并、分拆上市、换股吸收合并等。

复权因子是用于把“除权除息后的真实成交价”还原为“可比价格序列”的乘数。它本质上是一个比例系数,使得调整后的价格在除权日前后保持连续。复权分为前复权与后复权:前复权以当前价格为基准向前调整,适合看盘与近期分析;后复权以上市首日为基准向后调整,适合长周期回测与因子计算。两者数学上只差一个常数倍,但使用场景不同。

关键公式(简化):除权除息参考价 = (前收盘价 − 每股现金红利 + 配股价 × 配股比例) ÷ (1 + 送股比例 + 转增比例 + 配股比例)。复权因子 = 前收盘价 ÷ 除权除息参考价(后复权方向)。

二、为什么必须接入复权因子:一个真实场景

假设某股票在 2023 年 6 月 1 日收盘 40 元,6 月 2 日实施“每 10 股送 10 股”,除权后理论开盘价约 20 元。若数据表中只记录原始成交价,6 月 2 日收盘 20.5 元,那么直接计算日收益率会得到 (20.5 − 40) / 40 = −48.75%,这显然是错误的。正确的后复权处理是:将 6 月 1 日及之前的价格乘以复权因子 2,得到 80 元,则 6 月 2 日收益率约为 (20.5 × 2 − 80) / 80 = 1.25%,与真实市场表现一致。

在因子计算中,动量因子、反转因子、均线偏离、波动率等都对价格连续性极度敏感。一个未复权的价格序列,会在除权日产生虚假的“极端收益”,导致因子值失真、回测收益虚高或虚低,甚至触发风控误判。因此,复权因子不是可选项,而是行情数据接入的必备字段。

公司行动 → 复权因子 → 连续价格序列 数据链路 公司行动事件 送股 / 转增 / 拆股 现金分红 / 配股 除权除息日、比例 复权因子计算 前收盘价 / 参考价 累计因子链 前复权 / 后复权 连续价格序列 调整后 OHLC 收益率 / 因子 回测与风控 数据接入关键字段清单 • 证券代码、交易日期、除权除息日 • 送股比例、转增比例、配股比例、配股价 • 每股现金红利、复权因子、前收盘价、除权参考价 • 复权方向:前复权 / 后复权 / 不复权 • 数据版本、更新时间、数据源标识 • 异常标记:缺失、重复、比例冲突

三、整体课程框架与学习目标

本课程共 30 章,围绕“数据接入—因子计算—质量校验—工程落地”四条主线展开。第 1 部分建立概念与数据模型;第 2 部分讲解公司行动事件的采集、解析与存储;第 3 部分深入复权因子算法、前复权与后复权实现;第 4 部分进入实战,包括批量接入、增量更新、异常处理与回测验证;第 5 部分讨论多数据源对齐、性能优化与生产环境部署。

模块 核心内容 学习目标
概念与模型 公司行动分类、复权因子定义、价格连续性 能准确区分除权、除息与复权,理解因子数学含义
数据接入 事件表结构、字段映射、多源对齐 能设计并实现公司行动数据表与接入管道
因子计算 前复权、后复权、累计因子链 能独立编写复权因子计算与价格调整代码
质量与实战 异常检测、回测验证、增量更新 能定位并修复复权错误,保障因子数据质量

四、常见误区与复盘要点

误区一:用前复权价格做长周期回测。前复权价格会随最新除权事件不断变化,历史价格被“重写”,导致回测结果不可复现。长周期回测应使用后复权或原始价格加因子。

误区二:只处理送股,忽略现金分红。现金分红同样会造成除息缺口,尤其在高股息策略中影响显著。

误区三:复权因子直接相乘而不检查事件顺序。多个公司行动叠加时,必须按除权除息日排序并逐日累计,否则因子链会错位。

复盘建议:接入完成后,随机抽取 20 只发生过公司行动的股票,对比除权日前后调整后收益率与行情软件是否一致;同时检查复权因子在无事件日是否保持为 1 或恒定,避免“因子漂移”。