柚子快报邀请码778899分享:tushare

http://www.51969.com/

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

安装

pip install tushare

还需要lxml

pip install lxml

查看当前版本test.py

import tushare

print(tushare.__version__)

>python test.py1.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_date0 000001.SZ 000001 平安银行 深圳 银行 199104031 000002.SZ 000002 万科A 深圳 全国地产 199101292 000004.SZ 000004 国农科技 深圳 互联网 199101143 000005.SZ 000005 世纪星源 深圳 环境保护 199012104 000006.SZ 000006 深振业A 深圳 区域地产 19920427... ... ... ... ... ... ...4030 688596.SH 688596 正帆科技 上海 专用机械 202008204031 688598.SH 688598 金博股份 湖南 矿物制品 202005184032 688599.SH 688599 天合光能 江苏 电气设备 202006104033 688600.SH 688600 皖仪科技 安徽 电器仪表 202007034034 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_open0 SSE 20201010 01 SSE 20201011 02 SSE 20201012 13 SSE 20201013 14 SSE 20201014 15 SSE 20201015 16 SSE 20201016 17 SSE 20201017 08 SSE 20201018 09 SSE 20201019 110 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介绍及使用

柚子快报邀请码778899分享:tushare

http://www.51969.com/

查看原文