4. 除权除息机制
在上一节中,我们已经理解了公司行动会改变股票的价格基准与股本结构。本节聚焦一个更具体、也更常被量化开发者忽视的问题:当上市公司实施分红送转时,交易所究竟在哪一天、按什么公式调整股价?如果搞不清股权登记日、除权除息日、派息日之间的关系,复权因子就会算错,历史价格序列也会出现无法解释的跳空。
一、核心原理:四个关键日期构成一条时间轴
一次典型的现金分红或送转股,会涉及四个关键日期。它们不是同一天,而是按固定顺序排列:
- 预案公告日:董事会首次披露分红送转预案,此时方案尚未生效,股价不调整。
- 股权登记日:收盘后仍持有该股票的股东,才有资格获得本次分红或送转。这是“谁有份”的判定时点。
- 除权除息日:通常是登记日的下一个交易日。从这一天开盘起,股票价格按除权除息价重新计算,市场看到的“昨收价”被替换为调整后的基准价。
- 派息日:现金红利实际划入股东账户的日期,通常在除权除息日之后若干天。它影响资金到账,但不改变除权除息日的价格调整。
二、除权除息价计算公式
除权除息价是交易所给出的“理论调整价”,用于替换除权除息日的昨收价。它同时处理现金分红和送转股,通用公式如下:
除权除息价 = (股权登记日收盘价 - 每股现金红利 + 配股价 × 配股比例)
/ (1 + 每股送股比例 + 每股转增比例 + 配股比例)
如果只有现金分红,没有送转和配股,公式简化为:
除权除息价 = 股权登记日收盘价 - 每股现金红利
如果只有送转股,没有现金分红,则简化为:
除权除息价 = 股权登记日收盘价 / (1 + 每股送股比例 + 每股转增比例)
这里的“每股”均以每股面值1元的普通股为基准。例如“10派3元”意味着每股现金红利0.3元;“10送2转3”意味着每股送股0.2股、转增0.3股,合计每股增加0.5股。
三、案例场景:一次“10派3送2转3”的完整推演
假设某股票股权登记日收盘价为20元,方案为“10派3元送2股转3股”。我们按步骤计算:
- 每股现金红利 = 3 ÷ 10 = 0.3元
- 每股送股比例 = 2 ÷ 10 = 0.2
- 每股转增比例 = 3 ÷ 10 = 0.3
- 除权除息价 = (20 - 0.3) ÷ (1 + 0.2 + 0.3) = 19.7 ÷ 1.5 ≈ 13.13元
除权除息日开盘时,交易所会把昨收价从20元调整为13.13元。如果当天开盘直接涨停,涨停价将基于13.13元计算,而不是20元。这就是为什么在行情软件中,除权除息日会出现一个巨大的向下跳空缺口——它并非真实下跌,而是价格基准被重置。
四、关键日期与复权因子的对应关系
下面这张表把日期、事件与复权处理动作对应起来,便于在代码中定位因子生效时点:
| 日期 | 事件 | 价格是否调整 | 复权因子处理 |
|---|---|---|---|
| 预案公告日 | 方案披露 | 否 | 不生成因子 |
| 股权登记日 | 确定股东资格 | 否(收盘价仍为原价) | 记录登记日收盘价 |
| 除权除息日 | 价格基准重置 | 是(昨收变为除权除息价) | 因子在当日生效 |
| 派息日 | 现金到账 | 否 | 不影响因子 |
在实战数据中,除权除息日才是复权因子切换的“开关”。很多初学者误把股权登记日当作调整日,导致因子提前一天生效,回测收益出现系统性偏差。
五、常见误区与复盘
误区一:把派息日当作价格调整日。派息日只是现金到账,价格早在除权除息日就已调整。若在派息日才切换因子,会漏掉除权日当天的跳空。
误区二:忽略配股对公式的影响。配股会带来现金流入,公式中分子要加回“配股价×配股比例”,否则除权除息价会被低估。
误区三:用除权除息日的开盘价反推因子。开盘价受市场供需影响,可能偏离理论除权除息价。正确做法是用登记日收盘价和方案计算理论价,再与交易所公布的除权参考价核对。
复盘时建议按以下清单逐项检查:
- 是否拿到了完整的“每股现金红利、送股比例、转增比例、配股比例、配股价”字段?
- 股权登记日与除权除息日是否成对出现,且除权日通常为登记日的下一交易日?
- 因子生效日是否严格落在除权除息日,而非登记日或派息日?
- 对于同时含现金分红和送转的方案,是否使用了完整公式而非简化公式?
- 前复权与后复权的方向是否与基准日选择一致?
掌握这四个日期和除权除息价公式,是后续编写复权因子计算逻辑的基础。只有日期对齐、公式正确,历史价格还原才不会在除权日附近产生虚假的收益或亏损。