将日/分钟数据转为周线、月线或其他周期

import os
import pandas as pd

stock_data = pd.read_csv('stock data/sh600898.csv',parse_dates=[1])
#设定转换周期period_type  转换为周是'W',月'M',季度线'Q',五分钟'5min',12天'12D'
period_type = 'W'
#将[date]设定为index,inplace是原地修改,不要创建一个新对象
stock_data.set_index('date',inplace=True)
#进行转换,周线的每个变量都等于那一周中最后一个交易日的变量值
period_stock_data = stock_data.resample(period_type,how='last')
#周线的change等于那一周中每日change的连续相乘
period_stock_data['change'] = stock_data['change'].resample(period_type,how=lambda x:(x+1.0).prod()-1.0)
#周线的open等于那一周中第一个交易日的open
period_stock_data['open'] = stock_data['open'].resample(period_type,how='first')
#周线的high等于那一周中的high的最大值
period_stock_data['high'] = stock_data['high'].resample(period_type,how='max')
#周线的low等于那一周中的low的最大值
period_stock_data['low'] = stock_data['low'].resample(period_type,how='min')
#周线的volume等于那一周中volume和money各自的和
period_stock_data['volume'] = stock_data['volume'].resample(period_type,how='sum')
#股票在有些周一天都没有交易,将这些周去除
period_stock_data = period_stock_data[period_stock_data['code'].notnull()]
period_stock_data.reset_index(inplace=True)
#导出数据
period_stock_data.to_csv('week_stock_data.csv',index=False)

参考:http://m.blog.csdn.net/trader_python/article/details/52856992

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值