楼主: 邢不行
29161 225

[源码分享] 【量化小讲堂- Python、pandas技巧系列】极简方法将日线数据转为周线、月线或其他周期   [推广有奖]

助理

学科带头人

59%

还不是VIP/贵宾

-

威望
1
论坛币
40671 个
学术水平
457 点
热心指数
472 点
信用等级
433 点
经验
40416 点
帖子
362
精华
26
在线时间
723 小时
注册时间
2010-4-30
最后登录
2017-10-23

邢不行 在职认证  发表于 2015-4-17 16:02:45 |显示全部楼层
本帖最后由 邢不行 于 2017-5-27 11:09 编辑

引言:

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

必读文章《10400倍策略分享-附视频逐行讲解代码》:http://bbs.pinggu.org/thread-5558776-1-1.html

所有系列文章汇总请见:http://bbs.pinggu.org/thread-3950124-1-1.html

想要快速、系统的学习量化知识,可以参与我与论坛合作开设的《python量化投资入门》视频课程:http://www.peixun.net/view/1028.html,我会亲自授课,随问随答。

参与课程还可以免费加入我的小密圈,我每天会在圈中分享量化的所见所思,圈子介绍:http://t.xiaomiquan.com/BEiqzVB

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

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




【量化小讲堂- Python、pandas技巧系列】极简方法将日线数据转为周线、月线或其他周期

分析股票数据的时候,往往会用不同的周期进行分析,以期得到更加全面的结果。比如日线、周线、月线,或者5分钟、15分钟、30分钟、60分钟。甚至有的时候会想,为什么的我的周期必须是自然周或者自然月,我能不能每11天或者每24天一个周期。


面对这样的需求,就必须写程序在不同的周期之间进行转换。本篇文章以将日线数据转换为周线数据为案例例,向大家介绍pandas的以下功能:
  • 使用pandas导入和导出输出
  • resample函数的用法

下面开始正文。

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

需要把日线转为周线,那么首先必须要有日线数据,从这个网站可以下载到所有股票历史上的日线数据,可以作为我们计算的原始数据。数据下载下来是下图这个样子:
每个股票一个csv文件
a.png



每一行是每一天的数据
QQ20150417-1.png



这个日线数据有以下的字段:
【code】 股票的代码,上证股票以sh开头,深证股票以sz开头
【date】 交易日期
【open】 开盘价
【high】 最高价
【low】 最低价
【close】 收盘价
【change】 涨跌幅,复权之后的真实涨跌幅,保证准确
【volume】 成交量
【money】 成交额
【traded_market_value】 流通市值
【market_value】 总市值
【turnover】 换手率,成交量/流通股本
【adjust_price】 后复权价,复权开始时间为股票上市日,精确到小数点后10位
【report_type】 最近一期财务报告的类型,3-31对应一季报,6-30对应半年报,9-30对应三季报,12-31对应年报
【report_date】 最近一期财务报告实际发布的日期
【PE_TTM】 最近12个月市盈率,股价 / 最近12个月归属母公司的每股收益TTM
【PS_TTM】 最近12个月市销率, 股价 / 最近12个月每股营业收入
【PC_TTM】 最近12个月市现率, 股价 / 最近12个月每股经营现金流
【PB】 市净率,股价 / 最近期财报每股净资产


在进行日线周线转换的时候,一定要注意,大部分周线的指标是这个日线指标在这一周最后一个交易日的值。比如周线的【close】应该等于这一周最后一天日线数据的【close】。但是有的指标是例外,比如周线的【high】应该等于这一周所有日线【high】中的最大值,周线的【volume】应该等于这一周所有日线【volume】的和。有了这样的理解之后,直接上程序截图,里面有详细的注释,有问题可以留言,附件中是程序的源码,回复即可下载

QQ20150417-2.png



把数据和程序下载下来,在程序中修改好文件的路径,应该就可以直接运行了。

思考题:
本案例中是将日线数据转换为周线,那么如何将日线数据转换为月线数据呢?
答案:只要修改代码中的一个字母就行了。



之后会讲的内容

现在想到的之后几期会讲的内容:
【量化小讲堂 - python & pandas技巧系列】使用python计算KDJ指标
【量化小讲堂 - python & pandas技巧系列】使用python计算MACD指标
【量化小讲堂 - 投资策略系列】KDJ、MACD指标双金叉选股效果

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



附件中是Python程序文件,免费,回复可见,觉得文章内容有帮助的话,顶贴是最好的鼓励!



本帖隐藏的内容

极简方法将日线数据转为周线、月线或其他周期.zip (173.08 KB)






支持楼主:购买VIP购买贵宾 购买后,论坛将奖励 10 元论坛资金给楼主,以表示您对TA发好贴的支持
 
载入中......
已有 6 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
lb9119812 + 1 + 1 + 1 精彩帖子
FlyUFalcon + 5 + 4 + 4 + 4 精彩帖子 Great ball of fires !!!!
zl89 + 80 精彩帖子
xujingtang + 100 + 1 + 2 精彩帖子
jerker + 60 + 60 + 1 + 1 + 1 精彩帖子
fantuanxiaot + 50 + 60 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 290  论坛币 + 125  学术水平 + 8  热心指数 + 9  信用等级 + 7   查看全部评分

本帖被以下文库推荐

不管去哪里 只要在路上
stata SPSS
fantuanxiaot 发表于 2015-4-17 16:12:38 |显示全部楼层
好了
回复

使用道具 举报

hkmonte 发表于 2015-4-17 20:21:29 |显示全部楼层
学习了,谢谢分享!
回复

使用道具 举报

auirzxp 发表于 2015-4-17 23:45:58 |显示全部楼层
回复

使用道具 举报

gaosong1117 发表于 2015-4-18 10:40:26 |显示全部楼层
感谢楼主分享
回复

使用道具 举报

oldwain 发表于 2015-4-18 11:49:02 来自手机 |显示全部楼层
邢不行 发表于 2015-4-17 16:02
引言:

本系列帖子“量化小讲堂”,通过实际的案例让大家知道如何使用Python、pandas进行金融数据处理。帖 ...
谢谢,很有帮助
回复

使用道具 举报

fy_bill2014 发表于 2015-4-18 12:23:28 |显示全部楼层
谢谢!
回复

使用道具 举报

jgw1213 发表于 2015-4-18 16:45:20 |显示全部楼层
学习一下
回复

使用道具 举报

zhangmms 发表于 2015-4-18 21:32:37 |显示全部楼层
正好学习一下
回复

使用道具 举报

zhengming631119 发表于 2015-4-18 21:57:48 |显示全部楼层
回复

使用道具 举报

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

GMT+8, 2017-10-24 10:22