获取所有股票数据
                            
                            
                            #%%#先引入后面可能用到的包(package)
import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns 
sns.set() 
%matplotlib inline 
#正常顯示畫圖時(shí)出現(xiàn)的中文和負(fù)號(hào)
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
#使用tushare獲取交易數(shù)據(jù)
#設(shè)置token
import tushare as ts 
token=''
ts.set_token(token)
pro=ts.pro_api(token)
#pro=ts.pro_api(token)
index={'上證綜指': '000001.SH','深證成指': '399001.SZ','滬深300': '000300.SH','創(chuàng)業(yè)板指': '399006.SZ','上證50': '000016.SH','中證500': '000905.SH','中小板指': '399005.SZ','上證180': '000010.SH'}
#獲取當(dāng)前交易的股票代碼和名稱
def get_code():df = pro.stock_basic(exchange='', list_status='L')codes=df.ts_code.valuesnames=df.name.valuesstock=dict(zip(names,codes))#合并指數(shù)和個(gè)股成一個(gè)字典stocks=dict(stock,**index)return stocks 
#獲取行情數(shù)據(jù)
def get_data(stock,start='20151009',end=''):#如果代碼在字典index里,則取的是指數(shù)數(shù)據(jù)code=get_code()[stock]if code in index.values():df=ts.pro_bar(ts_code=code,asset='I',start_date=start, end_date=end)#否則取的是個(gè)股數(shù)據(jù)else:df=ts.pro_bar(ts_code=code, adj='qfq',start_date=start, end_date=end)#將交易日期設(shè)置為索引值df.index=pd.to_datetime(df.trade_date)df=df.sort_index()return df 
import tushare as ts
import pandas as pd
import timedef maintask():pro = ts.pro_api()#獲取基礎(chǔ)信息數(shù)據(jù),包括股票代碼,名稱,上市日期,退市日期等pool = pro.stock_basic(exchange='',list_status = 'L',adj = 'qfq',fields = 'ts_code,symbol,name,area,industry,fullname,list_date,market,exchange,is_hs')#print(pool.head()) print('獲得上市股票總數(shù):',len(pool)-1)j=1for i in pool.ts_code:print('正在獲取第%d家,股票代碼%s' %(j,i))#接口限制訪問200次/分鐘,加一點(diǎn)微小的延時(shí)防止被bantime.sleep(0.301)j += 1df = pro.daily(ts_code=i,start_date = startdate,end_date = enddate,fields = 'ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount')#print(df.head())writer = pd.ExcelWriter(i + '.xlsx')df.to_excel(writer,sheet_name= i + '',index=False)if __name__== '__main__':#設(shè)置起始日期startdate='19980101'enddate='20200224'#主程序maintask()
 
                            
                        
                        
                        總結(jié)
                            
                        - 上一篇: tushare查看a股是否跌到位
 - 下一篇: WeakReference带来了什么