【量化小讲堂-Python量化入门06】极简方法将日线数据转为周
本文原由作者于2015年4月17日首发于人大经济论坛,整理如下。
引言:
【所有系列文章汇总】请点击此处
本系列帖子“量化小讲堂”,通过实际案例教初学者使用python、pandas进行金融数据处理,希望能对大家有帮助。
微信:xbx_laoshi,量化交流Q群(快满):438143420,有问题欢迎交流。
文中用到的A股数据可在www.yucezhe.com下载,这里可以下载到所有股票、从上市日起的交易数据、财务数据、分钟数据、分笔数据、逐笔数据等。
极简方法将日线数据转为周线、月线或其他周期
分析股票数据的时候,往往会用不同的周期进行分析,以期得到更加全面的结果。比如日线、周线、月线,或者5分钟、15分钟、30分钟、60分钟。甚至有的时候会想,为什么的我的周期必须是自然周或者自然月,我能不能每11天或者每24天一个周期。
面对这样的需求,就必须写程序在不同的周期之间进行转换。本篇文章以将日线数据转换为周线数据为案例例,向大家介绍pandas的以下功能:
- 使用pandas导入和导出输出
- resample函数的用法
下面开始正文。
需要把日线转为周线,那么首先必须要有日线数据,从这个网站可以下载到所有股票历史上的日线数据,可以作为我们计算的原始数据。数据下载下来是下图这个样子:
每个股票一个csv文件
每一行是每一天的数据
image.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】的和。有了这样的理解之后,直接上程序截图,里面有详细的注释,有问题可以留言,附件中是程序的源码,回复即可下载。
image.png
把数据和程序下载下来,在程序中修改好文件的路径,应该就可以直接运行了。
思考题:
本案例中是将日线数据转换为周线,那么如何将日线数据转换为月线数据呢?
答案:只要修改代码中的一个字母就行了。
扫描下图二维码,关注邢不行老师微信,询问获取文中附件、代码、数据的下载链接。
扫描上方二维码加邢不行微信,或直接添加微信号:xbx_laoshi关于《量化小讲堂》之后想看的内容,或者相关问题,可以加我的微信xbx_laoshi、或者Q群(快满):438143420沟通。