TS新接口,是别人的是你的也是我的

浏览: 7231

纠结了很长一段时间,也辛苦了很长一段时间,最终还是选择在这个周末发布了tushare的1.0版本。

版本号一直从0点几往上加,直到在0.9.9被终结,其实很想就这么9.9999下去。对自己要求严格的人,可能对自己做的东西也是同样如此。说实话,从tushare发布到现在,虽然有些人觉得用的很爽,但还是没有达到我想要的那个版本。

有人要问了,那个版本是什么?

我觉得有几个方面: 1、数据获取容易 2、数据格式统一 3、数据接口稳定 4、数据质量过硬  5、数据免费开放

tushare一直在朝这几个方面努力,从易用性到标准化做了不少改进,在数据的可靠性和稳定性方面也在努力提升。未来一定会朝着这个理想的状态继续努力,当然,不同于一般的商业公司,tushare的理念是开放、免费,在tushare的生态里“我的就是你的,你的也可以是大家的”。

不扯太远,先来看看1.0有哪些改进。

总体来看,bar支持了主要证券品种(沪深股票、基金、期货、期权、港股、中概股等)的各类k线数据,包括1分钟、5分钟、15分钟、30分钟和60分钟,以及日线、周线、季度和月线数据。而tick接口是以上品种Level1的成交数据。

首先,需要升级tushare到最新版

image.png

然后,在调用新的行情接口之前,先要干的一件事情就是声明一个行情连接的变量,然后重复使用它来获取数据。

需要写的代码是:

import tushare as ts

#获取连接备用

cons = ts.get_apis()

如果有timeout的提示,重新执行一次即可。

bar接口

1、股票日线行情

#股票日线行情

df = ts.bar('600000', conn=cons, freq='D', start_date='2016-01-01', end_date='')
df.head(5)

默认情况下,数据只返回高开低收、成交量和成交额

image.png

2、带因子的行情

想要获得其他数据,比如价格均线、量比、换手率等数据,需要配置额外的参数。其中 ma=[5, 10, 20, 60] 表示一次性获得5/10/20/60日均线,量比和换手率数据通过factors参数配置,factors=[‘vr’, ‘tor’],vr表示量比,tor表示换手率,此次版本暂且只支持这两种因子,未来可以无限延伸。

#带因子的行情

df = ts.bar('600000', conn=cons, start_date='2016-01-01', end_date='', ma=[5, 10, 20], factors=['vr', 'tor'])
df.head(5)

image.png

3、复权数据

bar接口针对沪深的股票行情增加了复权数据功能,通过设置参数

#复权行情, adj=qfq(前复权), hfq(后复权),默认None不复权

df = ts.bar('600000', conn=cons, adj='qfq', start_date='2016-01-01', end_date='')
df.head(5)

4、分钟数据

设置freq参数,分别为1min/5min/15min/30min/60min,D(日)/W(周)/M(月)/Q(季)/Y(年)

#分钟数据, 设置freq参数,分别为1min/5min/15min/30min/60min,D(日)/W(周)/M(月)/Q(季)/Y(年)

df = ts.bar('600000', conn=cons, freq='1min', start_date='2016-01-01', end_date='')
df.head(15)

5、指数数据

#指数日行情, 设置asset='INDEX'

df = ts.bar('000300', conn=cons, asset='INDEX', start_date='2016-01-01', end_date='')
df.head(5)

image.png

6、港股数据

#港股数据, 设置asset='X'

df = ts.bar('00981', conn=cons, asset='X', start_date='2016-01-01', end_date='')
df.head(5)

image.png
7、期货数据

#期货数据, 设置asset='X'

df = ts.bar('CU1801', conn=cons, asset='X', start_date='2016-01-01', end_date='')
df.head(5)

image.png
8、美股数据

这里以阿里巴巴的股票为例,获取最近的行情。

#美股数据, 设置asset='X'

df = ts.bar('BABA', conn=cons, asset='X', start_date='2016-01-01', end_date='')
df.head(5)

image.png

tick接口

1、股票tick

#股票tick,type:买卖方向,0-买入 1-卖出 2-集合竞价成交

df = ts.tick('600000', conn=cons, date='2017-10-26')
df.head(20)

数据里没有增加代码一列,如果有需要可以同多df[‘code’] = code实现。
image.png
2、期货tick

#期货tick,type:买卖方向,0:开仓  1:多开   -1:空开

df = ts.tick('CU1801', conn=cons, asset='X', date='2017-10-25')
df.head(20)

image.png

沪/深港通每日资金流向

#沪/深港通每日资金流向(南向/北向资金)

df = ts.moneyflow_hsgt()
df.sort_values('date', ascending=False)

image.png

对新接口demo程序感兴趣的朋友,请在本公公众号发私信 “ts新接口”自动获取完整可运行样例代码。

最后,今天偶然看到下面这张图片,联想起在北京地铁经常碰到请求别人扫描的场景,拿来改造一下换成了自己的,希望有人转发有人关注,谢谢!

image.png

推荐 0
本文由 挖地兔 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

大神 跟随你步伐注册这里上来评论下 ts.bar 只能取昨日, 不是实时的 , 那量比我自己计算好了 . 谢谢大神的贡献

要回复文章请先登录注册