提到复权,炒股的小伙伴一定很熟悉。由于股票经常发生派息、配股、分拆或合并等事件,使得股价出现缺口,复权就是用来填补缺口的,分为前复权和后复权两种方法。

前复权保持当前价格不变,对历史价格进行增减,使得股价连续。而后复权正好相反,保持历史价格不变,调整当前价格。

前复权是行情软件默认模式,因为它很适合用来看盘,也是被使用频率最高的复权方式。

复权的概念很好理解,如果还是有不懂的小伙伴,赶紧打开你的行情软件,两种模式切换比较一下。另外,两种复权的计算方法会在接下来以代码的形式介绍,这里就不提了。

1. 前复权与后复权的区别

像之前说的,对大部分股民来讲,前复权就够用了,但对量化的小伙伴来说搞清楚到底用哪个是非常重要的。

虽然这个问题很简单,但是对刚接触量化的小伙伴来说,仍然是个比较棘手的问题,而且网上很多关于复权的文章也没有讲清楚到底什么时候用哪种方法。

先说结论,前复权适合看盘和交易,后复权适合用来对历史回测和计算收益率。接下来说说原因。

前复权由于以下2个缺点,使得其不适合用来回测:

(1)历史数值是时变的:每次发生派息等除权事件时,历史数值都会根据当前的股价而调整。换句话说,每次发生除权事件后,历史数值都是不一样的;**

(2)股价可能为负:对于持续分红的公司,其前复权价格可能为负。

后复权的本质是描述某个资产净值的增长情况,反映了真实的收益率,更适合用来回测。但后复权与真实价格相差较大,不能用来实盘交易。

2. 计算复权需要注意的问题

本节来说说计算复权时需要注意的问题。

我看到很多小伙伴都喜欢直接使用第三方提供的复权数据。这里我想强调一个我使用数据的理念(不单单是复权数据):

首先,我只使用第三方提供的像开高低收、成交量等一手数据

其次,对于需要二次加工的数据,如市盈率、ROE等指标,我会自己算一遍

因为回测对数据的要求是非常严格的,而第三方(即使是大机构)的数据质量参差不齐,可能会因为计算公式的细微差别造成较大的误差,可能引入未来函数,更可能产生某些问题直达实盘才会发现。

我强烈建议复权数据要自己算。自己计算各种指标的最大的一个好处就是将一切问题可控。因为我们能够掌握计算的细节,即使出现重大问题,也可将其控制在已知的范围内。

接下来说说计算复权价格需要的数据。

除了常规的开高低收数据外,我们还需要前收盘价这个数据。前收盘价是前一交易日的收盘价格,是交易所帮我们算好的除权后的价格,用当日收盘价除前收盘价就可以得到真实收益率。

关于前收盘价的算法,可以看下图美的集团的公告:

3. 代码实现

最后,我们来看一下后复权的计算代码(前复权请各位小伙伴自行完成)。

 # ====后复权df['复权因子'] = (df['收盘价'] / df['前收盘价']).cumprod()df['收盘价_复权'] = df['复权因子'] * (df.iloc[0]['收盘价'] / df.iloc[0]['复权因子'])df['开盘价_复权'] = df['开盘价'] / df['收盘价'] * df['收盘价_复权']df['最高价_复权'] = df['最高价'] / df['收盘价'] * df['收盘价_复权']df['最低价_复权'] = df['最低价'] / df['收盘价'] * df['收盘价_复权']

本期内容就到这里啦。如有任何问题,欢迎私信,我们一起探讨。

END

前复权还是后复权,你真的用对了吗?相关推荐

  1. 【量化交易】股票价格前复权与后复权的区别以及注意事项

    时不时就会看到到底是用股票前复权还是后复权价格的讨论,比如下面就是一个很经典的问法: "我用前复权价格计算指标的时候,发现会出现负价格,就没法取log了,应该是分红太多导致的,请问这种怎么处 ...

  2. 除权、除息、复权、填权、填息、贴权、贴息、含权、含息、前复权、后复权到底什么区别(MD终于明白了用图解释)

    除权.除息.复权.填权.填息.贴权.贴息.含权.含息.前复权.后复权到底谁是谁(MD终于明白了) 最常见常用的是复权,复权相关联的本质事件是为了拆股,原来一股10000块一股,很多人买不起啊,所以拆成 ...

  3. 前复权和后复权有什么区别

    前复权和后复权是指股票价格的复权方式. 前复权是指在计算股票的价格指数或者收益率时,将股票价格的历史数据进行复权,也就是将历史股票价格进行调整,把因为除权或增发股票而导致的股票价格变化纠正回来,使得不 ...

  4. 前复权后复权程序C# .net

    if (win32apitest.MDIMain.SFSDA.FuQuan == "前复权")                     {                      ...

  5. 前复权是从今天的价格倒推 后复权是从上市价格前推 不复权就是原始K线。...

    前复权是从今天的价格倒推 后复权是从上市价格前推 不复权就是原始K线.

  6. 2022中元节前后几天不出门?前三天后三天不能出门是真的吗?

    随着中元节的临近,在民间所流传的一些习俗也受到大家的关注,部分地区在中元节前后几天有不出门的说法,那中元节前后几天不出门?前三天后三天不能出门是真的吗? 一.2022中元节前后几天不出门? 中元节前3 ...

  7. 前后端分离后的前端时代

    什么是前后端分离,要区分前端和后端,需要有个明确的界限.一般,用户可以直接看到的东西,都是属于前端的范畴,除了前端之外都属于后端了. 在传统的像ASP,JSP和PHP等开发模式中,前端是处在一个混沌的 ...

  8. 隐马尔科夫模型(HMM)解释 和 前向与后向算法[转] 讲解通俗易懂 赞

    HMM前向算法讲明白第一功 https://blog.csdn.net/xueyingxue001/article/details/52396494?simpread_mode=read HMM后向算 ...

  9. 循环前增加和后增加之间的区别?

    本文翻译自:Difference between pre-increment and post-increment in a loop? Is there a difference in ++i an ...

最新文章

  1. Caffe 中的卷积--权宜之计
  2. Ajax实现简单用户名重名查询
  3. java设计模式系列:单例模式
  4. Rails non browser app高级篇-capistrano/daemon部署
  5. 《JS权威指南学习总结--9.5 类和类型》
  6. 对Multi-bin 技术的理解
  7. php获取手机的mac地址,Android手机获取Mac地址的方法
  8. 信息学奥赛一本通(2056:【例3.7】最大的数)
  9. java简单的复数类_Java练习 SDUT-4303_简单的复数运算(类和对象)
  10. linux下文件合并、分割、去重
  11. Java 算法 数字分类
  12. HTML2em一定是32px,px,em,rem的区别
  13. 今天心情好,一起探讨下《送给大家的200兆SVN代码服务器》怎么管理我们的VS代码?...
  14. 求三角形面积(C++)
  15. JavaWeb开发Servlet学习
  16. 基于Python计算Landsat8OLI遥感生态指数RSEI
  17. vue3 实现的砸金蛋
  18. 支持同步的Todo软件
  19. 深入浅出剖析JAVA多线程原理
  20. 松下P2卡MXF视频恢复方法

热门文章

  1. 深深的码丨Java NIO 透析
  2. 基于STC89C52单片机的智能家居系统
  3. 5.1配置IBGP和EBGP
  4. Oracle PL/SQL基础语法学习13:比较运算符
  5. 软件测试2020年终总结
  6. 冬令时 java_java处理 夏令时、冬令时问题
  7. 开发工程师应该具备哪些能力
  8. 用python写一个小程序,解决买水果的问题?
  9. 初识DE2-115开发板
  10. 2020年第四轮计算机科学与技术学科评估排名结果