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

數量技術宅發表於2020-10-18

更多精彩內容,歡迎關注公眾號:數量技術宅。想要獲取本期分享的完整策略程式碼,請加技術宅微信: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爬蟲

相關文章