周一早盘,上海某私募(private fund)研究员把一份回测报告甩给你:「2018-2023 沪深300 成分股的低 PE 组合,五年累计收益是 −12%。」你查源数据,发现 ¥10 万元名义本金五年里被 0.05% 印花税(stamp duty, 印花税)摩擦掉的部分不到 ¥600,T+1 结算(T+1 settlement, T+1 结算)也没有禁止换仓节奏——亏损不在交易成本上。再往下查,问题暴露:回测用的是「不复权」价格序列,所有除息日上的价格跳水都被算成了真实下跌。换成「前复权」序列重算,组合五年累计 +47%。本课讲的就是会让上面那个 −12% 出现的所有公司行动(corporate action)类型、它们各自在账户里如何被机械改写、以及回测代码必须如何对齐才能不撒谎。
现金分红的四个日期(Timeline)
现金分红的完整时间线由四个日期串起来:
| 日期 | 含义 |
|---|---|
| 宣告日 declaration date | 董事会决议公告日 |
| 股权登记日 record date | 当日收盘持有者为受益人 |
| 除息日 ex-dividend date | 紧接 record date 的下一交易日 |
| 派息日 payment date | 现金到账日 |
在 A 股语境下,「股权登记日」与「除权除息日」之间没有间隔——除权除息日就是登记日的下一交易日。
为什么除息日开盘价会跳水约一个红利的幅度?无套利论证:除息日开盘买入者,不再享有这次分红的现金权利;如果他不能用更低的价格买进,这笔交易就是亏的。市场反向定价的结果是,除息日开盘价 相对前一日收盘价(含权价) 满足:
其中 是每股现金红利。这个 不是基本面信号,而是账户里钱的物理搬运。
送股、拆股与回购
- 派息(cash dividend):以 ¥/股形式发钱。例:「10 派 5 元」即每 10 股发 ¥5 = 每股 ¥0.5。
- 送股(stock dividend):以股票形式分配。例:「10 送 3」即每 10 股送 3 股,股本扩大 30%,价格相应除以 1.3,市值不变。
- 转增(capitalization from capital reserve):与送股的股本和价格逻辑相同,会计来源不同(资本公积转股本)。
- 拆股 / 反向拆股:A 股极少出现拆股,但科创板等少数案例存在。机制是股本乘子与价格除子互为倒数。
- 股票回购(buyback):上市公司用自有资金从二级市场买入自家股票,可注销减资或转入库存股。CN 公司法 2018 年修订后回购大幅扩张。
EPS 的反应是机械的:分子(净利润)不变,分母(流通股本)按上述比例缩或扩。每股账面价值同向变动。
前复权与后复权:回测代码的核心开关
把上面所有事件叠加到价格时间序列上,回测代码必须把历史价格按一个累计调整因子重算。两个事件类型对应两个乘子:
- 拆股 / 送股比例 (例如 2 送 1 即 ,2 拆 1 即 ):当日历史价格除以 。
- 现金分红 在含权价 上:当日历史价格乘以 。
某根 K 线对应的累计调整因子是其后所有事件的乘子连乘:
Wind / 同花顺 / Choice 提供三种价格序列:前复权(以今为锚,把历史价格按上式连乘下来——回测默认)、后复权(以历史为锚,今后的价格按反向乘子向前推)、不复权(原始价格,仅用于事件研究)。把回测代码挂到「不复权」序列上是绝大多数自制策略亏钱的第一原因。
Formula Explorer
P_cum * (1 - D / P_cum)拖动含权价与分红,观察除息日理论开盘价的对应关系——这是除息日开盘缺口的全部物理。
把上述事件串成一条 5 年时间线
设 2020-01-01 某股票收盘 ¥50。后续事件:
- 2020-06-01 派 ¥1(含权价 ¥50)
- 2021-06-01 派 ¥1(含权价 ¥48)
- 2022-06-01 派 ¥1(含权价 ¥47)
- 2022-12-01 2:1 拆股(拆股前价 ¥60,拆后 ¥30)
到 2024-12-31 看 2020-01-01 那根 K 线的前复权价:
而不复权价仍是 ¥50。这两条曲线讲的不是同一只股票的同一段历史。
CN 红利税与回购约束
CN 现金分红的 个人所得税按持股期分档:持有期短于 1 月按 20%,1 月到 1 年按 10%,长于 1 年按 0%,由券商在派息日代扣。回购方面,沪深交易所要求公司预先报备回购方案,单日成交额受 ADV 比例限制,禁止在开盘集合竞价与重大事项窗口期内交易。
练习
Exercise
某股票在除息日前一日收盘价 50.00 元,董事会已宣告每股现金红利 1.00 元。两个月后股票以 60.00 元价格做 2:1 拆股。计算 (a) 理论除息日开盘价、(b) 拆股后价格、(c) 从今天回看原 50.00 元收盘对应的前复权价格、(d) 该收盘对应的累计调整因子。
提示
提示
通往下一课
你现在能把现金分红的四个日期排成一条时间线,知道为什么除息日开盘会跳水,能在送股、拆股、回购之间区分账户里的机械影响,并能写出前复权 / 后复权 / 不复权三套价格序列的调整因子公式。下一课把单只股票升格为一篮子,进入指数与 ETF 的世界:沪深300 的自由流通市值加权法、中证500 的中盘对标、华泰柏瑞沪深300 ETF(510300.SH)的申购赎回机制,以及一档 ETF 的实际跟踪误差最终从哪里来。