TuShare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集清洗加工数据存储的过程,能够为金融分析人员提供快速整洁、和多样的便于分析的数据。

考虑到python pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas DataFrame类型,非常便于用pandas/NumPy/Matplotlib进行数据分析和可视化。



python现货黄金API接口_数据库



工具/原料



  • Python 2.x / 3.x
  • pandas
  • lxml


安装和体验



  • 安装TuShare
    方式1:pip install tushare
    方式2:访问https://pypi.python.org/pypi/tushare/下载安装
    方式3:将源代码下载到本地python setup.py install
  • 升级TuShare
    1、先查看本地与线上的版本版本号:
    pip search tushare
    2、升级TuShare:
    pip install tushare --upgrade
  • 确认安装成功
•  import tushare as ts
 
 print ts.__version__•  获取历史交易数据
 
 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现货黄金API接口_数据库_02

  • 获取历史分笔数据

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

    python现货黄金API接口_python现货黄金API接口_03


  • 获取实时分笔数据
•  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,时间
 
获取其他数据 
   
   
 
 
•  股票分数数据
 
 行业分类
 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()
 
•  基本面数据
 
 沪深股票列表(基础数据,沪深所有股票情况)
 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)
•  宏观经济数据
 目前宏观经济数据主要包括以下方面:
 金融信息数据
 
 国民经济数据
 
 价格指数数据
 
 景气指数数据
 
 对外经济贸易数据
 
    END 
数据存储 
   
   
 
 
•  保存为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')
•  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:passwd@127.0.0.1/db_name?charset=utf8')
 
 #存入数据库
 df.to_sql('tick_data',engine)
 
 #追加数据到现有表
 #df.to_sql('tick_data',engine,if_exists='append')


  • python现货黄金API接口_数据_04


  • 存入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现货黄金API接口_数据_05