在原先的文章中已经谈过复权的话题:【答读者问16】回测的时候,价格是使用哪一种复权方式(前复
权、后复权与不复权),在我们的股票的回测中,使用的是后复权的数据,实际上,关于复权没有完美的解决方法,每种复权方法都有利弊,我们选择的标准不一样,可能采用的复权方法也不一样。这篇文章主要谈一谈不复权、前复权、后复权、定点复权在回测与实盘中各自的优缺点。
部分内容可能是在前面的文章已经讲过,其实关于复权方式的选择,主要是要考虑我们实际交易的时候是怎么看行情的。
不复权
在观察期间内,没有发生过除权除息拆分送股之类的事件的话,复权其实没啥意义,因为不影响我们使用。如果在观察期间发生了这些事件,导致复权因子发生变化,这个时候不复权与复权的选择就有很大的差别。不复权会导致计算的指标在事件发生窗口期内发生扭曲,所以使用一些技术指标的话,还是要尽可能使用复权后的数据,如果只使用日内数据做日内交易的话,这种情况下,可以考虑使用不复权的数据。
前复权与后复权
这个在前面的文章中已经把复权后的数据应用在回测中讲解的比较清楚了。在实盘中,还要额外考虑前复权与后复权实现的难易程度,前复权是根据当前价格往前推,当前发生了复权,会导致前面已经生成的价格会发生变化,这在实盘交易中,会导致消耗很多的计算机资源,而且需要额外关注前面复权过的价格是否小于0了,相比于后复权来看这不是一个好的选择。
定点复权
这个其实是一个噱头,跟前复权和后复权没有本质的变化。定点复权,按照理解来看,就是按照某一天的价格为基准进行的复权,这个时间点可以由用户来确定,一般都是回测开始或者结束的时间。有真实的价格和复权因子的话,在回测中想要实现定点复权其实也很容易,一般如果实现了自己的数据库的话,提取数据的时候就可以实现定点复权,好像聚宽或者米筐啥的,喜欢搞这些看起来高科技的功能。
推荐的方案
在回测或者实盘中,推荐维护一个后复权的数据用于计算指标,一个真实的数据或者复权因子用于计算仓位,回测中使用后复权的数据来计算盈亏,实盘中直接映射到真实的数据去做交易就好了。