简体中文
返回

历史回测公司行动的处理

1. 什么是股票复权?

上市公司可能会进行分红派息或者配股等操作。这些公司行动会对股票价格产生影响,使得K线图上的价格出现断层。因此,就需要使用复权技术来处理股票价格的变化。

复权,是把股票历史价格和成交量,根据本次除权信息进行调整。目的是为了保证历史价格和最新价格之间的连续性,避免因为公司分红派息等操作造成的股价断层。

 

2. 回测时的复权功能

复权的调整方法有前复权和后复权两种调整方式,量化的回测功能自动使用了动态前复权。下面我们来看一下复权的原理和在软件内的表现:

前复权:所谓前复权,就是在股票除权后,把历史价格进行比例缩小,以保持历史股价的连续性。

在回测周期里,每次发生公司行动时,软件都会自动向前复权K线,并处理账户中的现金和持仓。以拆股为例,不复权和做了前复权的股价变化:

 

3. 总结

复权是炒股必备的基础知识之一,它能够帮助我们更好地理解股票价格的变化趋势。量化的回测器自带复权功能,帮助用户模拟真实的投资表现。如果您想了解更多,可以参考下面的例子。

例子:

公司行动类型股价持仓举例
现金分红
  • 新股价下降
  • 历史K线价格下降
  • 持股数量不变
  • 持仓市值下降
  • 账户现金增加
假设公司行动前,股价为20元,持仓100股。公司行动后,每10股派1元。最新股价下降为19.9元,历史K线价格全部下降0.1元,持仓数量保持100股不变,持仓市值下降为1990元,账户现金增加10元。
拆股
  • 最新股价下降
  • 历史K线价格下降
  • 持股数量上升
  • 持仓市值不变
假设公司行动前,股价为20元,持仓100股。公司行动后,每1股拆成2股。最新股价下降为10元,历史K线价格全部除以2,持仓数量增加为200股,持仓市值保持2000元不变。
合股
  • 最新股价上升
  • 历史K线价格上升
  • 持股数量下降
  • 持仓市值不变
假设公司行动前,股价为20元,持仓100股。公司行动后,每2股合成1股。最新股价上升为40元,历史K线价格全部乘以2,持仓数量下降为50股,持仓市值保持2000元不变。
转(增)股
  • 最新股价下降
  • 历史K线价格下降
  • 持股数量上升
  • 持仓市值不变
假设公司行动前,股价为20元,持仓100股。公司行动后,每10股转增10股。最新股价下降为10元,历史K线价格全部除以2,持仓数量增加为200股,持仓市值保持2000元不变。
送(红)股
  • 最新股价下降
  • 历史K线价格下降
  • 持股数量上升
  • 持仓市值不变
假设公司行动前,股价为20元,持仓100股。公司行动后,每10股送10股。最新股价下降为10元,历史K线价格全部除以2,持仓数量增加为200股,持仓市值保持2000元不变。
配股
  • 最新股价会下降
  • 历史K线价格会下降
  • 持股数量不变
  • 持仓市值下降
  • 账户现金增加
假设公司行动前,股价为20元,持仓100股。

公司行动后,每 4 股配 1 股,配股价格为15元。最新股价下降为(1*15+4*20)/5=19 元,历史 K 线价格全部调整为:先乘以4/(4+1)=0.8再加15*1/5=3。持仓数量保持 100 股不变,持仓市值下降为 19*100=1900 元,账户现金增加 100 元。

增发股
  • 最新股价会下降

  • 历史 K 线价格会下降

  • 持股数量不变

  • 持仓市值下降

  • 账户现金增加

假设公司行动前,股价为20元,持仓100股。

公司行动后,每 4 股增发 1 股,增发价格为 15 元。最新股价下降为(1*15+4*20)/5=19 元,历史 K 线价格全部调整为:先乘以4/(4+1)=0.8再加15*1/5=3。持仓数量保持 100 股不变,持仓市值下降为 19*100=1900元,账户现金增加 100 元。

分立
  • 最新股价下降
  • 历史K线价格下降
  • 持股数量不变
  • 持仓市值下降
  • 账户现金增加(分立得到的其他公司股票折算成现金)
假设公司行动前,股价为20元,持仓100股。公司行动后,每10股派1股(市价5元的)其他公司股票。持仓数量保持100股不变,持仓市值下降为1950元,账户现金增加50元。