python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...
01 Tushare簡介
Tushare是一個金融大數據開放社區,它免費提供各類金融數據和區塊鏈數據 , 助力智能投資與創新型投資。在Tushare 舊版 運行了3年后,Tushare Pro終于要跟大家見面了。Pro版數據更穩定質量更好了,但Pro依然是個開放的,免費的平臺,不帶任何商業性質和目的。Tushare運行三年多以來,數據從廣度和深度都得到了提升,Pro版正是在此基礎上做了更大的改進。數據內容將擴大到包含股票、基金、期貨、債券、外匯、行業大數據,同時包括了數字貨幣行情等區塊鏈數據的全數據品類的金融大數據平臺,為各類金融投資和研究人員提供適用的數據和工具。
新版本(Tushare Pro)需要注冊獲取token才能免費使用,注冊網址: Tushare注冊。安裝(Win+R進入cmd模式):pip install tushare,或升級:pip install tushare --upgrade。下面以股票行情數據為例,展示下tushare如何獲取數據。
02 獲取token
如何獲取TOKEN憑證
1、登錄成功后,點擊右上角->個人主頁
2、 在“用戶中心”中點擊“接口TOKEN”
3、 可以點擊右側復制按鈕復制token
4、或者點擊右側睜開眼睛來獲取token明文,復制并保存
注意:token是調取數據的唯一憑證,請妥善保管,如發現別人盜用,可在本頁面點擊“刷新”操作,之前的token將失效。
03 獲取數據并進行可視化及保存數據操作
1. 導入相關庫
# 導入相關庫
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 可以在畫圖時正常顯示出現的中文和負號
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
2. 獲取個股行情數據
上面兩個圖都是獲取各類型數據的接口及參數,如果有些數據你獲取不了,說明你積分不夠,這是你就需要增加你的積分,具體如何看社區網站有詳細的流程。
# 設置token
token = '你剛才復制的token'
pro = ts.pro_api(token)
# 獲取當前上市的股票代碼、簡稱、注冊地、行業、上市時間等數據
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code, symbol, name, area, industry, list_date')
# 查看前五行數據
print(data.head(5))
# 獲取萬科日行情數據并查看前五條數據信息
wk = pro.daily(ts_code='000002.SZ', start_date='20200101',
end_date='20200416')
print(wk.head())
3. 獲取指數基金數據并進行可視化
# 指數數據:pro.index_daily()
def get_index_data(indexs):
'''indexs是字典格式'''
index_data = {}
for name, code in indexs.items():
df = pro.index_daily(ts_code=code)
df.index = pd.to_datetime(df.trade_date)
index_data[name] = df.sort_index()
return index_data
# 獲取常見股票指數行情
indexs = {'上證綜指': '000001.SH', '深證成指': '399001.SZ',
'滬深300': '000300.SH', '創業板指': '399006.SZ',
'上證50': '000016.SH', '中證500': '000905.SH',
'中小板指': '399005.SZ', '上證180': '000010.SH'}
index_data = get_index_data(indexs)
print(index_data['上證綜指'].head())
# 對股價走勢進行可視化分析
subjects = list(index_data.keys())
# 每個子圖的title
plot_pos = [421, 422, 423, 424, 425, 426, 427, 428] # 每個子圖的位置
new_colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728',
'#9467bd', '#8c564b', '#e377c2', '#7f7f7f']
fig = plt.figure(figsize=(25, 25))
fig.suptitle('A股股指走勢', fontsize=18)
for pos in np.arange(len(plot_pos)):
ax = fig.add_subplot(plot_pos[pos])
y_data = index_data[subjects[pos]]['close']
b = ax.plot(y_data, color=new_colors[pos])
ax.set_title(subjects[pos])
# 將右上邊的兩條邊顏色設置為空,相當于抹掉這兩條邊
ax = plt.gca()
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.savefig('A股重要指數基金.png')
plt.show()
可視化圖如下:
4. 獲取多只股票信息并保存到CSV文件中
# 定義獲取多只股票函數:
def get_stocks_data(stocklist, start, end):
all_data = {}
for code in stocklist:
all_data[code] = pro.daily(ts_code=code, start_date=start, end_date=end)
return all_data
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code')
stocklist = list(data['ts_code'][:20]) # 取前20只股票
print(stocklist)
start = '20200101' # 開始時間
end = '20200401' # 截至時間
all_data = get_stocks_data(stocklist, start, end)
print(all_data)
print(all_data['000002.SZ'].tail())
# 保存本地
def save_data(all_data):
for code, data in all_data.items():
data.to_csv('C:/Users/86188/Desktop/研究生學習/股票數據/'+code+'.csv', header=True, index=False)
# 將數據保存到本地
save_data(all_data)
查看文件結果如下:
04 寫在最后
還有很多數據的獲取及其參數解釋都在Tushare社區網站,你注冊后就可以看到。謝謝你的觀看,喜歡就給個贊吧!
原文鏈接:https://blog.csdn.net/weixin_45109684/article/details/105562711
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坚果云下载的文件夹在哪_坚果云文件夹在哪
- 下一篇: vue 禁止显示本网页由、、_【VUE/