zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    C# 从服务器下载文件
    不能使用联机NuGet 程序包
    NPOI之Excel——合并单元格、设置样式、输入公式
    jquery hover事件中 fadeIn和fadeOut 效果不能及时停止
    UVA 10519 !! Really Strange !!
    UVA 10359 Tiling
    UVA 10940 Throwing cards away II
    UVA 10079 Pizze Cutting
    UVA 763 Fibinary Numbers
    UVA 10229 Modular Fibonacci
  • 原文地址:https://www.cnblogs.com/soloate/p/10244421.html
Copyright © 2011-2022 走看看