请选择 进入手机版 | 继续访问电脑版
楼主: 邢不行
32466 78

[讨论交流] 【量化小讲堂 - Python、Pandas系列】量化投资中关于复权的处理   [推广有奖]

院士

5%

还不是VIP/贵宾

-

威望
1
论坛币
26743 个
通用积分
135.0908
学术水平
485 点
热心指数
505 点
信用等级
456 点
经验
44525 点
帖子
547
精华
26
在线时间
1111 小时
注册时间
2010-4-30
最后登录
2024-4-1

邢不行 在职认证  发表于 2015-10-6 13:48:35 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
引言:

本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。

【必读文章】:
《10年400倍策略分享-附视频逐行讲解代码》

【所有系列文章汇总】:https://bbs.pinggu.org/thread-3950124-1-1.html

【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:
《python量化投资入门》,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击此处

微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。

文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。





【量化小讲堂 - Python、Pandas系列】量化投资中如何处理复权、除权问题

最近惊讶的发现很多同学对如何在量化投资的实战中如何处理复权、除权等问题,其实不是非常了解,耽误很多事情,所以本文专门来详细的讲一下这个问题。

【复权计算方法】
股票会时不时的发生现金分红、送股等一系列股本变动,这会造成股价的非正常变化,导致我们不能直接通过股价来计算股票的涨跌幅。例如一个股票是10元,当他10送10的时候,它的价格会变成5元,但是我们并不能认为这个股票下跌了5 / 10 - 1 = 50%。

下面举一个具体的例子来说明如何计算除权价格以及复权涨跌幅:
易事特(SZ300376)在2015年6月5日的收盘价是89.00元,当天晚上每股分红0.184元,并且每10股转增4股,那么这个股票除权之后的收盘价应该是(89.00 - 0.184) * 10 / (10 + 4) = 63.44元。下一个交易日6月8日的收盘价是57.10,真实涨跌幅应该是57.10 / 63.44 - 1 = -9.993695%,而不是57.10 / 89.00 - 1 = -35.842697%。
其中真实涨跌幅57.10 / 63.44 - 1 = -9.993695%也被称为是复权涨跌幅。

易事特.png

yishite.png


【复权涨跌幅最重要】
因为以上除权问题的存在,很多研究量化的同学在寻找股票数据的时候,很在意是否能得到复权之后的价格数据。我想说的是,股票的复权价格并不是最重要的,最重要的是要得到股票复权之后的涨跌幅。

若你有了股票每天的复权涨跌幅,那么知道了股票第一天的价格,通过简单的连乘计算,自然就可以计算出之后每一天的复权价,这个叫做后复权价。例如股票第一天的价格是10元,之后每天的复权涨跌幅是1%、-2%、3%...那么之后每天的复权价格分别是10 * (1+1%)10 * (1+1%) * (1-2%)、10 * (1+1%) * (1-2%) * (1+3%)...
同样的,知道了股票最后一天的价格,那么自然也就可以计算出之前每一天的价格,这个叫做前复权价。行情软件中的前后复权价格,其实也是这么算出来的。

【python量化课程】想要快速、系统的学习量化知识,可以参与我与论坛合作开设的课程:《python量化投资入门》,我会亲自授课,随问随答。参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍点击此处。)

若股票数据中只给出了复权价格,这对计算收益的准确性是有很大影响的。例如给出的是前复权价格,那么很久之前的股票价格往往很小的数字,一般又都是精确到两位小数,所以会变成0.45,0.47这样类似的数字。例如万科A(SZ000002)在2006年2月8日的前复权收盘价是0.56,2月9日的前复权收盘价是0.48,那么2月9日的收益是0.48/0.56 - 1 = -14.29%,但是实际上8号、9号的真实收盘价是5.26、5.06,真实的涨幅是-3.80%,与-14.29%相差巨大。

wanke.png


【同花顺、通达信等各家的复权方式不同】
查看来自不同数据源的数据的时候,会发现它们的复权价格或者复权涨跌幅会有微小的差异,这往往是由不同的复权方式导致的。

例如,复权时对于分红产生的个人所得税,各家的处理方式是不一样的。同花顺、通达信中的复权是不考虑所得税的。上文提到的易事特(SZ300376)每股分红0.184元10股转4股,不考虑所得税的除权公式是(89.00 - 0.184) * 10 / (10 + 4) 。
但是实际上,这0.184元不会全部到投资者的口袋里,而是会扣掉10%的所得税(不同投资者扣得税还不一样),所以投资者得到的分红只有0.184 * (1 - 10%),那么更加准确的分红方式应该是:(89.00 - 0.184 * (1 - 10%)) * 10 / (10 + 4) 。一些专业的数据库,例如wind、国泰安,就是这么复权的。

【其他】
  • 对于分钟或者更小级别的数据,我个人认为是没有必要进行复权的,直接用原始数据就可以了。复权之后反而会对数据准确性造成非常大的影响。

  • 不要过分追求准确性。复权其实挺复杂的,之前的例子只提到了分红、转增,其实还有增发、配股、可转债等非常复杂的情况。所以哪怕非常贵的、非常专业的数据库,我都曾发现过它们复权计算中的错误。一开始这让我挺头疼的,但后来也释然了,不再去追究这些细小的误差。



之后会讲的内容

有一段时间没有撰写《量化小讲堂》的系列文章了,接下来还是会抽时间继续写下去。现在想到的之后几期会讲的内容:

因为觉得很多人关于Pandas的基础知识还不是很牢固,会先讲一期“【量化小讲堂 - Python、Pandas系列】Pandas常用函数、方法详解”。

然后就会开始比较实战性的东西,会以实际在中国市场有效的策略为案例。

关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我微信xbx_laoshi、Q群(快满):438143420沟通。



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python pandas 量化小讲堂 panda 量化投资 平均市盈率 windows 创业板 python 量化小讲堂

已有 6 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
accumulation + 100 + 1 + 1 + 1 精彩帖子
zhangibt + 100 精彩帖子
xddlovejiao1314 + 100 + 5 + 5 + 5 精彩帖子
2010517155lpq + 30 精彩帖子
客初 + 80 + 2 + 4 + 2 精彩帖子
fantuanxiaot + 100 + 100 精彩帖子

总评分: 经验 + 510  论坛币 + 100  学术水平 + 8  热心指数 + 10  信用等级 + 8   查看全部评分

本帖被以下文库推荐

不管去哪里 只要在路上
客初 企业认证  学生认证  发表于 2015-10-6 17:25:29 |显示全部楼层 |坛友微信交流群
【量化小讲堂】是我非常喜欢的一个系列帖子,感谢邢不行版主的分享和指点。
已有 1 人评分经验 收起 理由
2010517155lpq + 5 精彩帖子

总评分: 经验 + 5   查看全部评分

使用道具

fantuanxiaot 发表于 2015-10-7 13:39:50 |显示全部楼层 |坛友微信交流群
感谢邢不行版主的分享和指点。
已有 1 人评分经验 收起 理由
2010517155lpq + 5 精彩帖子

总评分: 经验 + 5   查看全部评分

使用道具

russelllee_ 发表于 2015-10-7 14:04:49 |显示全部楼层 |坛友微信交流群
好贴啊

使用道具

Crsky7 发表于 2015-10-7 14:05:04 |显示全部楼层 |坛友微信交流群
以前一直用的是前复权,对收益准确性影响那么大还真是第一次听说
已有 1 人评分经验 收起 理由
2010517155lpq + 5 精彩帖子

总评分: 经验 + 5   查看全部评分

使用道具

bbyyss007 发表于 2015-10-7 14:48:04 |显示全部楼层 |坛友微信交流群
学习了,多谢。。

使用道具

kakale 发表于 2015-10-7 15:15:57 |显示全部楼层 |坛友微信交流群
好贴啊

使用道具

多谢楼主分享!

使用道具

ydb8848 发表于 2015-10-7 16:27:46 |显示全部楼层 |坛友微信交流群
多谢分享。。。。

使用道具

sunnyyyyy123 发表于 2015-10-7 21:12:27 |显示全部楼层 |坛友微信交流群
谢谢楼主u分享  太噶信息了

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-18 23:11