tushare包目前已经升级了,从org版本升级到了pro版本,新版本数据稳定性更好质量更高,老的版本应该很多都不维护了,因为按照org版本的介绍,至于部分函数可以成功运行了~因此,建议大家进行pro版本的学习~tushare官网https://tushare.pro
想要使用tushare pro,需要先进行注册,才能够使用~
(1)打开tushare官网,点击“注册”或者“”进入注册页面,完成注册。
注册页面:
(2)注册成功后登陆 -> 点击个人主页 -> 点击接口token -> 点击“复制”,即可得到pro接口最重要的准入token啦~
(3)拿到token后就可以使用我们的tushare pro了。
(1)安装tushare,这个之前已经说过了,直接只用pip install安装即可。
pip install tushare
Tushare 学习 - Tushare包安装https://blog.csdn.net/u014530058/article/details/123628882
(2)使用前面注册为平台用户后得到的接口token完成配置。
# 导入tushare包
# 必须确保tushare的版本大于1.2.10
import tushare as ts
# 拿到申请到的token - tushare.pro官网进行申请
token = 'your own token'
# 设置token
pro = ts.pro_api(token)
方法二:
a. 如果想要保存token到本地,不想反复重新配置,则可执行下述操作。
# 直接将token设置到本地,因此只需要设置一次,则可反复使用~
# 待token失效后再次调用即可~
ts.set_token(token)
b. 执行完该操作后,则完成token设置,后面可以直接进行pro接口初始化,无需再次输入token(除非token失效)。
# 设置token后,则可完成pro接口初始化
pro = ts.pro_api()
(3)后面则可对tushare的相关函数进行调用了。
以官网调用交易日历信息为例 - 获取2022年1月1日到2022年2月1日的非交易日日期。
方法一:使用pro.trade_cal()
# start_date 和 end_date分别表示开始和结束日期,注意参数格式
# fields - 选择哪些字段输出
# is_open - 是否为交易日,其中“0”表示非交易日,“1”表示交易日
df = pro.trade_cal(exchange='', start_date='20220101', end_date='20220201', fields='exchange,cal_date,is_open,pretrade_date', is_open='0')
# start_date - 开始日期,注意参数格式
# end_date - 结束日期,注意参数格式
# fields - 选择哪些字段输出
# is_open - 是否为交易日,其中“0”表示非交易日,“1”表示交易日
结果输出:
方法二:使用pro.query()
# 方法二:使用pro.query方法进行调用
df = pro.query('trade_cal', exchange='', start_date='20220101', end_date='20220201', fields='exchange,cal_date,is_open,pretrade_date', is_open='0')
结果输出:
如果上述调用成功,说明tushare pro版本可正常调用,token设置成功。
之前的org版本是不设token的,就无所谓需要认证注册这一个问题,只要下载就可以进行数据调用~Pro版本积分制的引入,给新手用户增加了蛮多限制的,没有充足的积分,有一些接口就无权调用~
当然,积分是可以通过不同的途径获得的,官网上面写了比较清楚的获得积分的步骤。
tushare pro版 - 平台积分https://tushare.pro/document/1?doc_id=13
想要知道哪些方法可以调用,哪些方法不能调用,可以查询相应权限。例:
tushare pro版本 - 权限说明https://tushare.pro/document/1?doc_id=108
像我这种新用户,注册完之后只有100积分,然后,补充了资料后,就有120积分了。刚好可以调用他们的日线行情 - daily。
daily:
# 描述:获取股票行情数据。
# 接口说明:交易日每天15点~16点之间进行更新。本接口是未复权行情,停牌期间不提供数据
# 调取说明:基础积分每分钟内最多调取500次,每次5000条数据,相当于23年历史,用户获得超过5000积分正常调取无频次限制。
从这个接口可以得到:
# ts_code - 股票代码
# trade_date - 交易日期
# open - 开盘价
# high - 最高价
# low - 最低价
# close - 收盘价
# pre_close - 昨收价
# change - 涨跌额
# pct_chg - 涨跌幅 (未复权)
# vol - 成交量 (手)
# amount - 成交额 (千元)
a. 获取单股票某一交易时间区间的数据。
# 调用日线行情
# 单股票
df = pro.daily(ts_code='000001.SZ', start_date='20220301', end_date='20220317')
调用结果:
b. 获取多股票某一交易时间区间的数据。
# 多股票
# 调整ts_code,使用","进行分割
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20220301', end_date='20220317')
调用结果:
c. 取历史某一天
# 调用某一个交易日的全部交易数据
df = pro.daily(trade_date='20220317')
调用结果:
参考资料:
(1) tushare pro:Tushare大数据社区