复权不复权,天差与地别

您所在的位置:网站首页 看历史走势要看不复权还是前复权 复权不复权,天差与地别

复权不复权,天差与地别

2023-09-10 04:50| 来源: 网络整理| 查看: 265

引言:      

 邢不行的系列帖子“量化小讲堂”,通过实际案例教初学者使用python进行量化投资,了解行业研究方向,希望能对大家有帮助。          

【历史文章汇总】 请点击此处

观前提醒:本文计算较多,建议备好草稿纸。

经常有朋友问我股票复权相关的问题。

通过这些提问,我发现大家对复权是真的不了解,比如:

1 复权是什么,前复权、后复权又是什么?

2 到底怎么计算准确的复权价?

3 不同软件的复权价怎么不一致?

4 期货数据需要复权吗?

………………

本文就针对这些问题,完完整整的讲清楚股票复权的所有细节。并附上计算代码,尽量让大家能100%理解。

01

暴跌的股价

我们从两个案例开始:

xx药业4月17日暴跌39.29%xx科技4月9日暴跌46.83%

上面两只股票在一天内的跌幅都远超过了A股10%的限制。暴跌的当天发生了什么?

我查了一下这两家企业在当天的公告:

xx药业公告

分红:每10股派1.35元。

转增:每10股转增6股。

xx科技公告

分红:每10股派5元。

转增:每10股转增8股。

什么是分红和转增?它们又是怎么影响股价的?我举两个例子说明。

1 分红案例

分红就是派发现金,A公司每10股派10元,意味着你每持有10股股票,就会给你10元现金。

假设你在分红前持有A公司股票10000股,每股股价10元,分红前你的总资产是10万元。

分红后会变成什么样呢?看下图:

分红后首先你额外得到了1万元的现金,但别开心的太早,你持有股票的股价也会自动从10元调整为9元。

因为股价反映了公司的价值,公司把一部分钱分给你了,价值自然就变低了。

所以你的总资产还是10万元(9万元股票+1万现金),并未发生变化。

而股价从10元变为9元,表面上看跌了10%,但你的总资产并未亏损,所以并不能认为股价下跌10%,真实涨跌幅应该是0%。

2 拆股的案例

再来看一个拆股的案例:特斯拉在今年6月的公告中称,要对公司股票进行拆分,把原来的1股拆成5股。

特斯拉拆股当日K线

拆股和转增股份差不多,都会让整体股票变多。

假设在拆股的前一天,你持有1万股的特斯拉,每股价格2200元,那总价值就是2200万。拆股之后会有什么变化呢?看下图:

拆股之后,你手上持有的特斯拉就会从1万股变为5万股。

但千万别觉得你的资产瞬间翻了5倍,因为股价也会自动调整为原来的1/5。即你的总资产没有发生任何变化。

在拆股后股价从2200元变为440元,看似暴跌了80%?其实不然,你的总资产始终都是2200万,没有发生任何变化,所以股价的变化其实是0%。

3 分红送股的影响

通过以上的两个例子我们知道,分红、送股、拆股、配股等行为都会导致股价的异常变动,但资产的实际价值并未发生变化。

股价悬崖式下跌,实际资产并未发生变化

但是股价的异常会对投资造成很大的影响,比如我想看看特斯拉从上市到现在涨了多少,就不能简单的用现在的价格/上市的价格。

价格异常对我们量化投资也会有很大的影响。

股价的剧烈变动会影响很多我们经常使用的财务指标或量价指标。比如下图中,特斯拉在拆股之后,常见的RSI指标和布林指标就发生了明显的异常。

股价变动导致RSI指标和布林指标异常

如果这时我们继续用异常的指标来分析走势或开平仓,显然是不明智的。

为了避免这种价格“暴跌”的影响,我们需要对股票的价格进行修复,这一过程就叫做复权。

利用复权后的股价来重新计算各类指标,才能避免指标异常,导致错误的决策。

复权前复权后

02

前复权与后复权

复权被分为前复权和后复权,很多同学不清楚两者的区别。

先来看一张K线图:

分红送股当日,股价暴跌46.8%(蓝线部分),以这一日为界限,K线图分为分红送股前和分红送股后的两个部分。

我们都知道股价的跌幅其实没有那么夸张,所以需要对K线(股价)进行修正。

以什么作为修正的基准呢?

如果我们以分红送股后的股价作为基准,将分红送股前的股价整体往下移动,对股价进行修正,这个过程就被称为前复权。

前复权

如上图所示,在复权前,涨跌幅为-46.8%,将分红送股前的K线整体向下移动后,涨跌幅被修正为-3.3%。

后复权也是通过移动股价来实现价格修复的,只不过后复权是将分红送股后的K线整体向上移动。

后复权

如上图所示,复权前的涨跌幅为-46.8%,将分权送股后的K线整体向上移动后,涨跌幅被修正为-3.3%。

看到这你应该明白什么是前复权和后复权了,前复权其实就是对分红送股前的股价进行修正,后复权是对分红送股后的股价修正。

并且细心的同学已经发现,不管是前复权还是后复权,它们修复的其实是分红、送股当天的涨跌幅,而不是股价,准确的涨跌幅才是复权的核心所在。

03

如何计算涨跌幅

正因为复权的核心是涨跌幅,所以想要正确地计算复权价,首先要计算复权当日的涨跌幅。

此时就需要一个关键的数据“前收盘价”来帮助我们。

很多同学可能不知道什么是“前收盘价”,我们来看一个例子:

这是一组包含前收盘价的股票数据。顾名思义,前收盘价就是前一天的收盘价。

图中可见,4月3日到4月8日的前收盘价都等于前一个交易日的收盘价。

但是4月9日的前收盘是26.90,而上一个交易日的收盘价是48.92,两者相差甚远,这是为什么呢?

这是因为股票在4月9号发生了分红送股等行为,导致股价自然回落。那应该回落到多少呢?

此时交易所会根据分红送股的内容计算出一个价格并公布出来,我们称这个价格为前收盘价,4月9号的26.90就是前收盘价。

有了交易所官方提供的“前收盘价”,第二天的交易在这个基础上就可以继续进行了。

并且通过这个价格,我们简单地套用公式:

涨跌幅 = (收盘价 - 前收盘价) / 前收盘价

就能计算出当日的涨跌幅:

所以如果你拿到的股票数据没有包含前收盘价这个字段,那基本上是不能使用的。

我平时自己使用的交易数据就包含了前收盘价:

包含前收盘价的数据

这份数据包含了从90年至今A股所有股票的历史数据,4000+只股票,大小1GB,如果需要可以私信我获取。

有些数据虽然没有前收盘价,但是也直接提供了涨跌幅。不过在使用这些数据的时候一定要检查一下涨跌幅是否有误,尤其是分红送股当天。

比如下图中4月9号的数据明显就存在错误。

涨跌幅数据一定要验证是否有误

04

如何计算复权价

有了涨跌幅之后,应该如何计算复权价呢?我们需要引入“复权因子”的概念。

复权因子可以理解为,在一只股票刚发行的时候买入1块钱(假设)。之后随着市场波动,这一块钱的价值每天都在发生变化,这个价值就是这只股票的复权因子。

复权因子的涨跌幅和股价的涨跌幅(修正后)是一致的,所以我们可以利用:

复权因子 = (1 + 涨跌幅)  × 前一交易日复权因子

计算复权因子:

上图中4月2日涨跌幅为10.01%,如果我们买入1元,那么在收盘后就变为1.1001元,也就是复权因子的大小。

第二天的涨跌幅为10%,收盘后的价值是在1.1001的基础上上涨的,所以变为1.21011。以此类推,将之后的涨跌幅累乘就能得到复权因子。

有了复权因子就能计算复权价了,不过复权价分为前复权价和后复权价,我们分开来讲。

1 前复权价格

先回忆一下这张图:

前复权

前复权其实是将分红送股前的K线整体下移,这意味着最近一个交易日的价格是固定不变的。

所以4月13号的收盘价就等于前复权收盘价,只要在这个基础上往前修复价格就可以了。

因为复权因子是对每日涨跌幅的刻画,所以复权价的涨跌幅和复权因子的涨跌幅是相同的,这意味着:

我们将上面的公式稍作变换就能得到:

等式右边的都是已知项,因此可以计算出前复权收盘价:

例如上图中4月10日的前复权价格就是这么计算的:

1、先用4月13日的前复权收盘价除以复权因子得到固定值:

23.65 / 1.087465 ≈ 21.748

2、将21.748与4月10日的复权因子相乘,得到当天复权价:

21.748 × 1.208429 ≈ 26.28

其他日的前复权收盘价只要用复权因子乘以常数C就能计算出来了。

聪明的同学可能已经发现,前复权价其实就是把复权因子等比例放大了21.748倍。

2 后复权价格

后复权价的计算方法也类似。

后复权将分红送股后的价格整体上移,所以最早交易日(4月2日)的价格是不变的,收盘价等于后复权收盘价:

对于后复权,存在以下关系:

对这个公式稍作变换:

等式右边的三项都是知道的,所以后复权的收盘价也可以算出来:

05

总结

看到这里大家应该明白,只要计算出复权因子,不管是前复权价格还是后复权价格,只不过是复权因子的等比例放大或缩小。

不过还是有很多同学会问,已经知道收盘价的复权价如何计算,那开盘价、最高价、最低价的复权价该怎么计算呢?

问这个问题的同学请自觉面壁思过5分钟,因为这个问题只要稍微思考下就能知道答案。

复权只是对股票价格做整体抬升,每根K线开高收低之间的比例并不会改变。

开盘价、最高价、最低价复权计算公式

例如上图中7月30号的复权开盘价就可以这么计算:

已知开盘价=10.51,收盘价=10.4,收盘价复权=10.97

则开盘价/收盘价=10.51/10.4=1.0106

由于 开盘价/收盘价=开盘价复权/收盘价复权

所以开盘价复权=收盘价复权×1.0106

开盘价复权=10.97×1.0106=11.86

同理,我们只要按照比例对其他价格进行缩放就能得到其他的复权价格了。

我也为大家准备好了计算复权的代码,方便大家在处理数据的时候使用:

计算复权的代码计算复权后的数据

邢不行:【邢不行|量化小讲堂系列45-实战篇】关于股票市值:99%投资者不知道的坑,你知道吗?

邢不行:【邢不行|量化小讲堂系列44-实战篇】历年排名前10的基金,在第2年表现如何?Python告诉你答案

邢不行:【邢不行|量化小讲堂系列43-实战篇】:在量化投资中,原来K线还能这么画(附画K线代码)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3