在github上發(fā)現(xiàn)一個python寫的,看上去簡單實用的量化交易框架easyquant,作者是在他寫的easytrader上實現(xiàn)了自動讀取行情和交易登入,初步試驗了雪球登入,效果還不錯。
安裝這個框架在github上的提示是直接用其提供的requirements.txt做基礎(chǔ),但是經(jīng)過試驗我發(fā)現(xiàn)這個requirements.txt并不好用,在安裝過程中需要手工裝好多其他東西,相互之間的勾稽關(guān)系比較復(fù)雜,前一個不裝后一個也裝不上,因此我手工整理了下,分成兩次pip安裝,簡化整個流程。
在安裝了anaconda3后,類似numpy這些類庫都有了,在安裝時會出現(xiàn)報錯,按照順序分別是:
demjson
aiohttp
easyutils
redis
pyperclip
因此,在允許pip install -r requirements.txt前要先將上述的包安裝,可以生成另外一個.txt文件例如prerequirements.txt,然后用pip install -r prerequirements.txt安裝后再運行pip install -r requirements.txt。
由于easytrader主要是在銀河、傭金寶這些提供web登入的情況下寫的,目前鑒于這些券商都已經(jīng)關(guān)閉了web登入服務(wù),只能選擇從銀河客戶端開始嘗試,但是效果并不好,程序運行會報錯。
經(jīng)過幾天試用,發(fā)現(xiàn)銀河客戶端的類寫的并不完整,自動打新等功能都沒有。目前只發(fā)現(xiàn)有持倉、購買和賣出功能,而且如果是空倉的情況下持倉函數(shù)會因為獲取不到list而報錯。
整個客戶端的類實現(xiàn)各種功能的主要方式是依托Windows的API獲取窗口句柄,然后根據(jù)信息位、按鈕、指針和輸入框的位置進(jìn)行信息讀取、點擊、輸入等操作。如此一來,整個自動化交易是能夠?qū)崿F(xiàn),但是在獲取和輸入信息上肯定是不如直接從券商接口讀取信息來的方便和高效。
鑒于上述原因,近期我需要重新尋找其他更加成熟的python自動化交易解決方案,如果找不到則只好在easyquant的基礎(chǔ)上更改代碼來使用。