三分钟入门量化(二):Tushare Pro数据接口介绍

hello,我是毛豆。本系列用最精简的代码和案例带你快速入门量化,只讲最干的干货,想要学习量化又不知道该如何上手的小伙伴赶紧看过来!

上一期回顾:三分钟入门量化(一):行情数据获取&绘制k线图

本期内容继续介绍常用的Tushare交易数据接口。毛豆在每周末都会更新这个系列,建议大家收藏起来方便学习。

一、Tushare Pro介绍

在上一期中向大家介绍了Tushare数据库,Tushare是一个免费、开源的python财经数据接口包。由于Tushare数据库已经升级到Tushare Pro版本,想要使用更多的数据接口就需要使用Tushare Pro账号了。

1.账号注册

首先我们去官网注册一个Tushare Pro账号:https://tushare.pro/

点击右上角注册,填写手机号、密码、验证码即可,很快就搞定啦!

2.Tushare积分

Tushare积分是调取数据的权限,注册完成后会有100积分,然后完善个人信息,可以获取到20积分,这样一来我们就有120的基础积分了。有积分后我们就可以调用部分数据接口了,不同的数据接口需要的积分也不同,在官方给出的API文档中有详细的说明。例如获取股票列表,只需要120积分:

而获取个股资金流的接口则需要2000积分:

参与社区维护、贡献代码等方式都可以获取积分,具体参见官方文档:https://tushare.pro/document/1?doc_id=13

3.API调用方式

调取数据前要进行token认证,每个账号注册成功后都会有一个token,点击右上角的个人主页-接口TOKEN即可查看:

拿到token后我们回到jupyter notebook进行认证即可:

import tushare as ts
pro = ts.pro_api('your token')

认证成功后就可以正常调取数据了,比如我们以获取基础的股票列表为例:

#查询当前所有正常上市交易的股票列表
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
data.head()

返回如下:

至此,我们成功通过Tushare Pro提供的API获取到了数据,接下来我们来看一下Tushare Pro提供的其他常用接口吧。

二、常用数据接口

这里毛豆选取了12个最为常用的数据接口,通过这些接口,足够应对90%以上的数据需求!下面为大家逐一介绍。

1.获取股票列表

接口:stock_basic

数据类别:基础数据

使用频率:*****

使用示例:

获取当前全部股票列表:

#查询当前所有正常上市交易的股票列表
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
data.head()

​​​​​​​返回结果:同上

这个是最基础、最常用的接口,在此基础上才能进行后续的选股。

2.获取交易日历

接口:trade_cal

数据类别:基础数据

使用频率:*****

使用示例:

获取今年以来的交易日历:

df = pro.trade_cal(exchange='', start_date='20230101', end_date='20230512')
df.head(15)

返回如下:

is_open为1代表开市,is_open为0代表休市,pretrade_date代表上一个交易日日期。

筛选出今年以来的所有交易日:

trade_date_list=df.loc[df['is_open']==1].cal_date.tolist()
print(trade_date_list)

返回如下:

这个接口和获取股票列表接口一样,也属于最基础、最常用的接口。

3.获取备用列表

接口:bak_basic

数据类别:基础数据

使用频率:*****

使用示例:

获取剑桥科技的基本信息:

df = pro.bak_basic(trade_date='20230512', ts_code='603083.SH',fields='trade_date,ts_code,name,industry,area,total_share,float_share,pe,pb,list_date')

返回如下:

如果不传ts_code参数则默认为全部标的:

df = pro.bak_basic(trade_date='20230512',fields='trade_date,ts_code,name,industry,area,total_share,float_share,pe,pb,list_date')
df.head()

返回如下:

股票的基础信息都在这里,非常实用的接口。比如你想要获取某只股的行业、地区、总股本、流通股本、市盈率、市净率、上市日期等等信息,只需要这一个接口就全部搞定!

4.获取日线行情数据

接口:daily

数据类别:行情数据

使用频率:*****

使用示例:

获取剑桥科技今年的行情数据:

df = pro.daily(ts_code='603083.SH', start_date='20230101', end_date='20230512')
df.head()

返回如下:

包括交易日期开盘价、收盘价、最高价、最低价、昨日收盘价、涨跌额、涨跌幅、成交量、成交额。

获取多只股票的行情数据:

df = pro.daily(ts_code='603083.SH,601949.SH', start_date='20230101', end_date='20230512')
df.head()

返回如下:

如果不传ts_code参数则默认为全部标的。

这个接口和原版的get_hist_data接口功能基本一样,也属于必备的数据接口。

5.获取每日指标

接口:daily_basic

数据类别:行情数据

使用频率:*****

使用示例:

获取剑桥科技2023年5月12当天的指标:

df = pro.daily_basic(ts_code='603083.SH', trade_date='20230512', fields='ts_code,trade_date,turnover_rate,turnover_rate_f,volume_ratio,pe,pb,total_mv,circ_mv')

这个接口可以看作是bak_basic的升级版,除了市盈率、市净率、流通市值、总市值等数据外,还返回量比和换手率,不需要自己再单独计算,非常实用!缺点是需要额外的积分。

6.获取个股资金流信息

接口:moneyflow

数据类别:行情数据

使用频率:***

使用示例:

获取剑桥科技今年以来的资金流信息:

df = pro.moneyflow(ts_code='603083.SH', start_date='20230101', end_date='20230512')

获取全部股票2023.5.12当日的资金流信息:

df = pro.moneyflow(trade_date='20230512')

资金流属于个性化的指标,不属于通用指标,主要看自己的策略中是否需要。这个接口也需要额外的积分。

7.    获取每日涨跌停价格

接口:stk_limit

数据类别:行情数据

使用频率:****

使用示例:

获取剑桥科技2023.5.12的涨跌停价格:

df = pro.stk_limit(ts_code='603083.SH',trade_date='20230512')

如果不传ts_code参数则默认为全部标的。

这个接口多用于设定买卖条件时使用,比如打板买入、跌停卖出等。需要额外的积分。

8. 获取财务指标数据

接口:fina_indicator

数据类别:财务数据

使用频率:***

使用示例:

获取剑桥科技今年以来的财务数据:

df = pro.fina_indicator(ts_code='603083.SH', start_date='20230101', end_date='20230512')

返回全部的财务指标数据,非常齐全。需要额外的积分。

9. 获取融资融券交易数据

接口:margin、margin_detail

数据类别:市场参考数据

使用频率:****

使用示例:

获取2023.5.12融资融券交易数据:

df = pro.margin(trade_date='20180802')

返回融资余额、融资买入额、融资偿还额、融券余额、融券余量等。

10.获取每日筹码分布

接口:cyq_chips

数据类别:特色数据

使用频率:***

使用示例:

查看2023.5.12剑桥科技筹码分布数据:

df = pro.cyq_chips(ts_code='603083.SH', trade_date='20230512')
df.head()

返回如下:

price为成本价、percent为百分比。

非常惊喜的接口!自己去统计的筹码分布的话比较麻烦,如果需要写筹码分布相关的策略这个接口非常实用。

11.获取涨跌停数据

接口:limit_list_d

数据类别:特色数据

使用频率:****

使用示例:

查看2023.5.12涨停数据:

df = pro.limit_list_d(trade_date='20230512', limit_type='U') 
df.head()

limit_type可选U涨停D跌停Z炸板。

返回如下:

返回收盘价、成交额、换手率、流通市值、总市值、封单额、首次封板时间、最终封板时间、炸板次数、连板数等等,甚至连几天内涨停几次都有统计出来。同样是非常棒的一个接口,做短线的朋友一定不要错过!

12.获取同花顺概念/行业信息

接口:ths_index、ths_member、ths_daily

数据类别:指数数据

使用频率:***

使用示例:

查看同花顺有哪些板块,每个板块各有多少成分股:

df = pro.ths_index()

查看网络直播板块(885788)的成分股:

df = pro.ths_member(ts_code='885788.TI')

查看网络直播板块(885788)在2023.5.12当天的行情数据:

df = pro.ths_daily(ts_code='885788.TI', trade_date='20230512', fields='ts_code,trade_date,open,close,high,low,pct_change')

如果想做行业/概念板块的研究就要用到这几个接口了,清晰简明。与此类似的还有申万行业的相关接口。

除了股票数据外,Tushare Pro还提供期货、期权、外汇、债券等数据,甚至连电影票房数据都有提供,非常全面!这里毛豆就不一一展示了,感兴趣的朋友可以去tushare官网了解更多有意思的数据接口,有任何想要查看的行情数据,也都可以直接在官方的API文档中查询:https://tushare.pro/document/2

以上是今天的全部干货内容,毛豆会在每周末更新这个系列,也会在每个交易日继续和大家分享旋风冲锋量化策略的实盘情况,欢迎大家点赞关注。

回测:旋风冲锋策略说明

实盘:四月策略数据公示&常见问题说明

猜你喜欢

转载自blog.csdn.net/weixin_37475278/article/details/130682402