什么是复权
在量化回测中,为了消除股票除权出息或者期货主力合约切换造成得价格跳变,从而对回测结果造成影响,通常会对历史行情价格采用复权操作。
对于股票,复权是对股价和成交量进行权息修复,按照股票的实际涨跌绘制股价走势图,并把成交量调整为相同的股本口径。股票除权、除息之后,股价随之产生了变化,但实际成本并没有变化。期货合约则是持仓量不变,仅对连续的主力合约价格做调整。
如:原来20元的股票,十送十之后为10元,但实际还是相当于20元。从k线图上看这个价位看似很低,但很可能就是一个历史高位。复权的形式有向前复权和向后复权两种。
如果不复权
当股票股价因为分红拆股等原因变化时,不填补股价走势图上的巨大空隙,仍然保持股票历史和当天的交易价格即为不复权。
如:原来30元的股票,一股拆三股后,股票价格变为10元,在k线图中,股票价格在当天会有一个断崖式的下跌。
不复权K线图能真实反应股价历史的变动信息,缺点是会留有大缺口,导致各类技术指标都无法应用,使用复权后,可以将股票的波动连续。
前复权与后复权
前复权:是保持现有价位不变,将以前的价格缩减,将除权前的K线向下平移,使图形吻合,保持股价走势的连续性。
前复权就是在K线图上以除权后的价格为基准来测算除权前股票的市场成本价。就是把除权前的价格按现在的价格换算过来。复权后现在价格不变,以前的价格减少。
前复权公式:复权后价格=(复权前价格-现金红利)÷(1+流通股份变动比例)
前复权的优点:前复权是以目前价为基准复权,其意义是让你一目了然的看到成本分布情况,如相对最高、最低价,成本密集区域,以及目前股价所处的位置是高还是低。均线系统也更顺畅,利于分析。
后复权:是在K线图上以除权前的价格为基准来测算除权后股票的市场成本价。就是把除权后的价格按以前的价格换算过来。简单的说,就是保持先前的价格不变,而将以后的价格增加。
复权后以前的价格不变,现在的价格增加,所以为了利于分析一般推荐前复权。
后复权:复权后价格=复权前价格×(1+流通股份变动比例)-配(新)股价格×流通股份变动比例+现金红利
后复权的优点:后复权可让你清楚该股上市以来累计涨幅,如当时买入,参与全部配送、分红,一直持有到目前的价位。
以贵州茅台(600519)为例2015-07-17(每十股 送1.00股 红利43.74元)为例
不复权:股票价格出现断崖式下跌
以贵州茅台(600519)为例2015-07-17(每十股 送1.00股 红利43.74元)为例
2015-07-16日收盘价格为251.59元,2015-07-17日收盘价格为228.29元,不复权时股票价格出现下跌
前复权:以当前份额为基础对除权前的股价换进换算。
2015-07-16日收盘价格为61.33元,2015-07-17日收盘价格为64.87元,进行前复权发现实际上涨
后复权:以初始份额为基础对除权后的股价进行换算。
2015-07-16日收盘价格为1392.41元,2015-07-17日收盘价格为1412.38元,进行后复权发现实际价格上涨
表1 不同复权方式价格对比
2015-07-16价格 |
2015-07-17价格 |
价格变化趋势 |
|
不复权 |
251.59元 |
228.29 |
下跌 |
前复权 |
61.33 |
64.87 |
上涨 |
后复权 |
1392.41 |
1412.38 |
上涨 |
加减复权和涨跌幅(比例)复权
在普通的看盘软件上,看到的都是前减复权——把当前的股价固定,前面股价是减去现金分红和流通股变动比例之后的数值。
如果一只股票分红次数比较多,做减法之后,减着减着股价就变成负数了,例如贵州茅台,经过前减复权后,2005年的股价是-30多元——价格是负的,对着图形看看整体走势还可以,难以用来回测。
涨跌幅复权法不再是做加减法,而是做乘除法,这样股价永远是正的。也能反映出分红送转的占比情况,保证复权后K线的连续性。 涨跌幅复权法全称为涨跌幅加权平均价格法,是指根据一段时间内股票的涨跌幅度和成交量,计算出一个加权平均价格,用来衡量股票的涨跌情况。
具体来说,假设股票在某个时间点上涨了一定比例的价格,那么在调整后的股价中,这个价格涨幅所占比例应该与公司行动前的股价相同
下面是涨跌幅复权算法的一个示例:
假设一只服股票在某一天的收盘价为 100。在第二天,该公司宣布拆股,比例为 1:2。在这种情况下,我们需要将前一天的股价乘以1/2,以反映股票数量增加的影响。现在,假设第三天的收盘价为 120。如果我们只考虑股票的价格变化,那么涨幅为 20%。但是,在进行涨跌幅复权后,我们会发现,第二天的调整后的股价为 50(即前一天的收盘价100 乘以1/2) ,因此,实际上第三天的涨幅是 140% (即 120/50-1)。
需要注意的是,涨跌幅复权算法是一种相对复杂的算法,实际应用中需要考虑许多因素,如股票分红和拆股的比例、税收和交易费用等。涨跌幅复权法前复权、后复权不会出现负数。而且这种方法前复权和后复权都能够正确计算涨跌幅,也能够正确计算资金的理论收益率。因此,用比例法复权,回测时采用前复权和后复权都可以,理论上回测结果结果的收益率应该一样。
比例法后复权价的计算公式:
Tick数据的量化回测方法
K线图上的开盘价、最高价、最低价、收盘价、成交量等等,为了更好的区分,我们把这些数据统称为Bar数据。回测中常常以Bar数据为单位进行计算。
Bar数据就是基于Tick数据,并按照时间周期分割而成,1分钟的Bar数据是由1分钟内的Tick数据组成,5分钟的Bar数据是由5分钟内的Tick数据组成,以此类推......形成了各种分钟图、小时图、日线图等等。一分钟的K线只有一个Bar数据,但是可能包含120个Tick数据。因此,回测的历史数据可以分为:Bar数据和Tick数据,并且在同一个周期内Tick的数据量要比Bar数据量大很多。文章来源:https://www.toymoban.com/news/detail-769933.html
需要注意的是,市面上不同数据源的复权方法可能各不相同,对于股票,同花顺,东财是采用加减法复权,万得、米筐则采用比例法复权。从回测的角度,建议不要采用加减法复权,因为其前复权可能产生负值,而应该采用比例法复权。对于期货合约,也要注意数据源的这类差异。文章来源地址https://www.toymoban.com/news/detail-769933.html
到了这里,关于量化回测中如何对历史行情做复权的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!