Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。
在Tushare旧版运行了3年后,更新版Tushare Pro不再是直接从互联网抓取,而是通过社区的采集和整理存入数据库经过质量控制后再提供给用户数据。
Tushare ID:501501
目录
前言
tushare现已升级至pro版,但是依然支持一些旧的接口,结合使用能提高取数效率。
一、获取历史行情数据
1.引入库
代码如下:
import tushare as ts
import pandas as pd
pro = ts.pro_api(token=’你的token’)
2、pro.daily()
参数说明
名称 |
类型 |
必选 |
描述 |
ts_code |
str |
Y |
指数代码 |
trade_date |
str |
N |
交易日期 (日期格式:YYYYMMDD,下同) |
start_date |
str |
N |
开始日期 |
end_date |
str |
N |
结束日期 |
返回值说明
名称 |
类型 |
描述 |
ts_code |
str |
TS指数代码 |
trade_date |
str |
交易日 |
close |
float |
收盘点位 |
open |
float |
开盘点位 |
high |
float |
最高点位 |
low |
float |
最低点位 |
pre_close |
float |
昨日收盘点 |
change |
float |
涨跌点 |
pct_chg |
float |
涨跌幅(%) |
vol |
float |
成交量(手) |
amount |
float |
成交额(千元) |
代码1:
pro.daily(ts_code='000001.SZ')#显示所有日期
输出1:
代码2:
pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718')
#选中时间区间
输出2:
3、pro.daily_basic()
参数说明
名称 |
类型 |
必选 |
描述 |
ts_code |
str |
Y |
股票代码(二选一) |
trade_date |
str |
N |
交易日期 (二选一) |
start_date |
str |
N |
开始日期(YYYYMMDD) |
end_date |
str |
N |
结束日期(YYYYMMDD) |
返回值说明
名称 |
类型 |
描述 |
ts_code |
str |
TS股票代码 |
trade_date |
str |
交易日期 |
close |
float |
当日收盘价 |
turnover_rate |
float |
换手率(%) |
turnover_rate_f |
float |
换手率(自由流通股) |
volume_ratio |
float |
量比 |
pe |
float |
市盈率(总市值/净利润, 亏损的PE为空) |
pe_ttm |
float |
市盈率(TTM,亏损的PE为空) |
pb |
float |
市净率(总市值/净资产) |
ps |
float |
市销率 |
ps_ttm |
float |
市销率(TTM) |
dv_ratio |
float |
股息率 (%) |
dv_ttm |
float |
股息率(TTM)(%) |
total_share |
float |
总股本 (万股) |
float_share |
float |
流通股本 (万股) |
free_share |
float |
自由流通股本 (万) |
total_mv |
float |
总市值 (万元) |
circ_mv |
float |
流通市值(万元) |
取法一:
pro.daily_basic(ts_code='',trade_date='20180726',fields='ts_code,trade_date,turnover_rate,volume_ratio,pe,pb')
取法二:
pro.query('daily_basic', ts_code='', trade_date='20180726',fields='ts_code,trade_date,turnover_rate,volume_ratio,pe,pb')
4、Tushare旧版get_hist_data
ts.get_hist_data('000001')
运行结果
参数说明
code:股票代码,即6位数字代码,或者指数代码(sh=上证指数 sz=深圳成指 hs300=沪深300指数 sz50=上证50 zxb=中小板 cyb=创业板)
start:开始日期,格式YYYY-MM-DD
end:结束日期,格式YYYY-MM-DD
ktype:数据类型,D=日k线 W=周 M=月 5=5分钟 15=15分钟 30=30分钟 60=60分钟,默认为D
retry_count:当网络异常后重试次数,默认为3
pause:重试时停顿秒数,默认为0
返回值说明:
date:日期
open:开盘价
high:最高价
close:收盘价
low:最低价
volume:成交量
price_change:价格变动
p_change:涨跌幅
ma5:5日均价
ma10:10日均价
ma20:20日均价
v_ma5:5日均量
v_ma10:10日均量
v_ma20:20日均量
turnover:换手率[注:指数无此项]
一些其他实例
ts.get_hist_data('600848', ktype='W') #获取周k线数据
ts.get_hist_data('600848', ktype='M') #获取月k线数据
ts.get_hist_data('600848', ktype='5') #获取5分钟k线数据
ts.get_hist_data('600848', ktype='15') #获取15分钟k线数据
ts.get_hist_data('600848', ktype='30') #获取30分钟k线数据
ts.get_hist_data('600848', ktype='60') #获取60分钟k线数据
ts.get_hist_data('sh')#获取上证指数k线数据,其它参数与个股一致,下同
ts.get_hist_data('sz')#获取深圳成指k线数据
ts.get_hist_data('hs300')#获取沪深300指数k线数据
ts.get_hist_data('sz50')#获取上证50指数k线数据
ts.get_hist_data('zxb')#获取中小板指数k线数据
ts.get_hist_data('cyb')#获取创业板指数k线数据
5、Tushare旧版get_k_data()
ts.get_k_data('300274')
get_k_data比get_hist_data更快更稳定,而且可以返回每一只股票从上市开始到当前交易日的所有日线数据。
运行结果:
二、获取实时数据:旧版get_today_all()
ts.get_today_all()
运行结果:
没有参数。
返回值说明
code:代码
name:名称
changepercent:涨跌幅
trade:现价
open:开盘价
high:最高价
low:最低价
settlement:昨日收盘价
volume:成交量
turnoverratio:换手率
amount:成交量
per:市盈率
pb:市净率
mktcap:总市值
nmc:流通市值
附录
3.一篇非常好的博客