最初的時候,筆者自己嘗試了各種自己寫爬蟲獲取股票信息的方法,但寫出來的程序維護成本較高,並且如果需要進行股票回測,高頻交易,對整個系統的架構能力還是有比較高的要求的,遂開始尋找一個能夠比較穩定地獲取儘可能多的股票信息,包括基本面和K線,並且還能自己編碼進行回測的工具,同時還得保有一定的靈活性,不是只能在頁面上拖拖拽拽,而是可以自己編碼的。
目前找到的一款,QUANTAXIS
官方git頁面:https://github.com/QUANTAXIS/QUANTAXIS
官方文檔:https://doc.yutiansut.com/
這裡只會簡單介紹一下怎麼獲取一些基本的數據,關於回測和交易,大家可以自己看官方文檔來學習。
1. 安裝QUANTAXIS
QUANTAXIS的安裝需要Python3,最好是Python3.6的環境,安裝好Python後,直接通過
pip install quantaxis
進行安裝,安裝過程中,可能會出現缺少某些包,或者pip版本不對導致的問題,需要手動安裝一些欠缺的包,並保證是相對應的版本的。
2. 安裝資料庫
我們通常使用的資料庫是Mysql或者Oracle等結構化的資料庫,但QUANTAXIS使用的是MongoDB,我們需要安裝MongoDB,下載連結:https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.4.7-signed.msi
對於Windows系統而言,傻瓜式安裝就可以用了,安裝後記得通過
net start MongoDB
啟動資料庫服務。
3. Docker一鍵部署
首先你需要一個Docker,Windows下直接在官網下載安裝即可,其次你需要配置qa-service的環境,其具體操作其實就是先創建docker volume,開闢獨立的空間,然後通過docker-compose.yaml搭建官方已經配置好的環境。
#Windows下打開命令行docker volume create --name=qamgdocker volume create --name=qacode#下載https://raw.githubusercontent.com/QUANTAXIS/QUANTAXIS/master/docker/qa-service/docker-compose.yaml#首次使用配置cd D:/qa #(此處是存放yaml文件的地方,選一個你方便的就行)docker-compose up#後面如果需要更新Docker環境cd D:/qa # (此處是存放yaml文件的地方)docker-compose pull #(上一步的意思是更新docker文件)docker-compose up
4. 使用QUANTAXIS獲取數據
#獲取股票K線信息import QUANTAXIS as qaimport pandas as pddef get_kinfo(code): qa.QA_util_log_info('日線數據') qa.QA_util_log_info('前復權') data=qa.QAFetch.QATdx.QA_fetch_get_stock_day(code,'2020-01-01','2020-11-19') return dataget_kinfo('SZ002916')
#獲取指數信息import QUANTAXIS as qaimport pandas as pdqa.QA_util_log_info('指數列表')fund=qa.QAFetch.QATdx.QA_fetch_get_stock_list('index')fund_info = pd.DataFrame()for i in fund['code'].unique().tolist(): try: qa.QA_util_log_info('指數日線') tmp_info = qa.QAFetch.QATdx.QA_fetch_get_index_day(i,'2020-01-01','2020-11-19') fund_info = pd.concat([fund_info,tmp_info]) except Exception: pass
更多的玩法,可視化,價格監控,回測,交易,還需要自己多多嘗試呀~
Enjoy~
END
文稿 | 全棧架構師
編輯 | 全棧架構師
註:更多體系架構知識點擊原文連結查看。