python财经数据接口工具_Python财经数据接口包TuShare的使用

Python财经数据接口包TuShare的使用

3485次浏览

2018.06.08更新

TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从

数据采集、

清洗加工到

数据存储的过程,能够为金融分析人员提供

快速、

整洁、和

多样的便于分析的数据。

考虑到python

pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas

DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。

python财经数据接口工具_Python财经数据接口包TuShare的使用_第1张图片

工具/材料

Python 2.x / 3.x

pandas

lxml

安装和体验

01

安装TuShare

方式1:pip install tushare

方式2:访问https://pypi.python.org/pypi/tushare/下载安装

方式3:将源代码下载到本地python setup.py install

02

升级TuShare

1、先查看本地与线上的版本版本号:

pip search tushare

2、升级TuShare:

pip install tushare --upgrade

03

确认安装成功

import tushare as ts

print ts.__version__

04

获取历史交易数据

import tushare as ts

df = ts.get_hist_data('600848')

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线数据

python财经数据接口工具_Python财经数据接口包TuShare的使用_第2张图片

05

获取历史分笔数据

df = ts.get_tick_data('000756','2015-03-27')

df.head(10)

python财经数据接口工具_Python财经数据接口包TuShare的使用_第3张图片

06

获取实时分笔数据

df = ts.get_realtime_quotes('000581')

print df[['code','name','price','bid','ask','volume','amount','time']]

返回值说明:

0:name,股票名字

1:open,今日开盘价

2:pre_close,昨日收盘价

3:price,当前价格

4:high,今日最高价

5:low,今日最低价

6:bid,竞买价,即“买一”报价

7:ask,竞卖价,即“卖一”报价

8:volumn,成交量 maybe you need do volumn/100

9:amount,成交金额(元 CNY)

10:b1_v,委买一(笔数 bid volume)

11:b1_p,委买一(价格 bid price)

12:b2_v,“买二”

13:b2_p,“买二”

14:b3_v,“买三”

15:b3_p,“买三”

16:b4_v,“买四”

17:b4_p,“买四”

18:b5_v,“买五”

19:b5_p,“买五”

20:a1_v,委卖一(笔数 ask volume)

21:a1_p,委卖一(价格 ask price)

...

30:date,日期

31:time,时间

End

获取其他数据

01

股票分数数据

行业分类

ts.get_industry_classified()

概念分类,所有股票炒作概念,比如苹果、特斯拉等

ts.get_concept_classified()

地域分类

ts.get_area_classified()

中小板分类

ts.get_sme_classified()

创业板分类

ts.get_gem_classified()

风险警示板分类

ts.get_st_classified()

沪深300成份股及权重

ts.get_hs300s()

上证50成份股

ts.get_sz50s()

02

基本面数据

沪深股票列表(基础数据,沪深所有股票情况)

ts.get_stock_basics()

业绩报告(主表)

#获取2014年第3季度的业绩报表数据

ts.get_report_data(2014,3)

盈利能力数据

#获取2014年第3季度的盈利能力数据

ts.get_profit_data(2014,3)

营运能力数据

#获取2014年第3季度的营运能力数据

ts.get_operation_data(2014,3)

成长能力数据

ts.get_growth_data(2014,3)

偿债能力数据

ts.get_debtpaying_data(2014,3)

现金流量数据

ts.get_cashflow_data(2014,3)

03

宏观经济数据

目前宏观经济数据主要包括以下方面:

金融信息数据

国民经济数据

价格指数数据

景气指数数据

对外经济贸易数据

End

数据存储

01

保存为csv格式

import tushare as ts

df = ts.get_hist_data('000875')#直接保存

df.to_csv('c:/day/000875.csv')#选择保存

df.to_csv('c:/day/000875.csv',columns=['open','high','low','close'])

保存为Excel格式

df = ts.get_hist_data('000875')#直接保存

df.to_excel('c:/day/000875.xlsx')#设定数据位置(从第3行,第6列开始插入数据)

df.to_excel('c:/day/000875.xlsx', startrow=2,startcol=5)

保存为HDF5文件格式

df = ts.get_hist_data('000875')

df.to_hdf('c:/day/hdf.h5','000875')

保存为JSON格式

df = ts.get_hist_data('000875')

df.to_json('c:/day/000875.json',orient='records')

02

MySQL数据库

pandas提供了将数据便捷存入关系型数据库的方法,在新版的pandas中,主要是已sqlalchemy方式与数据建立连接,支持MySQL、Postgresql、Oracle、MS

SQLServer、SQLite等主流数据库。本例以MySQL数据库为代表,展示将获取到的股票数据存入数据库的方法,其他类型数据库请参考sqlalchemy官网文档的create_engine部分。

from sqlalchemy import create_engine

import tushare as ts

df = ts.get_tick_data('600848',date='2014-12-22')

engine = create_engine('mysql://user:[email protected]/db_name?charset=utf8')

#存入数据库

df.to_sql('tick_data',engine)

#追加数据到现有表

#df.to_sql('tick_data',engine,if_exists='append')

python财经数据接口工具_Python财经数据接口包TuShare的使用_第4张图片

03

存入MongoDB

import pymongo

import json

conn = pymongo.Connection('127.0.0.1', port=27017)

df = ts.get_tick_data('600848',date='2014-12-22')

conn.db.tickdata.insert(json.loads(df.to_json(orient='records')))

python财经数据接口工具_Python财经数据接口包TuShare的使用_第5张图片

End

免责声明:

本页搜狗指南内容仅代表作者本人意见,若因此产生任何纠纷由作者本人负责,概与搜狗公司无关。本页搜狗指南内容仅供参考,请您根据自身实际情况谨慎操作。尤其涉及您或第三方利益等事项,请咨询专业人士处理。

0

点赞

无帮助

无帮助

恭喜您完成每日一赞任务

经验值+5

感谢您的反馈

相关推荐

你可能感兴趣的:(python财经数据接口工具)