4. 除权除息类型详解
在行情数据清洗与量化回测中,除权除息并不是一个“统一公式”就能覆盖的问题。不同事件对总股本、每股净资产、股东现金、公司现金流的影响方向完全不同,因此前复权、后复权的调整因子也必须分类处理。本节把常见公司行为拆成六类,逐一说明其财务实质、除权参考价计算方式,以及在复权数据处理中的差异。
一、核心原理:除权除息到底在调整什么
除权除息的本质,是让股价在事件发生后“可比”。交易所会在股权登记日的次一交易日,按事件对股价进行技术性下调,这个下调后的价格称为除权除息参考价。复权处理则是反向操作:把历史价格乘以调整因子,使整条价格序列在“同一股本与同一权益口径”下连续。
关键判断依据有三点:总股本是否变化、股东是否付出额外现金、公司净资产是否流出。送股、转增只改变股本结构,不改变股东权益总额;派息是净资产流出;配股、增发是股东或新投资者追加现金;回购注销则减少股本、提升每股权益。理解这三条,才能正确选择复权因子。
通用除权参考价公式(简化):
除权参考价 = (前收盘价 - 每股现金红利 + 配股价 × 配股比例)
/ (1 + 送股比例 + 转增比例 + 配股比例)
不同事件只需把对应项置零或加入,即可得到该情形的参考价。
二、六类情形逐一拆解
1. 送股:股本来自未分配利润
送股是公司将未分配利润转为股本,按持股比例无偿送给股东。股东持股数量增加,但持股比例不变,公司净资产不变。除权参考价按“1 + 送股比例”向下调整。复权时,历史价格需除以该比例因子,成交量则需反向放大,否则量价关系会失真。
2. 转增:股本来自资本公积
转增与送股对股价的影响几乎一致,区别在会计来源:转增来自资本公积,送股来自未分配利润。对复权计算而言,两者可合并为“股本扩张比例”统一处理。实务中常见“10转10”“10送5转5”等组合,需把送股与转增比例相加后再计算因子。
3. 派息:现金流出,净资产减少
派息是公司把现金分给股东,股东获得现金但股价下调。除息参考价 = 前收盘价 − 每股现金红利。复权时,现金红利需按税率还原:A股个人投资者股息红利实行差别化个税,持股期限不同,实际到手现金不同,前复权因子应使用税后红利,否则长期回测收益会被高估。
4. 配股:股东追加现金,股本增加
配股是向原股东按比例、低于市价发行新股。股东需额外缴款,因此除权参考价中要加入“配股价 × 配股比例”。若股东放弃配股,其持股比例会被稀释,实际成本上升。复权处理时,配股因子必须同时考虑配股比例与配股价,不能只按股本扩张处理。
5. 增发:面向特定或不特定对象
增发分为定向增发与公开增发。定向增发不直接除权,但会改变总股本与每股收益,影响复权口径;公开增发类似配股,但原股东无优先认购权。数据实践中,增发通常不产生交易所除权参考价,但量化回测若使用“总市值加权”或“每股指标”,必须同步调整股本数据。
6. 回购注销:股本减少,每股权益提升
回购注销与前面五类方向相反:公司用现金回购并注销股份,总股本减少,每股净资产和每股收益被动提升。交易所一般不设除权参考价,但复权因子应体现股本缩减。若忽略回购注销,历史每股收益与股价序列会出现隐性断层。
| 类型 | 股本变化 | 现金流动 | 是否除权除息 | 复权因子关键项 |
|---|---|---|---|---|
| 送股 | 增加 | 无 | 是 | 1 + 送股比例 |
| 转增 | 增加 | 无 | 是 | 1 + 转增比例 |
| 派息 | 不变 | 流出 | 是 | 每股税后红利 |
| 配股 | 增加 | 流入 | 是 | 配股价 × 配股比例 |
| 增发 | 增加 | 流入 | 通常否 | 股本调整、每股指标重算 |
| 回购注销 | 减少 | 流出 | 通常否 | 股本缩减比例 |
三、方法流程:从事件表到复权因子
工程上建议按以下顺序处理,避免因子叠加错误:
- 从公告或数据接口获取除权除息事件表,字段至少包含:代码、除权除息日、送股比例、转增比例、派息金额、配股比例、配股价。
- 按除权除息日排序,逐条计算单次调整因子。
- 对同一日多事件合并,先合并股本扩张项,再处理现金项。
- 用累积乘积生成后复权因子,再取倒数得到前复权因子。
- 价格与成交量分别应用因子,成交量因子通常为价格因子的倒数。
# 单次除权因子计算示例
prev_close = 20.00
dividend = 0.50 # 每股税后现金
send = 0.30 # 送股比例
transfer = 0.20 # 转增比例
rights = 0.10 # 配股比例
rights_px = 8.00 # 配股价
factor = (prev_close - dividend + rights_px * rights) / \
(1 + send + transfer + rights)
# factor ≈ (20 - 0.5 + 0.8) / 1.6 = 12.6875
四、案例与复盘:一个组合事件的坑
某股票公告“10送2转3派1元,同时10配2,配股价6元”。若只按送转处理,因子会偏大,前复权价格被高估。正确做法是把送股0.2、转增0.3、配股0.2合并到分母,现金0.1与配股项放入分子。复盘时常见三类错误:
- 把送股与转增重复计算:两者都增加股本,应相加而非相乘。
- 用税前红利做前复权:长期序列会系统性高估收益。
- 忽略配股缴款:只调股本不调现金,导致复权价与真实成本偏离。
实操建议:把每类事件写成独立函数,输入统一事件对象,输出价格因子与量因子。这样新增“回购注销”等情形时,只需扩展函数,不必改动主流程。
注意:增发与回购注销多数情况下不产生交易所除权参考价,但会改变总股本与每股指标。若策略使用每股收益、每股净资产或市值加权,必须单独维护股本时间序列,不能只依赖行情接口的复权价。