算不清收益还怎么投资?谈谈数据复权

发布于: 修改于: 雪球转发:2回复:1喜欢:6

话接上篇网页链接

先提个问题:格力电器近7年的年化收益是多少?

我一直是用东方财富网的终端来看股票数据的,最近在算一些公司的历史收益率,发现和用雪球网上的数据算出来的出入很大,按东方财富的数据算出来的收益率明显偏高,非常具有蒙蔽性。算不清收益还搞什么投资?

举个例子:格力电器(下面提到的复权都是前复权)

按照东财的数据,20130314的复权收盘价是5.4,这样算下来2013-2020的收益率为8.4倍。

在看看雪球网的数据,20130314年的复权价为9.79,这样算下来2013-20的收益率为 5.8倍,差出来近三倍。这是年化30%与年化40%的区别。

横向比较了一下,雪球与tushare上的数据比较接近,通达信和东财的数据接近,通达信用等比复权之后,与tushare的数据变的接近。结论:东财的数据是很有问题的。。

》如下两类:

雪球,tushare,通达信(等比复权)

东财, 通达信(正常设置)

问题来了,究竟是哪里(在什么时间)不一致了呢?

我们把两组数据画出来比较一下:

第二幅图是 tushare - 东财。很明显东财的数据在2015年往前突然变小了,15年之后的都吻合的还不错。

所以,按照东财的数据算出来的收益率偏高。

》 正确的复权的算法是什么呢?

不论是前复权还是后复权,都是分红再买入之后的收益。

复权的基本道理是为了让股价在复权前与复权后的比例保持不变,即:

> price[t] / (price[t+1] * (1 + 配股比例 ) + 分红) = adjprice[t] / adjprice[t+1]

> 距离目前最近的一次分红之后的 adjprice[t] = price[t]。

根据上面两个公式,price[t]是已知的,然后就可以递推得到前面所有时间的adjprice。

正确的复权算法:以中国建筑为例,

1) 分红: 最近的一次分红在20190614,分红0.168。不复权的价格如下:

price[20190614] = 5.73

price[20190613] = 5.92

div = 0.168

这样,我们可以得到20160613(股权登记日的,派息前一天)的复权因子

a1 = (5.73 / (5.73 + div))

复权后的股价 adjprice[20190613] = 5.92 * a1 = 5.75

adjprice[20190614] = 5.73

2) 分红加配股: 再往前数2018年的派息日20180629,每股派息0.215, 并派股0.4股

p[20180629] = 5.46

p[20180628] = 7.73

div = 0.215

这样我们得到20180628日的复权因子:a2

a2 = 5.46 / (5.46 * (1 + 0.4) + 0.215)

复权后的股价 adjprice[20180628] = 7.73 * a1 * a2 = 5.22

adjprice[20180629] = 5.46 * a1 = 5.30。

这样计算出来的与通达信,雪球网的数据是完全一致的。而东财的数据为adjprice[20180628] = 5.20

留个问题:东财的数据具体是怎么算出来的? 为什么在2015年以前的累计误差会突然变大?

结论:看2015年往前的数据,东财不可靠,最好用雪球或者通达信(等比复权设置)。

附录:

@持有封基 的帖子:

网页链接

同时也参考了baostock的说明:

网页链接

中国建筑的数据对比图:(2015年前的差异很明显)

$中国建筑(SH601668)$ @今日话题 @晕娜 @寻道大道 @luckzpz

进入2020以来,疫情的影响通过资本市场被放大,美股高位震荡。2020又是艰难的一年。

但不知为何我有些兴奋。

全部讨论

2020-03-14 15:13

你不点个赞吗