tushare获取交易数据

TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

安装TuShare依赖的package

~$ pip install lxml
~$ pip install pandas
~$ pip install tushare

查询数据

获取历史交易记录 get_hist_data()

get_hist_data(code=None, start=None, end=None, ktype='D', retry_count=3, pause=0.001)

Example:

import tushare as ts  
#get_hist_data()
#一次性获取全部日k线数据(最近3年)
万科 = ts.get_hist_data('000002')
万科 = ts.get_hist_data('000002','2016-09-01')
>>> type(万科)
<class 'pandas.core.frame.DataFrame'>  
#返回pandas的DataFrame数据类型

#获取上证指数k线数据,其它参数与个股一致,下同
上证指数 = ts.get_hist_data('sh')
#获取深圳成指k线数据
深圳成指 = ts.get_hist_data('sz')
#获取沪深300指数k线数据
沪深300 = ts.get_hist_data('hs300')
#获取上证50指数k线数据
上证50 = ts.get_hist_data('sz50')
#获取中小板指数k线数据
中小板 = ts.get_hist_data('zxb')
#获取创业板指数k线数据
创业板指数 = ts.get_hist_data('cyb')

获取复权数据get_h_data()

get_h_data(code, start=None, end=None, autype='qfq', index=False, retrycount=3, pause=0.001, dropfactor=True)

  • 个人认为复权数据使用到的请看较少
  • tushare默认获取近一年的复权价格基本够用啦
  • 获取从上市到目前为止的复权信息,性能上是个问题

Example

#默认为前复权,如果不设定开始和结束日期,则返回近一年的复权数据
>>>万科前复权 = ts.get_h_data('000002')
>>>万科前复权
             open   high  close    low       volume        amount
date  
2016-09-14  23.35  23.80  23.58  23.33   78557476.0  1.852711e+09  
...
2015-09-16  12.56  13.10  12.89  12.39   70785552.0  9.384691e+08

#

一次性获取最近一个日交易日所有股票的交易数据get_today_all()

  • 默认按涨幅排序
  • 获取数据量较大,速度取决于网速

Example

>>> today = ts.get_today_all()
[Getting data:]#####################################>>> 
>>> today.head(10)
     code  name  changepercent  trade   open   high    low  settlement  \
0  002812   N创新         43.998  33.71  28.09  33.71  28.09       23.41  
1  603189   N网达         43.939  10.45  10.45  10.45  10.45        7.26  
2  600116  三峡水利         10.049   8.98   8.88   8.98   8.53        8.16  
3  601231  环旭电子         10.045  12.16  11.20  12.16  11.16       11.05  
...

历史分笔get_tick_data()

  • 历史分笔接口只能获取当前交易日之前的数据
ts.get_tick_data('000002',date='2016-09-01')  

实时分笔 get_realtime_quotes()

get_realtime_quotes(symbols=None) symbols : string, array-like object (list, tuple, Series)

  • 性能与行情软件基本一致
ts.get_realtime_quotes('000002')

#上证指数 深圳成指 沪深300指数 上证50 中小板 创业板
ts.get_realtime_quotes(['sh','sz','hs300','sz50','zxb','cyb'])

#查询多个股票方法
STOCK = ['510050','002673','150153']  
df = ts.get_realtime_quotes(STOCK)  
print(df[['code','name','price','ask','bid','volume','amount','time']])

get_today_ticks()获取当前交易日(交易进行中使用)已经产生的分笔明细数据

ts.get_today_ticks('601333')  

get_index()获取大盘指数实时行情列表,以表格的形式展示大盘指数实时行情

get_sina_dd()获取大单交易数据,默认为大于等于400手,数据来源于新浪财经

ts.get_sina_dd('600848', date='2015-12-24')  
ts.get_sina_dd('600848', date='2015-12-24', vol=500)  #指定大于等于500手的数据