量化炒股23复权对于历史回测的影响

之前举例的各种历史回测大多是基于“前复权”进行的,而复权对回测结果的影响有时比较大,所以本章主要讲一下如何测试出真实的历史收益。

一、前复权的影响

复权,对于一些经常分红的股票或基金,会对K线的走势产生较大的影响,所以为了让K线走势连续性增强,我们一般都会选择“前复权”的显示模式和测试环境。但前复权虽然让走势更加连续了,也会造成历史数据的不准确。

前复权,首先保证的是当前的股价是真实的,而顺着时间坐标往前看,一旦有一次分红或扩股,那么再往前的股价就是不真实的了。

特别是很多基金,由于每次分红较多,对历史股价带来的影响更大,拿“兴全轻资”这个基金举例来看一下,最近一次的分红是2020年6月10日,每10股派现金15元。

先将显示模式改为“不复权”,可以通过在K线图上点击右键的方式实现:

量化炒股23复权对于历史回测的影响

也可以通过快捷键Ctrl+V来实现复权的切换。

可以看到,在不复权模式下,分红之后的当日(2020.06.10)收盘价是2.687元,而前一日(2020.06.09)的真实收盘价是4.172元。

现在我们再将模式改为前复权,可以看到6月10日的价格仍然是2.687元不变,是真实的价格,而前一日的股价变为了2.672元。那么这个2.672元和不复权的4.172元之间的关系是什么呢?

2.672=4.172-15/10

上面就是前复权实际的计算方式。

那么假设有一个模型的开仓时间是2020年6月9日,平仓时间是2020年6月10日。如果采用前复权的历史回测方式,则这次买卖的收益是2.687/2.672-1=0.56%。

而实际的收益应该是:(2.687+15/10)/4.172-1=0.36%。

可以看到前复权会对实际的收益产生误差。而分红越多,越往前的数据产生的误差越大,比如某个品种10年前某一天和之前一天的股价分别是3元和2.9元,那实际上这两天的涨幅是0.33%,如果这10年间分红过多,有可能导致前复权之后股价分别变为0.2元和0.1元,这两天之间的差值虽然没有变还是0.1元,但是涨幅发生了巨大的变化,直接变成了涨幅50%。

而有的股价甚至可以被前复权给弄成负值,直接导致在历史回测时无法计算。

二、真实收益的计算方式

既然前复权会导致这么大的误差,那如果改为不复权的测试方式是否可以呢?咱们还拿兴全轻资来举例,在这个基金上我加载了一个简单的趋势模型,在前复权的显示模式下,信号如下:

量化炒股23复权对于历史回测的影响

而将显示模式改为不复权之后,信号变为如下:

量化炒股23复权对于历史回测的影响

可以看到,由于复权,导致“被平仓”,并且测试明细中也会被记录成亏损30%多。

显然,我们现在诉求变成了:使用前复权下的信号,但计算收益时希望用真实的价格加上分红来计算真实的收益。

而当下的通达信软件,我尝试了很多函数或设置,都没能找到可以直接计算出真实收益的方案。所以,在计算时,我不得不使用了比较费事的方法:

1. 每次测试一个品种时,先设定为“前复权”,测试完之后,将开平仓的明细存到电脑上,最好保存成EXCEL的格式;

2. 按照前复权下的开平仓时间,在K线图上以不复权的模式找到每个开平时间对应的真实价格,用真实的价格代替明细中前复权的不真实的价格;

3. 将每次买卖之间的分红加到平仓的价格上,具体方法和上面的举例一样:即如果某一次买卖之间分红了一次或多次,那么在记录平仓的价格时就需要将分红的每股收益直接加到平仓价格上(暂时忽略分红的税费问题);

4. 将所有真实的含分红的买卖价格记录好之后,重新计算每次收益的百分比;

5. 如果回测时资金选择的是:全部资金开仓,也就是每次都满仓操作,那么在计算总收益的时候,需将每次收益的百分比以复利的方式进行计算。比如第一次买卖收益是50%,第二次也是50%,那么两次的总收益是(1+50%)*(1+50%)-1=125%,而非将两次的50%直接相加。

三、其他软件的使用

由于上述方法太过浪费你时间,特别是想测试多个品种时尤为明显。所以我一直想找到一个可以直接测试出真实收益的方案。在通达信中暂时没有找到,而期货软件“文华财经”则可以实现这个功能,有感兴趣的朋友可以到其官网下载,我用的版本是wh8体验版,其编程语句也和通达信的一样都是麦语言。

只是文华财经的体验版只有三个月的体验期,如果超过体验期还想继续使用的话需要每月100元的使用费。所以如果大家有需求的话,可以尽量在三个月之内测试完,或者再用新的手机号和电脑注册新的体验版。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/46574
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 6 月 21 日
下一篇 2024 年 6 月 21 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注