zoukankan      html  css  js  c++  java
  • tushare

    tushare是一个免费、开源的python财经数据接口包

    安装

    pip install tushare

    还需要lxml

    pip install lxml

    查看当前版本test.py

    import tushare
    
    print(tushare.__version__)

    >python test.py
    1.2.60

    版本升级

    pip install tushare --upgrade

    注册用户https://waditu.com获取token

    (1)获取基础信息数据

    import tushare as ts
    ts.set_token('换成自己的token')
    pro = ts.pro_api()
    data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
    print(data)

    >python test.py
    ts_code symbol name area industry list_date
    0 000001.SZ 000001 平安银行 深圳 银行 19910403
    1 000002.SZ 000002 万科A 深圳 全国地产 19910129
    2 000004.SZ 000004 国农科技 深圳 互联网 19910114
    3 000005.SZ 000005 世纪星源 深圳 环境保护 19901210
    4 000006.SZ 000006 深振业A 深圳 区域地产 19920427
    ... ... ... ... ... ... ...
    4030 688596.SH 688596 正帆科技 上海 专用机械 20200820
    4031 688598.SH 688598 金博股份 湖南 矿物制品 20200518
    4032 688599.SH 688599 天合光能 江苏 电气设备 20200610
    4033 688600.SH 688600 皖仪科技 安徽 电器仪表 20200703
    4034 688981.SH 688981 中芯国际-U 上海 半导体 20200716

    [4035 rows x 6 columns]

    如果提示抱歉,您没有访问该接口的权限

    可以完善信息,获取20积分,就可以使用接口了

    (2)交易日历

    import tushare as ts
    ts.set_token('你的token')
    pro = ts.pro_api()
    #data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
    data = pro.trade_cal(exchange='', start_date='20201010', end_date='20201020')
    print(data)

    >python test.py
    exchange cal_date is_open
    0 SSE 20201010 0
    1 SSE 20201011 0
    2 SSE 20201012 1
    3 SSE 20201013 1
    4 SSE 20201014 1
    5 SSE 20201015 1
    6 SSE 20201016 1
    7 SSE 20201017 0
    8 SSE 20201018 0
    9 SSE 20201019 1
    10 SSE 20201020 1

     (3)日线行情

    import tushare as ts
    ts.set_token('你的token')
    pro = ts.pro_api()
    data = pro.daily(ts_code='000001.SZ', start_date='20201010', end_date='20201020')
    data.to_csv('test.csv')

    >python test.py

    (4)绘制成行情图

    import tushare as ts
    import pandas as pd
    import matplotlib.pyplot as plt
    ts.set_token('你的token')
    pro = ts.pro_api()
    data = pro.daily(ts_code='000001.SZ', start_date='20200901', end_date='20201020')
    #转化为日期类型
    data['trade_date'] = pd.to_datetime(data['trade_date'], format="%Y%m%d")
    #绘图
    plt.plot(data['trade_date'], data['close'], '-', label = data.ts_code[0])
    plt.gcf().autofmt_xdate()
    #显示文字
    plt.legend()
    #显示图片
    plt.show()

     (4)单个股票K线蜡烛图

    import numpy as np
    import pandas as pd
    import tushare as ts
    import mplfinance as mpf
    import matplotlib.pyplot as plt
    from pylab import mpl
    from datetime import datetime
    
    pd.set_option('expand_frame_repr', False)#True就是可以换行显示。设置成False的时候不允许换行
    pd.set_option('display.max_columns', None)# 显示所有列
    pd.set_option('colheader_justify', 'centre')# 显示居中
    
    pro = ts.pro_api('你的token')
    mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体
    mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题
    df = pro.daily(ts_code='000001.SZ', start_date='20200301', end_date='20201001')
    #df.sort_values(by='trade_date',ascending=False)
    data = df.loc[:, ['trade_date', 'open', 'close', 'high', 'low', 'vol']]  #:取所有行数据,后面取date列,open列等数据
    data = data.rename(columns={'trade_date': 'Date', 'open': 'Open', 'close': 'Close', 'high': 'High', 'low': 'Low', 'vol': 'Volume'})  #更换列名,为后面函数变量做准备
    data.set_index('Date', inplace=True)  #设置date列为索引,覆盖原来索引,这个时候索引还是 object 类型,就是字符串类型。
    data.index = pd.DatetimeIndex(data.index)  #将object类型转化成 DateIndex 类型,pd.DatetimeIndex 是把某一列进行转换,同时把该列的数据设置为索引 index。
    data = data.sort_index(ascending=True)
    mpf.plot(data, type='candle', mav=(5, 10, 20), volume=True, show_nontrading=False)

    mpl_finance介绍及使用

  • 相关阅读:
    fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)
    SQL Server 请求失败或服务未及时响应。有关详细信息,请参见事件日志或其它适合的错误日志
    8086CPU的出栈(pop)和入栈(push) 都是以字为单位进行的
    FTP 服务搭建后不能访问问题解决
    指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
    Linux 安装MongoDB 并设置防火墙,使用远程客户端访问
    svn Please execute the 'Cleanup' command. 问题解决
    .net 操作MongoDB 基础
    oracle 使用绑定变量极大的提升性能
    尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
  • 原文地址:https://www.cnblogs.com/baby123/p/13844834.html
Copyright © 2011-2022 走看看