【數量技術宅|量化投資策略系列分享】多周期共振交易策略

更多精彩內容,歡迎關注公眾號:數量技術宅。想要獲取本期分享的完整策略代碼,請加技術宅微信:sljsz01

多周期共振,提高策略勝率

趨勢策略是量化投資策略中一個重要的類別,趨勢策略有着低勝率、高盈虧比的特徵,低勝率意味着當行情長期不出現趨勢,策略會面臨較大的回撤幅度、較長的回撤周期,容易讓策略交易者產生無法繼續執行策略的念頭。那麼,如何可以提高趨勢策略的勝率,使其在震蕩行情儘可能少開倉、甚至不開倉,我們這裡引進多周期共振的方法。

多周期共振,理論依據是自然界的「分形理論」。我們把該理論應用到K線圖表上,市場不同級別的K線,如果抹去K線周期,很難看出所屬的K線周期;根據分形理論,大小周期K線的屬性是極其相似的,同樣的,他們都具有識別趨勢的功能。

因此,當大、小K線周期都提示市場具有趨勢行情的時候,此時趨勢延續的概率也將更大,而我們在開發策略中需要做的,就是實現多周期共振信號的編寫。

日線與其他日內周期共振的策略開發

在本文的分享中,我們將採用一個支持策略編寫開發、測試、交易的三方平台:交易開拓者(TB)來為大家實現多周期共振的策略思路。我們首先來看日線與其他日內分鐘周期共振的策略開發,我們以日內想要交易的分鐘周期作為主周期,所以此時需要獲取的是日線這個非主周期的K線數據,並計算相應的指標。

日線的跨周期數據獲取比較便捷,TB為我們直接定義了日線的跨周期函數,可以調用日線的開、高、低、收等常用K線數據。日線收盤價用法如下,可以用CloseD(N)的方式獲得。日線開盤價、最高價、最低價的數據獲取方式同理,分別是OpenD(N)、HighD(N)、LowD(N)。

我們以著名的技術指標Keltner通道為例,演示如何在分鐘級別的主周期,利用TB的日線跨周期函數來計算日線的Keltner通道。先通過循環依次獲取日線周期前N天的收盤價,計算輔助指標SumValue(日線收盤價之和)以及SumTR(日線真實波幅之和),最後計算Keltner通道的上下軌。

日線Keltner通道的效果展示:由於日線數據在對應的分鐘級別K線周期上,不是連續變化的,所以我們看到的Keltner通道是呈現一小段一小段折線形式變化的。

任意K線級別的多周期共振

如果我們不僅需要日線級別周期,還需要其他更精細的分鐘級別周期,來進行共振的確認,此時,我們就需要自己編寫跨周期獲取K線數據的函數了,在本文中,技術宅將分享給大家一個自編的計算任意K線級別跨周期K線的函數。

這個函數有兩個參數:一是目標時間周期,支持任意跨周期時間的獲取,月、日、小時、任意分鐘;二是目標時間周期BAR偏移,一般情況下我們選1,即當前主周期能獲取到的歷史最近1個跨周期K線的數據,避免未來數據。該函數支持輸出跨周期K線的所有數據:開、高、低、收、成交、持倉等數據。

接下來是跨周期數據獲取的核心實現部分,我們首先需要在每根小周期的K線上,記錄它所屬的大時間周期(跨周期)下的開高低收等值的變化;接下來,我們需要把在大的時間周期級別上屬於同一根K線的開高低收等數據,記錄在這一組小周期K線的最後一根K線上;最後,將相應的K線數據作為引用參數返回,就能得到任意跨周期的K線數據了。

自編的跨周期函數,它的使用方法很簡單,我們可以通過調用跨周期函數,進一步計算所需要的跨周期技術指標,我們在此處以簡單移動平均線為例。只需要設定擬跨的K線周期、偏移、均線計算周期,首先調用跨周期K線數據獲取函數得到跨周期的收盤價,再調用求和函數併除以均線計算周期,就能得到跨周期計算的均線指標了。

我們舉一個簡單的任意跨周期均線指標的計算示例,此處我們以5分鐘K線作為主周期,擬計算30分鐘跨周期K線的均線,均線的計算周期為20、60周期的雙均線,並展示效果。有了前述函數的鋪墊,代碼實現變得相當簡單。

再來看一下跨周期均線的繪圖結果,完美實現了跨周期指標的計算和呈現。

一個多周期共振的策略實例

現在,有了計算任意跨周期K線、跨周期指標的函數,我們就可以根據策略的思路,輕鬆構建多周期共振的交易策略了。在文末,我們為大家展示一個多周期共振的交易策略實例,該示例用到了多周期共振的思路,以及我們實現多周期共振的函數。

我們按照等權重,對目前期貨市場所有交易活躍的品種,應用該策略做了組合測試。不刻意挑選品種,是為避免選品種帶來的過度擬合,驗證多周期共振邏輯是否真正有效

從回測結果來看,總體業績比較穩健的向上,不同品種互有盈虧。我們沒有刻意篩選品種,也沒有對單個品種做任何的參數調優,已經充分說明策略思路是有效的。

如果你想要獲取上述分享的策略歡迎加小編微信(sljsz01),與我交流

 

 

 


往期乾貨分享推薦閱讀

【數量技術宅|金融數據分析系列分享】為什麼中證500(IC)是最適合長期做多的指數

商品現貨數據不好拿?商品季節性難跟蹤?一鍵解決沒煩惱的Python爬蟲分享

【數量技術宅|金融數據分析系列分享】如何正確抄底商品期貨、大宗商品

【數量技術宅|量化投資策略系列分享】股指期貨IF分鐘波動率統計策略

【數量技術宅 | Python爬蟲系列分享】實時監控股市重大公告的Python爬蟲