1 复权价格

 

由于股票经常发生分红、配股、分拆或合并等事件,使得股价出现较大变化,复权就是用来修正这种股价变化。
例如某支股票每股 10 元,持有 100 股,总资产 1000 元
发生拆股后,持有的 100 股变为 500 股,但是股价也会自动调整为原来的 1/5,变为 2 元,总资产还是 1000 元,并没有发生变化。
股价从 10 元变为 2 元,看似暴跌了 80%,但投资者的资产始终没变,因此股价的变化其实是 0。
为了避免这种价格“暴跌”的影响,我们需要对股票的价格进行修复,这一过程就叫做复权。

复权方法分为前复权和后复权
前复权保持当前价格不变,对历史价格进行增减,使得股价连续。而后复权正好相反,保持历史价格不变,调整当前价格。

前复权可以反应股票真实价格,适合看盘和交易,因此行情软件通常默认前复权
后复权则不需要反复修正历史数据,适合历史回测和计算收益率。

复权价格可以从某些网站直接获取也可以自行计算。
需要注意的是复权价的计算方法有多种,由于数据口径或计算方法的不同,得到的复权价格也会有所不同,例如不同股票软件的复权价格不相同。

本文将介绍的是涨跌幅计算法。在发生分红配股等行为后,股票交易所会根据行为内容计算出一个价格,称为前收盘价,有了这个价格就可以计算出正确的涨跌幅,进而计算出复权价格。因此涨跌幅计算法要求数据中必须要有前收盘价格。

计算方法:
涨跌幅 = (收盘价 - 前收盘价) / 前收盘价
复权因子 = (1 + 涨跌幅)  × 前一交易日复权因子
复权收盘价 / 首日收盘价 = 复权因子 / 首日复权因子 =C
前复权首日取当日
后复权首日取上市日

以代码 600000 的股票数据为例,计算复权价格

A
1 =T(“D://600000.csv”).select( 收盘价 >0).sort(日期)
2 =A1.new(日期, 收盘价,if(#>1, 收盘价 / 前收盘 *factor[-1], 收盘价 / 前收盘 ):factor)
3 =A2.derive(factor/A2.m(-1).factor*A2.m(-1). 收盘价: 前复权,factor/A2(1).factor*A2(1). 收盘价: 后复权 )

A2 计算每日复权因子
A3 套用公式计算前复权收盘价和后复权收盘价
imagepng