tushare pro 版本获取股票历史数据
? ? ? ? 最近研究程序化交易,需要使用股票歷史數據。由于保存了所有股票歷史數據,但是是截至到2018-12-28日,所以開始研究時對數據實時性要求不高,能實現功能即可。
? ? ? ? 經過近一個月的研究后, 即在 最基礎表(代碼、日期、開、高、低、收、成交量)上,形成了基本表(增加了:成交額,昨收、各類差值),最后統計各種均值、使用pandas的 rolling函數統計周期值
? ? ? ? 接下來打算要上手實戰,對數據的要求高了,實時性要跟上,經過對各種網絡獲取、XXX專用財經數據接口個人版、tushare數據獲取;一番折騰后,發現網絡獲取速度極慢、且不全;XXX個人版各種插件,極難用還占用幾百兆空間。最后選擇了tushare。
?
? ? ? tushare 獲取使用方法很簡單,和各類python三方庫一樣,一個 pip install tushare 的簡單調用命令,會自動下載安裝好四個文件。目前最新的版本時 1.2.26,而且有pro 版本
? ? ?? 對tushare 版本不熟,所以直接參考示例操作,發現使用pro版要注冊, 接下來注冊使用,接下來就可以使用pro命令了
具體代碼如下:
版本:python 3.6
ide:pycharm
?
?
#先是各種import,用不用的上都import,新手都這樣
import tushare as ts import numpy as np import pandas as pd import matplotlib as plt pro = ts.pro_api("4811c7c6d6c34a8338c7fcacd53ab99127b56b2c030c675626") #先引用pro,注冊賬號會生成一個隨機多位數api# # tushare獲取股票代碼表 stocks_list stocks_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date') # print(stocks_list) # stocks_list.to_csv('D:/MongoDB',sep=',') #保存數據路徑先獲取了股票列表,圖示如下:
| ? | ts_code | symbol | name | area | industry | list_date |
| 0 | 000001.SZ | 1 | 平安銀行 | 深圳 | 銀行 | 19910403 |
| 1 | 000002.SZ | 2 | 萬科A | 深圳 | 全國地產 | 19910129 |
| 2 | 000004.SZ | 4 | 國農科技 | 深圳 | 生物制藥 | 19910114 |
| 3 | 000005.SZ | 5 | 世紀星源 | 深圳 | 環境保護 | 19901210 |
| 4 | 000006.SZ | 6 | 深振業A | 深圳 | 區域地產 | 19920427 |
| 5 | 000007.SZ | 7 | 全新好 | 深圳 | 酒店餐飲 | 19920413 |
| 6 | 000008.SZ | 8 | 神州高鐵 | 北京 | 運輸設備 | 19920507 |
? ? ? ? 接下來要通過for 循環遍歷code,獲得各個股票代碼的歷史數據,由于 ts_code 含有字母,不能作為選擇項,
所以選擇了第一列 symbol 進行遍歷,具體代碼如下:
?
ser1 = stocks_list.iloc[:,1] #選擇第一列 # print(ser1,type(ser1)) # for i in ser1: #遍歷列表stocks_num1= ts.get_hist_data(i) #獲取代碼歷史數據# print(stocks_num1) #打印結果?
由于是新手,每一個小功能就print() 一次,查看 具體效果,
?
目前pro版本對調用次數有限制,所以盡可能多 的檢查代碼完整性,確認后再調用。
?
特別提示: 最好添加保存數據路徑,方便查看細節效果,避免出現不能調用獲取數據的情況發生。
?
?
? ? ??
?
總結
以上是生活随笔為你收集整理的tushare pro 版本获取股票历史数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Thanks, Steve Jobs!
- 下一篇: Maven子模块pom文件灰色下划线