谈如何用分红送股数据对股价复权

​ 发现在东方财富上,2023-02-27日格力前复权的收益率为-0.98%,后复权的收益率为-0.65%,收盘价为6934.02,不同复权方式收益率存在较大差异,与我的直觉不符合。于是和新浪财经的数据进行比较,2023-02-27日格力前复权的收益率为-0.98%,后复权的收益率为-0.98%,后复权的收盘价为7410.91,两个平台后复权的收盘价存在较大差异。 ​ 两个平台格力1996-11-19日(上市第二天)的收益率数据如下表所示。

东方财富 新浪财经
前复权 -0.06% -2.40%
后复权 -2.40% -2.40%
不复权 -2.40% -2.40%

​ 收集两个平台格力2023-02-27日(最近一次除权除息日)的收盘价和收益率如下表所示,上方的表格来自于东方财富,下方的表格来自于新浪财经。显然新浪财经的复权方式更符合常理,同一天前后复权的收益率是一致的。而东方财富的历史收益率会随着除权除息而发生变动,东方财富越早的数据,后复权收益率与不复权收益率越接近,前复权收益率与不复权收益率差距越大;越新的数据,后复权收益率与不复权收益率差距越大,前复权收益率与不复权收益率越接近。

2023-02-23 2023-02-24 2023-02-27
前复权 36.03(2.71%) 35.56(-1.30%) 35.21(-0.98%)
后复权 7040.93(1.79%) 6979.65(-0.87%) 6934.01(-0.65%)
不复权 37.03(2.63%) 36.56(-1.27%) 35.21(-0.98%)
2023-02-23 2023-02-24 2023-02-27
前复权 36.02(2.63%) 35.56(-1.27%) 35.21(-0.98%)
后复权 7581.46(2.63%) 7485.24(-1.27%) 7410.91(-0.98%)
不复权 37.03(2.63%) 36.56(-1.27%) 35.21(-3.69%)

​ 使用格力不复权的收盘价按照如下规则复权后计算日收益率发现,格力的两次增发,新浪财经并未对其除权,转增股和送红股除权当日收益率与我的计算结果一致,分红的计算结果存在一些差异,而配股应该根据是否申购决定是否除权,因为历史数据主要用于回测,故不对其除权,所以配股上市当日收益率也与新浪财经的不一致。并且所有结果均与东方财富的不一致。

分红当日复权后的日收益率:

$$(p_t-p_{t-1}+d)/p_{t-1}$$

转增股和送红股当日复权后的日收益率:

$$((1+s)*p_t-p_{t-1})/p_{t-1}$$

分红送股当日复权后的日收益率:

$$((1+s)*p_t-p_{t-1}+d)/p_{t-1}$$

其中:$p_{t-1}$为除权除息日前一天不复权的收盘价,$p_{t}$除权除息日当天不复权的收盘价,$d$为每股分红,$s$为每股送股率。

​ 在格力除权除息日进行复权复息后的日收益率如下表所示。其中类型列,1代表分红,2代表送股转增股,3代表分红分股,8代表配股,16代表增发。

除权除息日期 类型 修正后的收益率
1996-12-30 2 0.090629371
1997-11-18 1 -0.020771513
1998-04-21 8 -0.054221971
1998-09-11 2 0.021605762
1999-06-21 1 0.011904762
2000-06-13 1 0.004091175
2000-08-04 8 -0.017586416
2001-06-05 3 -0.012012814
2002-06-13 1 -0.018669778
2003-06-27 1 -0.023836663
2004-06-30 1 0.004748243
2005-04-08 1 0.029126106
2006-03-08 2 -0.051217799
2006-07-11 3 -0.027942143
2007-12-21 16 0.004456328
2008-07-14 3 -0.031852473
2009-06-03 3 -0.030991051
2010-07-13 3 -0.030861244
2011-05-31 1 0.015420561
2012-02-03 16 0.002688172
2012-07-06 1 0.020465116
2013-07-11 1 0.021251932
2014-06-06 1 -0.005462725
2015-07-03 3 -0.094546076
2017-07-05 1 0.029846978
2019-02-25 1 0.038256228
2019-08-06 1 -0.010381276
2020-06-11 1 -0.019729333
2020-11-12 1 0.023704604
2021-08-23 1 0.040997831
2022-04-08 1 0.003929867
2022-08-05 1 0.017723881
2023-02-27 1 -0.009573304

​ 后复权的收盘价计算公式如下,可以看出此种方法计算出的复权价格仅与日收益率有关,即复权因子仅与真实收益率有关,最后算出格力2023-02-27的后复权收盘价为6079.91,与两个平台的数据均存在较大出入,而事实上各个主流行情网站(包括东方财富、新浪财经、雪球、同花顺)复权后的结果均存在差异。

$$p_{hc,t}=p_1\prod\limits_{i=2}^{t}(1+r_i)$$

其中:$p_{hc,t}$为第$t$天后复权的收盘价,$p_{1}$为第$1$天不复权的收盘价,$r_{i}$为经除息除权修正后的日收益率。

​ 后复权的最高价计算公式如下:

$$p_{hh,t}=p_{hc,t-1}*s_t$$

其中:$p_{hh,t}$为第$t$天后复权的最高价,为$p_{hc,t-1}$前一天后复权的收盘价,$s_{t}$为经除息除权修正后的涨跌幅。