价格序列怎么处理:复权、分红与拆股
价格是所有价格类因子的地基。动量、反转、波动率、流动性,都要从价格序列里算出来。地基不牢,上面全歪。而价格序列里最容易出错的,就是除权除息。
问题从哪来
分红、送股、转增、拆股,都会在除权日让股价出现一个向下的跳空。但这个跳空不是真的下跌——股东的总权益没有减少,只是形式变了。
举个直观的例子:十送十,股价从二十元变成十元,看起来跌了百分之五十,其实你手里的股票数量翻了一倍,总资产没变。
如果直接用原始价格算涨跌幅,这个假下跌会污染所有计算结果:动量因子会把它当成暴跌,波动率会被异常放大,止损规则可能被无故触发。
复权的两种做法
前复权:以最新价格为基准,把历史价格往下调整。好处是最新价与行情软件上看到的完全一致,直观;缺点是历史价格会随着新的除权事件不断变化——今天看的历史价,和下个月看的不一样。
后复权:以最早的价格为基准,把后面的价格往上调。好处是历史价格一旦确定就不再变动,序列稳定;缺点是最新价会和行情软件对不上,看起来是另一套数字。
在回测里通常用后复权序列计算收益率,因为它的历史值不会因为未来发生的事件而改变——这一点正好避开了未来函数。做展示、给人看的时候才用前复权。
两个容易忽略的细节
其一,复权因子本身也要是当时的版本。除权除息方案是提前公告的,但也有事后调整的情况;如果用了事后修正的复权因子,同样引入未来信息。
其二,现金分红影响的是持有回报,不只是价格。只算价差会系统性低估高分红股票的实际收益。做收益率对比时,要区分"价格收益"和"含分红的总回报",两者差很多,在某些行业上尤其明显。
还有几个要处理的状况
- 停牌:停牌期间没有成交,价格是空的。复牌时往往一次性补涨补跌。计算动量时要决定是跳过、还是按停牌前价格延续。
- 涨跌停:涨停时买不进、跌停时卖不出。回测里如果假设任何价格都能成交,结果会明显偏乐观。
- 长期停牌与退市:这类标的的价格序列会在某一天戛然而止,处理不当会造成"沉没收益"的假象。
一句人话:原始价格序列里混着"公司变故"和"计价方式变化"两类跳空。前者是真的,后者是假的。复权就是只保留前者、抹掉后者。
写在最后
价格序列处理干净之后,才算有了可靠的原料。接下来两篇回到财报,讲怎么从里面提炼出三类常用的因子原料——估值比率(第 9 篇),以及成长与质量(第 10 篇)。
本文为投研学习参考资料,仅供研究参考,不作为投资决策依据。市场有风险,投资需谨慎。
← 返回智远教投