1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 基于akshare查取每天五分钟成交额 35分钟成交额 1h成交额 并输出为cvs

基于akshare查取每天五分钟成交额 35分钟成交额 1h成交额 并输出为cvs

时间:2018-08-17 15:56:31

相关推荐

基于akshare查取每天五分钟成交额 35分钟成交额 1h成交额 并输出为cvs

基于akshare查取每天五分钟成交额,35分钟成交额,1h成交额,并输出为cvs

import os#定义start,end#数据格式为1997 01 01 06 30 00import fun1import pandas as pdimport numpy as npstart="1207"end='0114'best_ip = fun1.select_best_ip()#AKshare获取数据部分#需要建的变量,股票的本身数据,以及根据日期建立的dataframe格式import akshare as ak#获取当前正在交易的股票代码,以及今天的市场情况stock_sh_a_spot_em_df = ak.stock_sh_a_spot_em()stock_code_list=stock_sh_a_spot_em_df['代码']print(stock_code_list)total = pd.DataFrame(columns=['日期', '开盘', '收盘', '最高', '最低', '成交量', '成交额', '振幅', '涨跌幅', '涨跌额', '换手率','涨跌幅_5', '涨跌额_5', '成交量_5', '成交额_5', '振幅_5', '涨跌幅_10', '涨跌额_10','成交量_10', '成交额_10', '振幅_10', '涨跌幅_05', '涨跌额_05', '成交量_05', '成交额_05','振幅_05', '涨跌幅_1h', '涨跌额_1h', '成交量_1h', '成交额_1h', '振幅_1h'])k=0#code=stock_code_list[1]for code in stock_code_list:#单次返回指定沪深京 A 股上市公司、指定周期和指定日期间的历史行情日频率数据,采用后复权stock_zh_a_hist_df = ak.stock_zh_a_hist(symbol=code, period="daily",start_date=start,end_date=end, adjust="hfq")#单次返回指定股票、频率、复权调整和时间区间的分时数据, 其中 1 分钟数据只返回近 5 个交易日数据且不复权,缺点是只能获取近些日期的if stock_zh_a_hist_df.empty == False:trade_days=stock_zh_a_hist_df['日期'].valuesdf = pd.DataFrame(columns=['涨跌幅_5', '涨跌额_5', '成交量_5', '成交额_5', '振幅_5', '涨跌幅_10', '涨跌额_10','成交量_10', '成交额_10', '振幅_10', '涨跌幅_05', '涨跌额_05', '成交量_05', '成交额_05','振幅_05', '涨跌幅_1h', '涨跌额_1h', '成交量_1h', '成交额_1h', '振幅_1h'])for i in range(0,trade_days.size):trade_day=trade_days[i]jj = ak.stock_zh_a_hist_min_em(symbol=code, start_date=trade_day+' 09:30:00', end_date=trade_day+' 10:30:00', period='5', adjust='hfq')#提取关键数据data_all=jj.iloc[np.arange(0,12,1),[5,6,7,8,9,10]]sum=data_all.iloc[0,0:5]data_5=sumfor j in np.arange(1,12,1):sum=data_all.iloc[j,0:5]+sumif j==5:data_10=sumif j ==6:data_05=sumif j==11:data_1h=sumdata_5.index = data_5.index + '_5'data_10.index=data_10.index+'_10'data_05.index = data_05.index + '_05'data_1h.index = data_1h.index + '_1h'c=pd.concat([data_5, data_10,data_05, data_1h],axis=0,ignore_index=False)df.loc[i]=cdel data_5, data_10,data_05, data_1h,sum#这个数据处理好后,加入stock_zh_a_hist_df 中,记录5min 10min 30min 35min的累计数据,以及,2.30, 2.35的数据,需要注意近些日期数据的获取,意味着部分过往数据无法获取stock_data=pd.concat([stock_zh_a_hist_df,df],axis=1,ignore_index=False)for i in range(0, trade_days.size):total.loc[k]=stock_data.iloc[i]k=k+1print('complete'+code)outputpath = 'C:/Users/cbl/Downloads/result_test.csv'total.to_csv(outputpath,sep=',',index=False,encoding = 'utf_8_sig',header=True)

采集到的数据上传在我的主页

后面基于采集到的数据,去除了大市值和小市值做了一些相关性分析,结果文件在我的主页,资源下载里面,自行下载

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。