Tushare是一款最常用的开源股票市场数据接口,适合金融类和计算机类的小伙伴使用哦,下面介绍如何通过Tushare获取数据且按时间顺序对数据排序且绘图。我的Tushare id:466634
# 导入所需包
import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
print('tushare版本:'+ts.__version__)
# tushare的token值
pro = ts.pro_api('你的token值')
# 拉取指数数据
def get_indexData(ts_code,name):
df = pro.index_daily(**{
"ts_code": ts_code, # 指数代码
"trade_date": "",
"start_date": "",
"end_date": "",
"limit": "",
"offset": ""
}, fields=[ # 返回的数据要求的列
"ts_code",
"trade_date",
"close",
"open",
"high",
"low",
"pre_close",
"change",
"pct_chg",
"vol",
"amount"
])
df.to_csv('data/index_data/'+name+'.csv')
# 数据重排序
def sort_data(data_name):
# 读取数据
df = pd.read_csv('data/index_data'+data_name+'.csv')
df=df.sort_values(by='trade_date')
# 数据重新建立索引:drop=True表示删除原索引,不然会在数据表格中新生成一列'index'数据
df = df.reset_index(drop=True)
# 写出数据
df.to_csv("sort_data/"+data_name+'.csv')
# 数据绘图
def plt_data(data_name):
# 读取数据
df = pd.read_csv('sort_data/' + data_name + '.csv')
# 取出所需列
df = df.reset_index()[['trade_date','close']]
#获取大小
print(df.shape)
print(df)
# plot绘图
plt.plot(df['trade_date'],df['close'])
plt.show()
if __name__ == '__main__':
get_indexData('000001.SH','SZ') #以上证指数为例
sort_data('SZ')
plt_data('SZ')
至此就完成了获取数据,排序及绘图。