Tushare Pro接口介绍

摘要:
因此,互联网上许多与金融和股票交易数据获取相关的文章都使用了旧版本的Tushare。该接口获取所有上市股票的基本信息数据,1pro=ts.pro_api(token)2data=pro.stock_basic(exchange='',

  Tushare库在数据获取方面一直受到金融分析人员的青睐,极大地减轻了他们在金融数据采集、清洗加工、存储过程的工作量,更加专注于策略和模型的研究与实现上。由于Tushare旧版运行了有3年之久,因此目前网上很多涉及财经和股票交易数据获取的文章使用的是旧版Tushare。Tushare社区现在主要维护新版本tushare pro,它的数据更稳定质量更高,而且从广度和深度上相对旧版本都做了更大的改进,可获取的数据内容扩大到了包括沪深股票行情、财务、市场参考、指数(含国外股指)、基金、期货、期权、宏观经济、行业经济、新闻资讯等财经数据,以及数字货币行情等区块链数据,为金融量化人员节省了大量宝贵时间。

  pro版本的总体来说使用是免费的,使用前需要登陆官网注册账号以获取token,注册地址:https://tushare.pro/register?reg=365212 。不过部分接口设置了权限,需要达到一定的积分才能使用。下面以获取常用的股票行情数据为例,展示下tushare pro获取数据的方法。

先介绍下stock_basic()接口,该接口获取上市的所有股票基础信息数据,包括股票代码、名称、上市日期、退市日期等。输入参数说明如下:
is_hs:是否沪深港通标的,N否、H沪股通、S深股通;
list_status:上市状态,L上市、D退市、P暂停上市;
exchange:交易所 SSE上交所,SZSE深交所,HKEX港交所。
注:关于输出参数大家可参照官网的介绍,此处不在赘述。

 1 pro = ts.pro_api(token)
 2 data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
 3 print(data.head())
 4 """
 5      ts_code  symbol  name area industry list_date
 6 0  000001.SZ  000001  平安银行   深圳       银行  19910403
 7 1  000002.SZ  000002   万科A   深圳     全国地产  19910129
 8 2  000004.SZ  000004  国农科技   深圳     生物制药  19910114
 9 3  000005.SZ  000005  世纪星源   深圳     房产服务  19901210
10 4  000006.SZ  000006  深振业A   深圳     区域地产  19920427
11 """
12 print(data.tail())
13 """
14 
15         ts_code  symbol  name area industry list_date
16 3585  603993.SH  603993  洛阳钼业   河南      小金属  20121009
17 3586  603996.SH  603996  中新科技   浙江     家用电器  20151222
18 3587  603997.SH  603997  继峰股份   浙江     汽车配件  20150302
19 3588  603998.SH  603998  方盛制药   湖南      中成药  20141205
20 3589  603999.SH  603999  读者传媒   甘肃      出版业  20151210
21 """

  再介绍下daily()接口,该接口获取股票行情数据,也是最常用的接口。输入参数包括股票代码ts_code、开始日期start_date、结束日期end_date。
#获取平安银行日行情数据

 1 pa=pro.daily(ts_code='000001.SZ', start_date='20180101',
 2                end_date='20190106')
 3 
 4 print(pa.head())
 5 """
 6      ts_code trade_date  open     ...       pct_chg         vol       amount
 7 0  000001.SZ   20190104  9.24     ...        5.0647  1481159.06  1422149.888
 8 1  000001.SZ   20190103  9.18     ...        0.9793   415537.95   384457.707
 9 2  000001.SZ   20190102  9.39     ...       -2.0256   539386.32   498695.109
10 3  000001.SZ   20181228  9.31     ...        1.0776   576604.00   541571.004
11 4  000001.SZ   20181227  9.45     ...       -0.2151   624593.27   586343.755
12 
13 [5 rows x 11 columns]
14 """
15 print(pa.tail())
16 """
17        ts_code trade_date   open     ...       pct_chg         vol       amount
18 241  000001.SZ   20180108  13.25     ...         -2.56  2158620.81  2806099.169
19 242  000001.SZ   20180105  13.21     ...          0.38  1210312.72  1603289.517
20 243  000001.SZ   20180104  13.32     ...         -0.60  1854509.48  2454543.516
21 244  000001.SZ   20180103  13.73     ...         -2.70  2962498.38  4006220.766
22 245  000001.SZ   20180102  13.35     ...          3.01  2081592.55  2856543.822
23 
24 [5 rows x 11 columns]
25 """

  我们发现此处返回的DataFrame格式数据的行索引为序号,而不是交易日期,并且数据按日期的排列顺序是从20190104到20180102,与专栏例程中的标准数据格式不稳和,我们需要调整下返回

的数据格式。

 1 pa.index = pd.to_datetime(pa.trade_date)
 2 pa.sort_index(inplace=True)
 3 pa.drop(axis=1, columns='trade_date', inplace=True)
 4 print(pa.head())
 5 """
 6               ts_code  open  high     ...       pct_chg         vol       amount
 7 trade_date                            ...                                       
 8 2019-01-04  000001.SZ  9.24  9.82     ...        5.0647  1481159.06  1422149.888
 9 2019-01-03  000001.SZ  9.18  9.33     ...        0.9793   415537.95   384457.707
10 2019-01-02  000001.SZ  9.39  9.42     ...       -2.0256   539386.32   498695.109
11 2018-12-28  000001.SZ  9.31  9.46     ...        1.0776   576604.00   541571.004
12 2018-12-27  000001.SZ  9.45  9.49     ...       -0.2151   624593.27   586343.755
13 
14 [5 rows x 10 columns]
15 """
16 print(pa.tail())
17 """
18               ts_code   open     ...              vol       amount
19 trade_date                       ...                              
20 2018-01-08  000001.SZ  13.25     ...       2158620.81  2806099.169
21 2018-01-05  000001.SZ  13.21     ...       1210312.72  1603289.517
22 2018-01-04  000001.SZ  13.32     ...       1854509.48  2454543.516
23 2018-01-03  000001.SZ  13.73     ...       2962498.38  4006220.766
24 2018-01-02  000001.SZ  13.35     ...       2081592.55  2856543.822
25 
26 [5 rows x 10 columns]
27 """
关于使用index_daily接口获取指数每日行情,该接口设置了使用权限,用户需要累积200积分才可以调取,积分积累的办法可以参照官网的介绍。如果未达到积分,也可以通过旧版接口获取指数行
情。这里我们通过旧版本获取并可视化国内上证综指、深证成指、沪深300、创业板指、上证50、中小板指数据。

 1 #获取常见股票指数行情
 2 indexs={'上证综指': 'sh','深证成指': 'sz',
 3          '沪深300': 'hs300','创业板指': 'cyb',
 4           '上证50': 'sz50', '中小板指': 'zxb'}
 5 
 6 index_data = {}
 7 for name, code in indexs.items():
 8     #df = pro.index_daily(ts_code=code)#需要200积分
 9     df = ts.get_hist_data(code,start='2019-01-01',end=datetime.datetime.now().strftime('%Y-%m-%d'))
10     df.index = pd.to_datetime(df.index)
11     index_data[name] = df.sort_index()

Tushare Pro接口介绍第1张
 

免责声明:文章转载自《Tushare Pro接口介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇sql优化(oracle)Matlab 图像转极坐标系下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

hive 存储,解析,处理json数据

 hive 处理json数据总体来说有两个方向的路走 1、将json以字符串的方式整个入Hive表,然后通过使用UDF函数解析已经导入到hive中的数据,比如使用LATERAL VIEW json_tuple的方法,获取所需要的列名。 2、在导入之前将json拆成各个字段,导入Hive表的数据是已经解析过得。这将需要使用第三方的SerDe。 测试数据为新浪...

HIDL 概要

概述 HIDL:HAL interface definition langurage。描述HAL和用户之间的接口。接口可以是数据类型或方法。这些数据类型和方法组织在接口和包里。 HIDL也是软件之间的一个通信系统,为接口添加了binder机制。 HIDL描述的数据结构和方法签名组织在接口里,即.hal文件。HIDL语言的符号类似于C++和java语言,但...

Python接口自动化(四) https请求(SSLError解决办法)

电脑环境 python:3.7 requests:2.22.0 fiddler:v5.0.20  一、SSL问题 1.在你不启用fiddler时,python代码直接发送https请求,不会有SSL问题(也就是说不想看到SSL问题,关掉fiddler就行)  2.启动fiddler抓包,会出现SSLError这个错误: requests.except...

Asp.net Mvc 使用EF6 code first 方式连接MySQL总结

最近由于服务器变更为Linux系统.MsSql for Linux什么时候出来到生产环境使用还是要很长时间的.于是考虑使用Mysql数据库,ORM使用EF.于是先踩下坑顺便记录一下,有需要的tx可以参考下.当你考虑使用EF连接Mysql的时候肯定是已经在网上搜了一堆教程.网上教程基本都是使用控制台做演示.跟着一步步来姿势没错的话可能会正常运行,但项目中使用...

射频识别技术漫谈(9)——动物标签HDX【worldsing笔记】

半双工(HDX,Half Duplex)技术是ISO11784/11785中规定的另一种标签与读写器之间的通讯方式。读写器先打开射频场对标签充电以激活标签,然后关闭磁场,标签在读写器磁场关闭的情况下向读写器传送数据。不过HDX虽然是在动物标签标准中规定,但似乎更多的应用于和动物联系不大的工业识别领域。这也没什么大惊小怪的,标准是标准,实际应用中适合的才是最...

UNIX网络编程——TCP/IP简介

一、ISO/OSI参考模型        OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardization)国际标准化组织定义的网络分层模型,共七层,如下图:                                      物理...