码迷,mamicode.com
首页 > 其他好文 > 详细

tushare

时间:2018-07-18 20:32:28      阅读:263      评论:0      收藏:0      [点我收藏+]

标签:pytho   tushare   nump   计算   date   sar   datetime   store   读取   

import numpy as np
import pandas as pd
import tushare as ts
import datetime
import time
import tushare as ts
import os
import matplotlib
import matplotlib.pyplot as plt

def gen_save_exchange_calendar():
#从TuShare读取开市日历,然后自己计算week/month/querter/year sart/end 属性
#然后保存在本地以供以后使用
cal_dates = ts.trade_cal()
cal_dates[‘isWeekStart‘] = 0
cal_dates[‘isWeekEnd‘] = 0
cal_dates[‘isMonthStart‘] = 0
cal_dates[‘isMonthEnd‘] = 0
cal_dates[‘isQuarterStart‘] = 0
cal_dates[‘isQuarterEnd‘] = 0
cal_dates[‘isYearStart‘] = 0
cal_dates[‘isYearEnd‘] = 0
previous_i = -1
previous_open_week = -1
previous_open_month = -1
previous_open_year = -1

for i in cal_dates.index:
str_date = cal_dates.loc[i][‘calendarDate‘]
isOpen = cal_dates.loc[i][‘isOpen‘]
if not isOpen:
continue
date = datetime.datetime.strptime(str_date, ‘%Y-%m-%d‘).date()
#设置isWeekStart和isWeekEnd
current_open_week = date.isocalendar()[1]
if current_open_week != previous_open_week:
cal_dates.ix[i, ‘isWeekStart‘] = 1
if previous_open_week != -1:
cal_dates.ix[previous_i, ‘isWeekEnd‘] = 1

#设置isMonthStart和isMonthEnd
current_open_month = date.month
if current_open_month != previous_open_month:
cal_dates.ix[i, ‘isMonthStart‘] = 1
if previous_open_month != -1:
cal_dates.ix[previous_i, ‘isMonthEnd‘] = 1
#顺便根据月份设置isQuarterStart和isQuarterEnd
if current_open_month in [1, 4, 7, 10]:
cal_dates.ix[i, ‘isQuarterStart‘] = 1
if previous_open_month != -1:
cal_dates.ix[previous_i, ‘isQuarterEnd‘] = 1
#有个特殊情况是交易所开始第一天应为QuarterStart
if previous_open_month == -1:
cal_dates.ix[i, ‘isQuarterStart‘] = 1

#设置isYearStart和isYearEnd
current_open_year = date.year
if current_open_year != previous_open_year:
cal_dates.ix[i, ‘isYearStart‘] = 1
if previous_open_year != -1:
cal_dates.ix[previous_i, ‘isYearEnd‘] = 1

previous_i = i
previous_open_week = current_open_week
previous_open_month = current_open_month
previous_open_year = current_open_year

#保存到本地文件中
file_name = ‘D:\\python_study\\stock_hist_data\\exchange_calendar.h5‘
hdf5_file=pd.HDFStore(file_name, ‘w‘,complevel=4, complib=‘blosc‘)
hdf5_file[‘data‘]=cal_dates
hdf5_file.close()


gen_save_exchange_calendar()

tushare

标签:pytho   tushare   nump   计算   date   sar   datetime   store   读取   

原文地址:https://www.cnblogs.com/Rvin/p/9331062.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!