学习习量化金融,第一步是想办法获取交易数据,如每日**价格、开盘价、交易次数等。 市面上有很多软件,比如东方财富、雪球,还有各大**公司的交易软件等等,都可以查询到,但是要想用python通过程序批量获取,就得通过开源程序获取。 今天,我们介绍一个开源数据库Tushare,它可以轻松获取您需要的财务数据。
为了在 Python 中对接 tushare 服务,需要在本地安装 tushare 命令,安装命令如下:
pip install tushare
欲了解更多信息,请访问Tushare的官方网站。
现在tushare已经升级到pro版本了,各种命令和以前有很大的不同,旧版本的命令还是可以使用的,但是不知道什么时候会失效,所以这里用最新的用法。
据介绍,Tushare提供的内容不再是直接从互联网上抓取的,而是经过社区收集整理,经过质量控制后存储在数据库中,然后再提供给用户。
要使用tushare,需要先在官网注册账号,注册并获得100积分,填写个人信息并发送20积分,120积分可以使用一些基本功能。 然后在首页申请接口 Token,需要加载 Token 才能调用 TuShare 服务。
第一步是在 Python 中加载 tushare 库。
importtushare as ts
第二步是加载令牌
token = 'your token'
ts.set_token(token)
第三步是初始化接口。
pro = ts.pro_api()
例如,您也可以直接在初始化接口中加载令牌。
pro = ts.pro_api(token)
第四步,以获取每日数据为例,使用每日接口获取数据,并以 DataFrame 的形式返回数据。
df = pro.daily(ts_code='000001.sz', start_date='20230101', end_date='20231130')
每日所需的参数为ts代码、开始日期、结束日期、交易日期,日期格式填写为yyyymmdd,如20231130。
返回的数据如下所示。
参数说明如下。
您还可以获取给定日期的所有数据。
df_1 = pro.daily(trade_date='20231130')
总的来说,使用 Tushare 非常方便,只需三四行即可轻松获取您的交易数据。
但毕竟TuShare是开源数据,大量高频调用API会导致服务器面临崩溃,为了保证服务器的正常使用,公益TuShare团队设计了一个积分系统。 120积分只能保证最基本的使用,一些更高级的功能,更高频率的访问需要获得更多的积分。
根据官网,获得积分的方式有很多种,比如推荐使用、贡献**、提交bug等。 但估计最实际的办法是付钱,付200就能拿到2000积分,基本上大部分接口都可以用,而且是永久性的。