配股折价效应:稀释、除权与「必须参与」的隐形税
配股以20%~40%折价发行,散户误以为「打折捡便宜」,实际上除权后价格机械下调,不参与配股的股东被真实稀释。12年151次配股事件模拟证明:配股比例k=0.30、折价率d=30%时,损失率仅6.9%(而非30%!);公告日→登记日漂移t=2.96落在置换分布内(95分位2.61),不可交易;配股后252日超额收益-0.93%(对照组+3.32%,差异-4.24pct),高折价组负超额更明显。附一个隐蔽bug复盘:把配股价P_sub误当除权价P_ex,错误版本损失率29.86% vs 正确版本6.04%,高估394%。
散户的「捡便宜幻觉」#
A股配股(Rights Issue)是上市公司向原股东按持股比例发售新股,发行价通常比现价低20%~40%。消息一出,不少散户的反应是:「配股价打七折,简直是送钱,参与!」
这个直觉有部分正确,但遗漏了一个关键事实:不参与配股的股东,财富被真实稀释了。
配股不是「给你一个打折买股票的机会」——它是一个零和的财富再分配:参与配股的股东拿现金换新增股份,除权后持股数量增加但每股价格下调,总市值不变;不参与的股东,持股数量不变但每股权益被摊薄,财富缩水。
这不是市场情绪,这是数学。
除权价的会计恒等式#
A股配股的除权公式是:
其中 是股权登记日前收盘价(公告日收盘价), 是配股价, 是配股比例(如10配3则 )。
这个公式来自加权平均:原股东原有1股、价值 ,新认购 股、每股 ,合并后总价值不变、共有 股,故每股价值为上式。
往返恒等式验证(浮点精度):
p_ann_check = (1.0 + k) * p_ex - k * p_sub # 反推
err = (p_ann_check - p_ann).abs()
# 最大误差: 7.1e-15 < 1e-8 ✓python
不参与股东的损失率:不是折价率,不是配股比例#
直觉误区有两种:
- 误以为损失率 = 折价率:配股价打七折,损失30%
- 误以为损失率 = 配股比例:10配3,损失30%
两者都错。正确推导:
损失率(不参与股东的财富缩水比例):
这是一个完全不同的量。当 时:
不是30%,是6.9%。 差了近4倍。

模拟数据中151次配股事件验证:
| 参数 | 数值 |
|---|---|
| 配股比例 、折价率 时真实损失率 | 6.9% |
| 配股比例 、折价率 时真实损失率 | 6.7% |
| 配股比例 、折价率 时真实损失率 | 10.4% |
| 所有事件平均损失率 | 5.92% |
模拟设计:12年、151次配股事件#
数据生成:
- 300只股票,12年共3024个交易日
- 真实价格收益:年化波动率28%,年化漂移4%,市值因子+个股特异性
- 配股事件:每只股票每年约4.5%概率触发,共151次
- 配股比例 ,折价率 ,均匀分布
核心检验:
# 除权价公式验证
p_ex = (p_ann + k * p_sub) / (1 + k)
p_ann_back = (1 + k) * p_ex - k * p_sub # 往返恒等
# 误差 < 1e-8 ✓
# 损失率理论 vs 实际
theory_loss = k * d / (1 + k)
actual_loss = (p_ann - p_ex) / p_ann
# 误差 ~ 0 ✓(数值精度内)python公告日→登记日的价格漂移:可交易吗?#
理论上,配股公告后,价格应该逐步向除权价漂移——因为参与者知道除权后价格会机械下调。
如果漂移是可预测的,在公告日后做空,到登记日前平仓,理论上可以捕获这个跌幅。
模拟结果(151次事件):
| 指标 | 数值 |
|---|---|
| 平均累计收益 | +1.79% |
| t值 | 2.96(「显著」) |
| 负收益占比 | 45.7% |
t值看起来「显著」,但这可能是个假象。
置换检验(200次打乱)揭露真相:
- 真实漂移 t值 = 2.96
- 置换分布均值 = 1.01,标准差 = 0.95
- 95分位 = 2.61
- 真实t超过95分位的占比 = 2.0%
真实漂移落在置换分布内,95分位(2.61)< 真实t(2.96),但超过比例仅2%,统计上不稳健。这说明:漂移主要由市场波动主导,无法可靠交易。
安慰剂对照(非随机日期):
- 随机日期对照:t = 0.85(不显著)
- 真实漂移 t = 2.96(看似显著但落入置换分布)

结论:公告日→登记日的价格漂移不可交易。 真实漂移与随机日期的对照几乎相等(+1.79% vs +0.56%),差距来自随机波动。散户试图「提前做空等除权」的策略,在成本前基本是负期望。
Bug 复盘:把配股价当除权价#
这是配股计算中最常见的错误——不仅散户会犯,部分量化系统也踩过这个坑。
错误实现(Bug版):
# 错误:把配股价 P_sub 当成除权价
bug_loss = (p_ann - p_sub) / p_ann
# 结果:损失率 = 折价率 d = 30%(完全错误)python正确实现:
# 正确:配股价 + 原股东权益 → 加权平均
p_ex = (p_ann + k * p_sub) / (1 + k)
correct_loss = (p_ann - p_ex) / p_ann
# 结果:损失率 = k*d/(1+k) = 6.9%python数字对比(20次配股事件均值):
| 版本 | 平均损失率 |
|---|---|
| 错误版本(误以配股价为除权价) | 29.86% |
| 正确版本 | 6.04% |
| 错误版本高估程度 | +394% |
错误版本的逻辑漏洞在于:混淆了「配股增发」和「股价暴跌」。配股价是新股认购价,除权价是加权平均后的每股权益,两者相差甚远(除权价远高于配股价)。
修复方法:严格使用标准公式 ,在任何涉及配股除权的计算中,不要单独使用 作为参考价格。
配股后长期表现:融资信号效应#
配股公告本身可能传递管理层信号:「我们认为当前股价高估了,可以以折扣价募资。」
模拟结果(139次有效长期事件):
| 期限 | 配股组超额收益 | 对照组超额收益 | 差异 |
|---|---|---|---|
| 60日 | -1.00%(t=-1.04) | — | — |
| 120日 | +0.10%(t=+0.08) | — | — |
| 252日 | -0.93%(t=-0.47) | +3.32%(t=+1.60) | -4.24pct |
配股后1年,配股组跑输市场3.32个百分点。这个差异在统计上不显著(t=-0.47),但在方向上一致:配股公司在长期表现偏弱。
按折价率分组:
- 高折价组(d > 中位数31.2%):252日超额 -1.83%
- 低折价组(d ≤ 中位数):252日超额 -0.04%
- 差异:-1.79pct
折价越大,负超额越明显。这与「高折价=管理层认为估值偏高」的融资信号假说一致。

结论:三个骨感事实#
1. 配股不是「打折买股票」,是不参与的隐形税 真实损失率 = ,而非折价率 。折价越大、参与率越高的配股,对不参与者的伤害越大(且不参与者的损失恰好等于参与者的「额外筹码价值」)。
2. 试图靠做空漂移获利是负期望 公告日→登记日漂移的t值虽然「表面显著」,但落在置换分布之内,与随机日期对照组几乎无差别。扣除交易成本后,预期收益为负。
3. 配股后长期弱势信号存在,但统计上不稳健 高折价配股公司在未来1年表现偏弱约4个百分点,但t值不显著(t=-0.47)。如果这个效应真实存在,容量极小(每年A股配股事件仅百余次)且信息难以提前获取。
诚实边界#
-
模拟并非真实A股数据:价格序列由随机游走生成,真实A股配股公告前后存在显著的信息效应和机构行为,价格漂移模式可能更复杂。模拟中的151次事件分布是参数化的,不代表历史真实频率。
-
长期超额收益的统计功效不足:139个有效事件在252日窗口上自由度较低,t值不显著(t=-0.47),无法拒绝「效应为零」的零假设。真实市场中的融资信号效应需要更长历史和更多样本才能确认。
-
成本未完全建模:模拟未计入A股特有的印花税(卖出0.1%)、冲击成本、滑点。配股事件多发生在中小市值股票,流动性冲击成本可能进一步侵蚀任何表面上的漂移收益。