这篇文章主要是想分享一个金融大数据社区Tushare,最近在做量化的课题,针对自己的一些内容做一些分享。
导入Tushare
import tushare as ts
在初次使用时需要调用token,token是调取数据的唯一凭证,可以在账户个人主页——接口token页面找到。
ts.set_token('your token here')
后续使用时直接用pro_api()初始化即可,无需重复设置。如果上一步骤ts.set_token(‘your token’)无效或不想保存token到本地,也可以在初始化接口里直接设置token。
pro = ts.pro_api()
or
pro = ts.pro_api('your token') ## 需要每次使用时设置your token
以上就是针对tushre的简单的设置介绍,接下来尝试用tushare获取沪深300流通率较高的股票的历史数据。
截止2021年11月,按流通市值排序,沪深300指数前16位成分股:
ticker_list = {
'601398.SH': '工商银行',
'601857.SH': '中国石油',
'601390.SH': '中国中铁',
'601988.SH': '中国银行',
'600519.SH': '贵州茅台',
'600028.SH': '中国石化',
'601628.SH': '中国人寿',
'601318.SH': '中国平安',
'600036.SH': '招商银行',
'600000.SH': '浦发银行',
'601166.SH': '兴业银行',
'600104.SH': '上汽集团',
'601088.SH': '中国神华',
'601668.SH': '中国建筑',
'601328.SH': '交通银行',
'601939.SH': '建设银行'
}
#字典类型存储
数据的起始日期设置为2010年1月1日————2021年11月30日
#起始日期
start = '20100101'
#截止日期
end = '20211130'
#str类型
分别获取16只股票的历史数据,需要写一个循环,最后将数据拼接在一起即可。
stock_data = pd.DataFrame() #最终存储数据的容器
for code in ticker_list:
#temp_stock 每只股票的数据,起止时间提前设置好。
temp_stock = pro.daily(ts_code=code, start_date=start_date, end_date=end_date)
stock_data = pd.concat([stock_data, temp_stock])
最终看一下结果(部分信息);
print(len(stock_data))
45857