這是一個全新的系列,第一篇文章正好對運行恰好三個月的量化交易腳本作一個簡單的總結,也是在挖了許多坑以後,又挖的一個新坑。這個量化系列會不定時更新,會記錄我在量化學習過程當中的心得,以及對實際測試的總結(其實就是記一個流水帳。。。)。html
常常看我文章的朋友應該知道,以前我寫過一篇關於網格交易的文章:震驚!有人用Python寫了個自動虧錢腳本,還能微信實時通知!。本文中的網格策略正是來自其中的「自動虧錢腳本」,有興趣的朋友建議先去簡單瀏覽一下那篇文章,裏面會簡單介紹一些這個模型。git
以下圖,策略早在2020年9月就已經在運行了,但運行以後都沒有想起來去作調整,由於網格模型實際上是須要動態調整參數的,因此這個實盤一直是聽任無論的狀態。github
直到2020年11月底左右想起來,把代碼作了一些更新,加入了更多策略運行的日誌,也對策略運行時的數據作了保存。在2020年11月25日晚十點半左右,從新把新版程序運行了起來。不過中間因爲服務器緣由,數據沒有存儲下來,直到2020年12月9日纔有數據,不過問題不大。服務器
廢話很少說,下面是網格模型在2020年11月25日到2021年2月25日期間,整三個月的投資表現(圖比較大,請耐心等待加載):微信
其中,藍色線條表示帳戶總資產,紅色線條表示投資標的的價格。同時,畫圖時對它們作了歸一化,兩條線第一個點的縱座標都是1,便於觀察。markdown
先簡單介紹一下評價一個策略好壞的各類經常使用指標的涵義:oop
年化收益率學習
將回測的投資產品的總收益率換算成以年爲單位的幾何平均收益率。數值越高表明不考慮風險的狀況下股票的表現越好。測試
Beta優化
表明某股票走勢與大盤的相關程度,它表明股票價格被大盤所解釋的權重。
Alpha
鑑於Beta
只能解釋市場收益,那麼市場以外的超額收益咱們便用指標Alpha
來表示。投資產品能產生Alpha
的緣由不少,經常使用的方法是用一些基本面、技術面指標因子的組合去尋找Alpha
。
夏普比率
描述投資產品在單位風險下的所能得到超額收益的程度。它將一隻標的或組合的風險歸一化,便於更好的比較組合之間的有效性。數值越高表明考慮風險的狀況下股票或組合表現越好。
最大回撤
描述產品歷史表現中從某高點開始最大的下跌比例,最大回撤一般越小越好。
那麼,下面就是本文策略對應的指標結果:
評價指標 | 網格模型 |
---|---|
年化收益率 | 349.15% |
基準年化收益率 | 76.98% |
Alpha | 2.0029 |
Beta | 0.4443 |
夏普比率 | 2.1077 |
年化的波動率 | 91.66% |
最大回撤 | -31.69% |
從整個指標的結果來看,策略的年化收益率大概是基準年化收益率的4.5倍,可是回撤也達到30%多。從Alpha
和夏普比率的角度來看,策略表現中規中矩,不算好也不算差。
另外,上圖中①處,投資標的價格持續快速下跌,咱們的策略雖然也在下跌,可是速度很慢;②處,投資標的價格走出了一個"M"形走勢,可是咱們策略的資產卻沒有什麼變化。
分析一下緣由,①這種狀況發生時,策略是會慢慢買進籌碼,而不是一次性吃滿;②就是由於當時是春節期間沒有想起來要調整策略參數,致使一大波行情沒有吃到利潤。
因此能得出結論:①策略自己具備抗跌的特性;②策略的參數須要及時調整。後面也會慢慢根據狀況來優化策略。
無論寫什麼,但願能跟更多人溝通,有問題或者需求隨時歡迎交流。
我全部的項目源碼都會放在下面的github
倉庫裏面,有須要能夠參考,有問題歡迎指正,謝謝!
https://github.com/TitusWongCN/
複製代碼
下面是個人公衆號,有興趣能夠掃一下: