Python量化工具包QUANTAXIS

2021-01-08 拓撲軟體

最初的時候,筆者自己嘗試了各種自己寫爬蟲獲取股票信息的方法,但寫出來的程序維護成本較高,並且如果需要進行股票回測,高頻交易,對整個系統的架構能力還是有比較高的要求的,遂開始尋找一個能夠比較穩定地獲取儘可能多的股票信息,包括基本面和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

文稿 | 全棧架構師

編輯 | 全棧架構師

註:更多體系架構知識點擊原文連結查看。

相關焦點

  • 數據科學的Python軟體包
    數據科學不是工具或技術。通過掌握市場上現有的一些工具和庫,可以培養和滋養這項技能。為什麼要將Python用於數據科學?Python被認為是實現數據科學和機器學習模型的頂級程式語言之一。現在,讓我們討論一些為什麼開發人員和數據科學家在其數據科學項目中更喜歡使用Python而不是其他程式語言的主要原因。
  • python包管理之pip,其實很簡單!
    前言pip 是一個Python包管理工具,主要是用於安裝 PyPI 上的軟體包,可以替代 easy_install 工具。官方地址:https://pypi.python.org/pypi/pip下載解壓後,進入目錄直接運行python安裝就可以了python setup.py install(PS:Python3編譯安裝就默認帶了pip了)2、使用包管理軟體安裝Linux系統一般都是有自帶Python,如果只需要系統自帶的Python,直接從系統的包管理器安裝可以了
  • 人生苦短,我用Python,那麼問題來了,普通人要學python嗎?
    話說在金融和IT行當混跡了多年,python一直是被我隨手拿來當個小工具用用,有時候偷懶用python弄個excel自動化整理工具,有時候拿來上各種網站爬蟲搜集點信息,有時候也會拿來寫點量化小工具。那麼到底什麼是python?
  • 常用的十大 python 圖像處理工具
    1.scikit-imagescikit-image是一個開源的Python包,適用於numpy數組。它實現了用於研究,教育和工業應用的算法和實用工具。即使是那些剛接觸Python生態系統的人,它也是一個相當簡單直接的庫。此代碼是由活躍的志願者社區編寫的,具有高質量和同行評審的性質。
  • Python第三方包安裝時報錯:Microsoft Visual C++ 14.0 is...
    下載連結:whl文件下載連結網傳找到需要下載的包,下載安裝即可,但是這裡並沒有pyhanlp的相關包…另外,網傳隨便下載安裝任一個都可以,本人嘗試如下:下載對應Python版本(註:cp38 代表python3.8版本)、電腦win32或win64位的文件,然後執行pip install ***,順利的話可以解決問題。
  • 從零開始寫Python爬蟲,四大工具你值得擁有!
    那麼,學習python爬蟲之前需要哪些準備?一顆熱愛學習,不屈不撓的心一臺有鍵盤的電腦(什麼系統都行。我用的os x,所以例子會以這個為準)html相關的一些知識。不需要精通,能懂一點就行Python的基礎語法知識 。
  • Python視頻教程網課編程零基礎入門數據分析網絡爬蟲全套Python...
    總目錄 零基礎全能篇(4套課程) 實用編程技巧進價(1套課程) 數據分析與挖掘(8套課程) 辦公自動化(3套課程) 機器學習與人工智慧(7套課程) 開發實戰篇(4套課程) 量化投資(2套課程) 網絡爬蟲(6套課程) 資料庫操作(1套課程) python高級編程
  • 令人讚嘆的8個Python新手工具!
    3、TheanoTheano是一個較老牌和穩定的機器學習python庫之一,雖然目前使用的人數有所下降。但它畢竟是一個祖師級的存在,一定有它的優點所在。Theano基於Python擅長處理多維數組,屬於比較底層的框架,theano起初也是為了深度學習中大規模人工神經網絡算法的運算所設計,我們可利用符號化式語言定義想要的結果,支持GPU加速,非常適合深度學習Python。
  • 資源| Python上的圖模型與概率建模工具包:pomegranate
    pomegranate 簡介pomegranate 是基於 Python 的圖模型和概率模型工具包,它使用 Cython 實現以加快反應速度。它源於 YAHMM,可實現快速、高效和極度靈活的概率模型,如概率分布、貝葉斯網絡、混合隱馬爾可夫模型等。概率建模最基礎的級別是簡單的概率分布。
  • Python十大工具,讓圖像簡潔直觀有魅力!
    用法該包作為skimage導入,大多數功能都可在子模塊找到。該包目前包括線性和非線性濾波法、二值圖像形態學、B樣條插值和對象測量等功能。OpenCV-Python是OpenCV的python接口。OpenCV-Python不只是因為後臺由用C / C ++編寫的代碼組成而速度快,還因為前端的Python包裝器使得編碼和部署容易。因此,它成為了計算密集型計算機視覺程序的絕佳選擇。
  • Python可視化工具推薦:圖片交互性行極佳的Plotly
    1、 簡單介紹一般大家在學習python機器學習的時候,用的最多的可視化的包就是matplot和seaborn, 這2個可視化的優點在於門檻低,代碼容易理解,並且容易上手。但是對於plotly來說的話,我們直接可以用python來寫,並且代碼量比java的少很多,我們可以直接將我們熟悉的python list, numpy, pandas放進去就可以畫圖,並且給出的效果和echart的圖一摸一樣。另外要提一點的是python plotly也是可以用來做動圖的,我們後面會給大家介紹一種用plolty做出來的用於展示Kmeans算法過程的動圖。
  • 用python識別驗證碼
    今天,我們就簡單的說下,怎麼用python來處理驗證碼。(注意:我所有的python相關的文章用的都是python3。)準備工作1、tesseract-ocr軟體Tesseract的OCR引擎最先由HP實驗室於1985年開始研發,至1995年時已經成為OCR業內最準確的三款識別引擎之一。然而,HP不久便決定放棄OCR業務,Tesseract也從此塵封。
  • Python中PIP的快速指南
    當您在系統上安裝python時,它附帶了一組預定義的包,這些包在python標準庫中提供。例如DateTime、string、math等等。但是如果您想要安裝額外的軟體包呢?例如類似NumPy或pandas這樣的數據處理工具。Pip如何讓你的安裝更容易呢?
  • TensorFlow官方發布消息稱將引入一個新的優化工具包
    TensorFlow官方發布消息稱將引入一個新的優化工具包 李倩 發表於 2018-09-21 08:53:44 編者按:幾個月前,Tensorflow發布了一份名為《Quantizing deep convolutional
  • 7款 Python 工具,讓你在工作上更佔優勢!
    想要成為一個程式設計師,除了學習各種教程之外,熟悉各種已經在生產環境中使用的工具會讓你更快的成長!這裡有7款python工具,是所有數據專家必不可少的工具。當你對他們有一定了解後,會成為你找工作的絕對優勢!
  • Python「第一節」-製作自己的pip安裝包
    平常時經常用pip install xx 去安裝第三方包,那怎麼製作自己的包呢,也可以通過pip的方式去安裝,這兩天研究了下,這裡記錄下,也給大家分享下吧1.首先要去pypi的官網自己去註冊一個帳號,然後郵箱驗證但是我郵箱驗證了之後,頁面上還老是提示下面的東西PYPI雙因素身份驗證(2FA)我就選了一個二維碼的,搗鼓了半天才知道怎麼用
  • 超全Anaconda(Python整合包)導修(圖文詳解)
    針對數據科學,它有超過300個軟體包,因此它迅速攀升為最好的數據平臺之一。本篇導修將會探討如何運用Anaconda幫助Python編程。Anaconda能夠幫助簡化軟體包的管理和部署,它還匹配了多種工具,可以使用各種機器學習和人工智慧算法輕鬆地從不同的來源收集數據。Anaconda還可以使用戶獲得一個易於管理的環境設置——用戶只需點擊按鈕就可以部署任何項目。相信你們對Anaconda已經有了一個基本概念,接下來了解如何安裝它,並設置一個能夠在系統上工作的環境。
  • 業界| 四大機器學習程式語言對比:R、Python、MATLAB、Octave
    作者列出了這些語言(工具)的優缺點,希望對想開始學習它們的人有用。 優點: 端到端開發到執行(一些 brokers package 允許執行,IB) 開發速度快(比 Python 的代碼少 60%) 開源包多 成熟的量化交易包(quantstrat、quantmod、performanceanalyitics
  • Python和人工智慧有什麼關係?Python 和人工智慧的區別是什麼?
    人工智慧是一個大的範疇,包括很多方面的應用,比如機器學習,在機器學習中的回歸算法,它們是通過統計分析所有數據來建立多因式,然後求解式子,而在這個過程中程式語言起到的作用是清洗數據、處理數據、建立關係求解結果的作用,python適用於數據清洗且學習成本低,所以在一定程度上,好一部分人傾向於將python應用於人工智慧應用領域。
  • NeuroRA:一個用於多模態神經數據表徵分析的Python工具包
    然而,傳統用於計算RSA的工具包都存在各種局限性,且易用性不足。為解決這些問題,心理學系庫逸軒教授團隊基於Python開發了一個全新且易於使用的表徵分析工具包——NeuroRA。圖1:NeuroRA功能總覽NeuroRA旨在從多模態神經數據(例如腦電EEG、腦磁MEG、近紅外fNIRS、核磁fMRI和其他神經生理數據)、行為數據以及計算模擬數據中進行跨模態的數據分析。