Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。在Tushare旧版运行了3年后,更新版TusharePro不再是直接从互联网抓取,而是通过社区的采集和整理存入数据库经过质量控制后再提供给用户数据。
TushareID:501501
tushare现已升级至pro版,但是依然支持一些旧的接口,结合使用能提高取数效率。
获取历史行情数据
引入库
代码如下:
import tushare as ts
import pandas as pd
pro = ts.pro_api(token=’你的token’)
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 | 成交额(千元) |
代码
pro.daily(ts_code="000001.SZ")#显示所有日期
输出
代码
pro.daily(ts_code="000001.SZ", start_date="20180701", end_date="20180718")
#选中时间区间
输出
参数说明
名称 | 类型 | 必选 | 描述 |
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")
ts.get_hist_data("000001")
运行结果
参数说明
code:股票代码,即6位数字代码,或者指数代码start:开始日期,格式YYYY-MM-DDend:结束日期,格式YYYY-MM-DDktype:数据类型,D=日k线W=周M=月5=5分钟15=15分钟30=30分钟60=60分钟,默认为Dretry_count:当网络异常后重试次数,默认为3pause:重试时停顿秒数,默认为0
date:日期open:开盘价high:最高价close:收盘价low:最低价volume:成交量price_change:价格变动p_change:涨跌幅ma5日均价ma10日均价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线数据
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:流通市值
一篇非常好的博客
文章为作者独立观点,不代表股票交易接口观点