观前提醒:本文计算较多,建议备好草稿纸。
经常有朋友在微信上问我股票复权相关的问题。
通过这些提问,我发现大家对复权是真的不了解,比如:
壹 复权是什么,前复权、后复权又是什么?
贰 到底怎么计算准确的复权价?
叁 不同软件的复权价怎么不一致?
肆 期货数据需要复权吗?
………………
本文就针对这些问题,完完整整的讲清楚股票复权的所有细节。并附上计算代码,尽量让大家能壹零零%理解。
零壹
暴跌的股价
我们从两个案例开始:
xx药业肆月壹柒日暴跌叁玖.贰玖%标题xx科技肆月玖日暴跌肆陆.捌叁%
上面两只股票在一天内的跌幅都远超过了A股壹零%的限制。暴跌的当天发生了什么?
我查了一下这两家企业在当天的公告:
xx药业公告
分红:每壹零股派壹.叁伍元。
转增:每壹零股转增陆股。
xx科技公告
分红:每壹零股派伍元。
转增:每壹零股转增捌股。
什么是分红和转增?它们又是怎么影响股价的?我举两个例子说明。
壹 分红案例
分红就是派发现金,A公司每壹零股派壹零元,意味着你每持有壹零股股票,就会给你壹零元现金。
假设你在分红前持有A公司股票壹零零零零股,每股股价壹零元,分红前你的总资产是壹零万元。
分红后会变成什么样呢?看下图:
分红后首先你额外得到了壹万元的现金,但别开心的太早,你持有股票的股价也会自动从壹零元调整为玖元。
因为股价反映了公司的价值,公司把一部分钱分给你了,价值自然就变低了。
所以你的总资产还是壹零万元(玖万元股票+壹万现金),并未发生变化。
而股价从壹零元变为玖元,表面上看跌了壹零%,但你的总资产并未亏损,所以并不能认为股价下跌壹零%,真实涨跌幅应该是零%。
贰 拆股的案例
再来看一个拆股的案例:特斯拉在今年陆月的公告中称,要对公司股票进行拆分,把原来的壹股拆成伍股。
特斯拉拆股当日K线
拆股和转增股份差不多,都会让整体股票变多。
假设在拆股的前一天,你持有壹万股的特斯拉,每股价格贰贰零零元,那总价值就是贰贰零零万。拆股之后会有什么变化呢?看下图:
拆股之后,你手上持有的特斯拉就会从壹万股变为伍万股。
但千万别觉得你的资产瞬间翻了伍倍,因为股价也会自动调整为原来的壹/伍。即你的总资产没有发生任何变化。
在拆股后股价从贰贰零零元变为肆肆零元,看似暴跌了捌零%?其实不然,你的总资产始终都是贰贰零零万,没有发生任何变化,所以股价的变化其实是零%。
叁 分红送股的影响
通过以上的两个例子我们知道,分红、送股、拆股、配股等行为都会导致股价的异常变动,但资产的实际价值并未发生变化。
股价悬崖式下跌,实际资产并未发生变化
但是股价的异常会对投资造成很大的影响,比如我想看看特斯拉从上市到现在涨了多少,就不能简单的用现在的价格/上市的价格。
价格异常对我们量化投资也会有很大的影响。
股价的剧烈变动会影响很多我们经常使用的财务指标或量价指标。比如下图中,特斯拉在拆股之后,常见的RSI指标和布林指标就发生了明显的异常。
股价变动导致RSI指标和布林指标异常
如果这时我们继续用异常的指标来分析走势或开平仓,显然是不明智的。
为了避免这种价格“暴跌”的影响,我们需要对股票的价格进行修复,这一过程就叫做复权。
利用复权后的股价来重新计算各类指标,才能避免指标异常,导致错误的决策。
复权前复权后
零贰
前复权与后复权
复权被分为前复权和后复权,很多同学不清楚两者的区别。
先来看一张K线图:
分红送股当日,股价暴跌肆陆.捌%(蓝线部分),以这一日为界限,K线图分为分红送股前和分红送股后的两个部分。
我们都知道股价的跌幅其实没有那么夸张,所以需要对K线(股价)进行修正。
以什么作为修正的基准呢?
如果我们以分红送股后的股价作为基准,将分红送股前的股价整体往下移动,对股价进行修正,这个过程就被称为前复权。
前复权
如上图所示,在复权前,涨跌幅为-肆陆.捌%,将分红送股前的K线整体向下移动后,涨跌幅被修正为-叁.叁%。
后复权也是通过移动股价来实现价格修复的,只不过后复权是将分红送股后的K线整体向上移动。
后复权
如上图所示,复权前的涨跌幅为-肆陆.捌%,将分权送股后的K线整体向上移动后,涨跌幅被修正为-叁.叁%。
看到这你应该明白什么是前复权和后复权了,前复权其实就是对分红送股前的股价进行修正,后复权是对分红送股后的股价修正。
并且细心的同学已经发现,不管是前复权还是后复权,它们修复的其实是分红、送股当天的涨跌幅,而不是股价,准确的涨跌幅才是复权的核心所在。
零叁
如何计算涨跌幅
正因为复权的核心是涨跌幅,所以想要正确地计算复权价,首先要计算复权当日的涨跌幅。
此时就需要一个关键的数据“前收盘价”来帮助我们。
很多同学可能不知道什么是“前收盘价”,我们来看一个例子:
这是一组包含前收盘价的股票数据。顾名思义,前收盘价就是前一天的收盘价。
图中可见,肆月叁日到肆月捌日的前收盘价都等于前一个交易日的收盘价。
但是肆月玖日的前收盘是贰陆.玖零,而上一个交易日的收盘价是肆捌.玖贰,两者相差甚远,这是为什么呢?
这是因为股票在肆月玖号发生了分红送股等行为,导致股价自然回落。那应该回落到多少呢?
此时交易所会根据分红送股的内容计算出一个价格并公布出来,我们称这个价格为前收盘价,肆月玖号的贰陆.玖零就是前收盘价。
有了交易所官方提供的“前收盘价”,第二天的交易在这个基础上就可以继续进行了。
并且通过这个价格,我们简单地套用公式:
涨跌幅=(收盘价 - 前收盘价) / 前收盘价
就能计算出当日的涨跌幅:
所以如果你拿到的股票数据没有包含前收盘价这个字段,那基本上是不能使用的。
我平时自己使用的交易数据就包含了前收盘价:
包含前收盘价的数据
这份数据包含了从玖零年至今A股所有股票的历史数据,肆零零零+只股票,大小壹GB,如果需要可以私信我获取。
有些数据虽然没有前收盘价,但是也直接提供了涨跌幅。不过在使用这些数据的时候一定要检查一下涨跌幅是否有误,尤其是分红送股当天。
比如下图中肆月玖号的数据明显就存在错误。
涨跌幅数据一定要验证是否有误
零肆
如何计算复权价
有了涨跌幅之后,应该如何计算复权价呢?我们需要引入“复权因子”的概念。
复权因子可以理解为,在一只股票刚发行的时候买入壹块钱(假设)。之后随着市场波动,这一块钱的价值每天都在发生变化,这个价值就是这只股票的复权因子。
复权因子的涨跌幅和股价的涨跌幅(修正后)是一致的,所以我们可以利用:
复权因子=(壹 + 涨跌幅) × 前一交易日复权因子
计算复权因子:
上图中肆月贰日涨跌幅为壹零.零壹%,如果我们买入壹元,那么在收盘后就变为壹.壹零零壹元,也就是复权因子的大小。
第二天的涨跌幅为壹零%,收盘后的价值是在壹.壹零零壹的基础上上涨的,所以变为壹.贰壹零壹壹。以此类推,将之后的涨跌幅累乘就能得到复权因子。
有了复权因子就能计算复权价了,不过复权价分为前复权价和后复权价,我们分开来讲。
壹 前复权价格
先回忆一下这张图:
前复权其实是将分红送股前的K线整体下移,这意味着最近一个交易日的价格是固定不变的。
所以肆月壹叁号的收盘价就等于前复权收盘价,只要在这个基础上往前修复价格就可以了。
因为复权因子是对每日涨跌幅的刻画,所以复权价的涨跌幅和复权因子的涨跌幅是相同的,这意味着:
我们将上面的公式稍作变换就能得到:
等式右边的都是已知项,因此可以计算出前复权收盘价:
例如上图中肆月壹零日的前复权价格就是这么计算的:
壹、先用肆月壹叁日的前复权收盘价除以复权因子得到固定值:
贰叁.陆伍 / 壹.零捌柒肆陆伍 ≈ 贰壹.柒肆捌
贰、将贰壹.柒肆捌与肆月壹零日的复权因子相乘,得到当天复权价:
贰壹.柒肆捌 × 壹.贰零捌肆贰玖 ≈ 贰陆.贰捌
其他日的前复权收盘价只要用复权因子乘以常数C就能计算出来了。
聪明的同学可能已经发现,前复权价其实就是把复权因子等比例放大了贰壹.柒肆捌倍。
贰 后复权价格
后复权价的计算方法也类似。
后复权将分红送股后的价格整体上移,所以最早交易日(肆月贰日)的价格是不变的,收盘价等于后复权收盘价:
对于后复权,存在以下关系:
对这个公式稍作变换:
等式右边的三项都是知道的,所以后复权的收盘价也可以算出来:
零伍
总结
看到这里大家应该明白,只要计算出复权因子,不管是前复权价格还是后复权价格,只不过是复权因子的等南京卵细胞库比例放大或缩小。
不过还是有很多同学会问,已经知道收盘价的复权价如何计算,那开盘价、最高价、最低价的复权价该怎么计算呢?
问这个问题的同学请自觉面壁思过伍分钟,因为这个问题只要稍微思考下就能知道答案。
复权只是对股票价格做整体抬升,每根K线开高收低之间的比例并不会改变。
例如上图中柒月叁零号的复权开盘价就可以这么计算:
已知开盘价=壹零.伍壹,收盘价=壹零.肆,收盘价复权=壹零.玖柒
则开盘价/收盘价=壹零.伍壹/壹零.肆=壹.零壹零陆
由于 开盘价/收盘价=开盘价复权/收盘价复权
所以开盘价复权=收盘价复权×壹.零壹零陆
开盘价复权=壹零.玖柒×壹.零壹零陆=壹壹.捌陆
同理,我们只要按照比例对其他价格进行缩放就能得到其他的复权价格了。
我也为大家准备好了计算复权的代码,方便大家在处理数据的时候使用:
计算复权的代码计算复权后的数据
需要复权代码的可以私信我获取。
联系我时,请说是在代孕妈妈看到的,谢谢!
|