python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...
01 Tushare簡介
Tushare是一個金融大數(shù)據(jù)開放社區(qū),它免費提供各類金融數(shù)據(jù)和區(qū)塊鏈數(shù)據(jù) , 助力智能投資與創(chuàng)新型投資。在Tushare 舊版 運行了3年后,Tushare Pro終于要跟大家見面了。Pro版數(shù)據(jù)更穩(wěn)定質(zhì)量更好了,但Pro依然是個開放的,免費的平臺,不帶任何商業(yè)性質(zhì)和目的。Tushare運行三年多以來,數(shù)據(jù)從廣度和深度都得到了提升,Pro版正是在此基礎上做了更大的改進。數(shù)據(jù)內(nèi)容將擴大到包含股票、基金、期貨、債券、外匯、行業(yè)大數(shù)據(jù),同時包括了數(shù)字貨幣行情等區(qū)塊鏈數(shù)據(jù)的全數(shù)據(jù)品類的金融大數(shù)據(jù)平臺,為各類金融投資和研究人員提供適用的數(shù)據(jù)和工具。
新版本(Tushare Pro)需要注冊獲取token才能免費使用,注冊網(wǎng)址: Tushare注冊。安裝(Win+R進入cmd模式):pip install tushare,或升級:pip install tushare --upgrade。下面以股票行情數(shù)據(jù)為例,展示下tushare如何獲取數(shù)據(jù)。
02 獲取token
如何獲取TOKEN憑證
1、登錄成功后,點擊右上角->個人主頁
2、 在“用戶中心”中點擊“接口TOKEN”
3、 可以點擊右側復制按鈕復制token
4、或者點擊右側睜開眼睛來獲取token明文,復制并保存
注意:token是調(diào)取數(shù)據(jù)的唯一憑證,請妥善保管,如發(fā)現(xiàn)別人盜用,可在本頁面點擊“刷新”操作,之前的token將失效。
03 獲取數(shù)據(jù)并進行可視化及保存數(shù)據(jù)操作
1. 導入相關庫
# 導入相關庫
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 可以在畫圖時正常顯示出現(xiàn)的中文和負號
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
2. 獲取個股行情數(shù)據(jù)
上面兩個圖都是獲取各類型數(shù)據(jù)的接口及參數(shù),如果有些數(shù)據(jù)你獲取不了,說明你積分不夠,這是你就需要增加你的積分,具體如何看社區(qū)網(wǎng)站有詳細的流程。
# 設置token
token = '你剛才復制的token'
pro = ts.pro_api(token)
# 獲取當前上市的股票代碼、簡稱、注冊地、行業(yè)、上市時間等數(shù)據(jù)
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code, symbol, name, area, industry, list_date')
# 查看前五行數(shù)據(jù)
print(data.head(5))
# 獲取萬科日行情數(shù)據(jù)并查看前五條數(shù)據(jù)信息
wk = pro.daily(ts_code='000002.SZ', start_date='20200101',
end_date='20200416')
print(wk.head())
3. 獲取指數(shù)基金數(shù)據(jù)并進行可視化
# 指數(shù)數(shù)據(jù):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
# 獲取常見股票指數(shù)行情
indexs = {'上證綜指': '000001.SH', '深證成指': '399001.SZ',
'滬深300': '000300.SH', '創(chuàng)業(yè)板指': '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股重要指數(shù)基金.png')
plt.show()
可視化圖如下:
4. 獲取多只股票信息并保存到CSV文件中
# 定義獲取多只股票函數(shù):
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/研究生學習/股票數(shù)據(jù)/'+code+'.csv', header=True, index=False)
# 將數(shù)據(jù)保存到本地
save_data(all_data)
查看文件結果如下:
04 寫在最后
還有很多數(shù)據(jù)的獲取及其參數(shù)解釋都在Tushare社區(qū)網(wǎng)站,你注冊后就可以看到。謝謝你的觀看,喜歡就給個贊吧!
原文鏈接:https://blog.csdn.net/weixin_45109684/article/details/105562711
《新程序員》:云原生和全面數(shù)字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的python tushare获取股票数据并可视化_荐Python获取股票数据及其可视化--基于tushare库...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 坚果云下载的文件夹在哪_坚果云文件夹在哪
- 下一篇: vue 禁止显示本网页由、、_【VUE/