打开网易新闻 查看精彩图片

引言:

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

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

【所有系列文章汇总】:查看文章汇总目录请点击此处

微信:coinquant,有问题欢迎交流。

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

极简方法将日线数据转为周线、月线或其他周期

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

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

1.使用pandas导入和导出输出

2.resample函数的用法

下面开始正文。

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

每个股票一个csv文件

打开网易新闻 查看精彩图片

每一行是每一天的数据

打开网易新闻 查看精彩图片

这个日线数据有以下的字段:

【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】的和。

有了这样的理解之后,直接上程序截图,里面有详细的注释,有问题可以留言,程序的源码可以加我的微信coinquant索要。

打开网易新闻 查看精彩图片

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

思考题:

本案例中是将日线数据转换为周线,那么如何将日线数据转换为月线数据呢?

答案:只要修改代码中的一个字母就行了。

之后会讲的内容:

现在想到的之后几期会讲的内容:

【量化小讲堂 - python & pandas技巧系列】使用python计算KDJ指标

【量化小讲堂 - python & pandas技巧系列】使用python计算MACD指标

【量化小讲堂 - 投资策略系列】KDJ、MACD指标双金叉选股效果

对于文章的内容有疑问、或者《量化小讲堂》相关的问题,欢迎大家留言、私信与我进行沟通。