1 背景
Tushare平台是目前使用python学习量化投资比较好用的而且是免费的一个数据获取平台。主要实现对金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。
2 获取未复权数据
2.1 登陆Tushare
通过以下url,用户可以注册到自己的tushare账号,登陆账号之后,在账号的个人首页->接口Token中获取对应的Token进行数据获取的钥匙。
url = "https://tushare.pro/register?reg=399376"
2.2 用pyhton连接tushare
首先,需要安装tushare模块
pip install tushare
连接tushare
import tushare as ts
ts.set_token('your token here')#这里填入自己获取的token
pro = ts.pro_api()
2.3 用pyhton获取数据
以平安银行为例,获取2018年-2021年平安银行的日线数据:
df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20211022')
数据说明:
交易日每天15点~16点之间。本接口是未复权行情,停牌期间不提供数据。
输入参数:
名称 | 类型 | 必选 | 描述 |
---|
ts_code | str | N | 股票代码(支持多个股票同时提取,逗号分隔) |
trade_date | str | N | 交易日期(YYYYMMDD) |
start_date | str | N | 开始日期(YYYYMMDD) |
end_date | str | N | 结束日期(YYYYMMDD) |
注:日期都填YYYYMMDD格式,比如20181010
输出参数:
名称 | 类型 | 描述 |
---|
ts_code | str | 股票代码 |
trade_date | str | 交易日期 |
open | float | 开盘价 |
high | float | 最高价 |
low | float | 最低价 |
close | float | 收盘价 |
pre_close | float | 昨收价 |
change | float | 涨跌额 |
pct_chg | float | 涨跌幅 (未复权,如果是复权请用 通用行情接口 ) |
vol | float | 成交量 (手) |
amount | float | 成交额 (千元) |
也可以通过这种方式进行数据获取:
df = pro.query('daily', ts_code='000001.SZ', start_date='20180701', end_date='20211022')
也可以按照日期获取某一天的全部数据:
df = pro.daily(trade_date='20211022')
多个数据一起获取:
df = pro.daily(ts_code='000001.SZ,600000.SH', start_date='20180701', end_date='20180718')
2.4 查看数据数据
查看拿到的数据类型,发现数据为DataFrame格式,因此数据的操作与pandas一致
>>>type(df)
pandas.core.frame.DataFrame
查看前5条数据t
df.head()
同理,查看后5条数据
df.tail()
| ts_code | trade_date | open | high | low | close | pre_close | change | pct_chg |
---|
799 | 000001.SZ | 20180706 | 8.61 | 8.78 | 8.45 | 8.66 | 8.60 | 0.06 | 0.70 |
---|
800 | 000001.SZ | 20180705 | 8.62 | 8.73 | 8.55 | 8.60 | 8.61 | -0.01 | -0.12 |
---|
801 | 000001.SZ | 20180704 | 8.63 | 8.75 | 8.61 | 8.61 | 8.67 | -0.06 | -0.69 |
---|
802 | 000001.SZ | 20180703 | 8.69 | 8.70 | 8.45 | 8.67 | 8.61 | 0.06 | 0.70 |
---|
803 | 000001.SZ | 20180702 | 9.05 | 9.05 | 8.55 | 8.61 | 9.09 | -0.48 | -5.28 |
---|
3 获取复权数据
接口名称:pro_bar
更新时间:股票和指数通常在15点~17点之间,数字货币实时更新,具体请参考各接口文档明细。
描述:目前整合了股票(未复权、前复权、后复权)、指数、数字货币、ETF基金、期货、期权的行情数据,未来还将整合包括外汇在内的所有交易行情数据,同时提供分钟数据。不同数据对应不同的积分要求,具体请参阅每类数据的文档说明。
其它:由于本接口是集成接口,在SDK层做了一些逻辑处理,目前暂时没法用http的方式调取通用行情接口。用户可以访问Tushare的Github,查看源代码完成类似功能。
输入参数
名称 | 类型 | 必选 | 描述 |
---|
ts_code | str | Y | 证券代码,不支持多值输入,多值输入获取结果会有重复记录 |
api | str | N | pro版api对象,如果初始化了set_token,此参数可以不需要 |
start_date | str | N | 开始日期 (格式:YYYYMMDD,提取分钟数据请用2019-09-01 09:00:00这种格式) |
end_date | str | N | 结束日期 (格式:YYYYMMDD) |
asset | str | Y | 资产类别:E股票 I沪深指数 C数字货币 FT期货 FD基金 O期权 CB可转债(v1.2.39),默认E |
adj | str | N | 复权类型(只针对股票):None未复权 qfq前复权 hfq后复权 , 默认None,目前只支持日线复权。 |
freq | str | Y | 数据频度 :支持分钟(min)/日(D)/周(W)/月(M)K线,其中1min表示1分钟(类推1/5/15/30/60分钟) ,默认D。对于分钟数据有600积分用户可以试用(请求2次),正式权限请在QQ群私信群主或积分管理员。 |
ma | list | N | 均线,支持任意合理int数值。注:均线是动态计算,要设置一定时间范围才能获得相应的均线,比如5日均线,开始和结束日期参数跨度必须要超过5日。目前只支持单一个股票提取均线,即需要输入ts_code参数。 |
factors | list | N | 股票因子(asset='E'有效)支持 tor换手率 vr量比 |
adjfactor | str | N | 复权因子,在复权数据时,如果此参数为True,返回的数据中则带复权因子,默认为False。 该功能从1.2.33版本开始生效 |
获取平安银行前复权数据
df = pro.query('daily', adj = 'qfq', ts_code='000001.SZ', start_date='20210701', end_date='20211022')
4 总结
这是最基础的数据获取教程,代码已同步到github,会慢慢更新~
5 Reference
https://github.com/RxxxxR/quantitative_analysis
Tushare大数据社区
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)