Tushare——Python量化金融数据获取的优质接口
免费金融数据接口Tushare介绍,本文主要解决以下几个问题:
- Tushare能用来做什么
- Tushare用前需知(学生福利)
- Tushare如何使用
第一,Tushare能用来做什么
Tushare平台截图如下:
可以看出,该平台主要为各个宏观数据如GDP、利率等,微观如股票、可转债、以及金融衍生品等数据,覆盖各种一般用途足以。
具体用途:
(1)对投资者:个人可以用来做量化交易策略,平台数据更新速度还是可以的,不管你是价值投资流派还是技术K线流派,数据给你随你造作。具本人了解,目前很多个人投资者在自己鼓捣自己的量化策略。
(2)对研究人员:数据获取分析很方便,整个行业逐个公司数据分析时,一个个公司数据下载,Excel处理汇总?想想就头大,相比之下用程序分析一个公司分析,再对所有公司做个循环高效多了,不管行业数据透视还是市场数据透视,通通手到擒来。
(3)对相关专业学生:首先写个论文要用数据分析,可以从这里拿。还有些地区会有一些量化交易比赛(比如浙江省的证券投资大赛量化组),可以从这个数据接口拿数据,数据获取速度也比较快。
(4)对高水平选手:可以依据Tushare平台数据可以自己搭建可视化平台,每天看着股票数据在自己写的平台上蹿下跳,应该很有成就感。再对于其他用途可以自行脑补,我什么都不知道,因为我只是个菜鸟。
第二,用前需知
学生党福利想引起你的注意,Tushare平台对于高校学生十分友好,平台实行积分制,5000积分可以低频数据(比如日频)随便调用(高频数据需另外申请,分钟级即为高频),高校学生身份认证直接送2000积分,就以及达到了很多数据调用的门槛,只是频率有限制。
积分获取可以捐赠获得(1RMB=10分),也可以拉新人,欢迎大家点击链接注册支持(https://tushare.pro/register?reg=367402),一个新人奖励50积分。个人积分一年刷新一次,依据每个人积分获取时间计算,非年末。
一般注册完可以找到官网上公布的QQ群,本来就免费的接口,后续服务还贼到位,简直是量化良心。群内找米哥,对大家遇到的各种问题都积极回答,让我们把米哥打到Tushare上。
编写程序能高效处理数据,Python因简洁的语法和功能强大的各种库近年很受欢迎,本篇文章将主要介绍Python在量化金融中的数据获取部分,本文将基于Tushare——一个非常好用的量化金融接口,进行介绍。
当然Tushare也支持Matlab、R、HTTP等获取方式,本文主要介绍Python接口调用,需要用其他语言的自行查看网址:https://tushare.pro/document/1
第三,使用介绍
本节将从装库到调用分三步介绍。
万年第一步——装库
调用tushare库需提前安装numpy, pandas, lxml, requests库。
老操作了,嫌慢找镜像网站(个人觉得豆瓣快一点),对于pycharm选手,建议都添加进库查找网站:pip install tushare -i http~~~
1)http://mirrors.aliyun.com/pypi/simple/ 阿里云
2)https://pypi.mirrors.ustc.edu.cn/simple/ 中国科技大学
3)http://pypi.douban.com/simple/ 豆瓣
4)https://pypi.tuna.tsinghua.edu.cn/simple/ 清华大学
5)http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学
注册Tushare账号获取token
可以理解为这是个通行证,证明你的积分高够才能获取相应数据(因为有些数据是有积分限制的),可点击链接注册账号。后续拿数据不需要你的Tushare在登录状态,只要token在就好,token可手动刷新,刷新后之前的token就不能调用接口。
Tushare数据调取
Tushare本身的文档写的以及很详细了,每个接口都会给出详细的案例和参数解释:
下面给出一个完整调用案例,剩下数据调用都类似,找到案例换掉就好了,获取的数据默认是DataFrame格式。
import numpy as np
import pandas as pd #数据处理一般都要调用这两个库
import tushare as ts #这就是为什么案例里面是ts.pro_api()
pro = ts.pro_api(****) #这里写你的token
#查询当前所有正常上市交易的股票列表
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
#存到excel
date.to_excel(r'path') #path为你的本地保存路径