分享

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

 卷美书香 2017-10-30


纠结了很长一段时间,也辛苦了很长一段时间,最终还是选择在这个周末发布了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到最新版

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

需要写的代码是:

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)

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


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)


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)

5、港股数据

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

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


6、期货数据

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

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


7、美股数据
这里以阿里巴巴的股票为例,获取最近的行情。

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

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

tick接口

1、股票tick

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

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

数据里没有增加代码一列,如果有需要可以同多df[‘code’] = code实现。

2、期货tick

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

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

沪/深港通每日资金流向

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

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多