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


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

    获取历史分笔数据

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

    df.head(10)

    获取实时分笔数据

    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')

       

    存入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')))

     
    原文来自:https://jingyan.baidu.com/article/3065b3b68d7fb5becff8a494.html
  • 相关阅读:
    什么叫持久化? 为什么持久化?(转)
    SharePoint 是什么?
    大年三十整理的asp.net资料!(不得不收藏)(不得不转)
    Rational Rose和UML可视化建模基础
    asp.net中的global.asax以及web应用的生命周期
    .Net线程问题解答(转)
    什么是OOA/OOD
    C#2.0经典读书笔记 (转)
    GOF设计模式
    UltraEdit
  • 原文地址:https://www.cnblogs.com/soloate/p/10244421.html
Copyright © 2020-2023  润新知