Jiahonzheng's Blog

Tushare 入门

字数统计: 426阅读时长: 2 min
2018/09/12 Share

Tushare介绍

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

安装

1
2
# 详细安装教程,请参照 http://tushare.org
pip install tushare

示例

这里给大家提供了一个获取并绘制历史数据的例子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from datetime import datetime
from matplotlib.dates import AutoDateLocator
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import os
import pickle
import tushare as ts

# 获取上证50成分股历史数据
def get_sz50s(start="", end="", ktype="D"):
stocks = {}
path = "sz50s-" + start + "-" + end + "-" + ktype + ".pkl"

# 若本地存在所需数据
if os.path.exists(path):
# 读取数据
with open(path, "rb") as file:
stocks = pickle.load(file)
else:
# 获取上证50成分股信息
symbols = ts.get_sz50s()

for code in symbols["code"]:
# 调用 get_k_data 接口,获取指定代号的历史数据
stocks[code] = ts.get_k_data(code, start=start, end=end, ktype=ktype)

# 存储数据
with open(path, "wb") as file:
pickle.dump(stocks, file)

return stocks

sz50s = get_sz50s("2016-01-01", "2016-12-30")
stock = sz50s["603993"] # 选取上证50成分股中的 603993 历史数据

data_time = [datetime.strptime(d, "%Y-%m-%d").date() for d in stock["date"]]

# 配置时间坐标轴
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter("%Y-%m-%d"))
plt.gca().xaxis.set_major_locator(AutoDateLocator()) # 时间间隔自动选取

# 绘制历史数据
plt.plot(data_time, stock["open"].values, label="close", color="blue", lw=1.5)
plt.plot(data_time, stock["high"].values, label="high", color="red", lw=1.5)
plt.plot(data_time, stock["close"].values, label="close", color="green", lw=1.5)
plt.plot(data_time, stock["low"].values, label="low", color="yellow", lw=1.5)

plt.gcf().autofmt_xdate() # 自动旋转日期标记

# 绘图细节
plt.grid(True)
plt.axis("tight")
plt.xlabel("Time", size=20)
plt.ylabel("Price", size=20)
plt.title("603993", size=20)
plt.legend(loc=0) # 添加图例

plt.show() # 显示画布

网络不给力哦

CATALOG
  1. 1. Tushare介绍
  2. 2. 安装
  3. 3. 示例