“布林強盜”量化交易系統,它真正厲害的地方是在這裡

點及財經,股票期貨專業投機者。

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

前言

“布林強盜”,作者不是很理解為啥會用“強盜”來形容這個策略,難道這個策略是偷偷摸摸的搞了見不得人的事?O(∩_∩)O哈哈~,後面會給大家分享作者對這個“強盜”一詞的理解。

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

布林強盜系統藉助布林線,與過濾器和跟蹤止盈組合而成,其中我個人認為該策略的核心是過濾器和止盈模塊。

說到止盈,我還再強調一遍,止盈是一個非常重要的模塊,好的開倉決定你浮盈大小,好的止盈決定你最終平倉收益的大小,並會跟你的交易次數、勝率和盈虧比直接掛鉤。

“布林強盜”量化交易系統交易邏輯。

上面說到,布林強盜系統中含有布林線、過濾器、及跟蹤止盈(動態移動平均線)。並且,過濾器和跟蹤止盈是整個策略的核心。

策略交易邏輯:(空頭)。

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

1.開倉邏輯。

  • 收盤價
  • 最低價

2.平倉邏輯。

  • 最高價>動態移動平均線(跟蹤止盈).

策略信號:(空頭)。

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

解析:

1.過濾器,收盤價

其實就是,用當前價格與過去的價格做對比,看當前價格在過去n-1日價格的哪個位置,如果真小於了,那麼說明是一個空頭趨勢。反之則多頭趨勢。

2.動態移動平均線(跟蹤止盈)。

常規均線的週期參數都是固定的,但是在此策略中,這個週期參數是動態變化的,並且當持倉越久週期參數就越小。

小結。

布林強盜策略中的“強盜”,我想就是說的這個動態移動平均線。因為,移動平均線如果在未開倉時,週期參數會恢復到布林線中軌,一旦開了倉,週期參數立刻開始隨k線更新而減小。這是我的理解!

“布林強盜”交易系統Python代碼實現。

作者藉助天勤量化平臺實現該策略,

在策略實現過程中需要著重注意的是“動態移動平均線”的週期參數變化過程,其他的我覺得都比較容易理解。

1.設置參數和變量。其中,flag變量用於識別k線更新狀態,並控制動態移動平均線的週期參數計算機跟蹤止盈線的計算。後面會詳細講解!

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

2.計算布林線上下軌與中軌,以及過濾器rocCalc。

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

其中:

self.rocCalc = self.kline.close.iloc[-2] - self.kline.close.iloc[self.vars['rocCalcLength'] - 1]

就是過濾器的計算,與過去第N-1根k線相比,是否下跌或上漲,以判斷當前趨勢。

3.策略開平倉,以及平倉時將動態移動平均線的參數設置為初始值(布林線中軌)。

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

其中:

self.vars['liqDays'] = self.vars['liqLength'] ,平倉後將動態移動平均線參數設置成中軌參數。

self.flag = False,設置為false意味著平倉後,如果新開倉了就必須要等動態參數和止盈線計算出後變為true,才可以開啟平倉功能。

動態參數及動態移動平均線的計算:

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

4.啟動交易策略。

如下圖所示:

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

策略信號:

“布林強盜”量化交易系統,它真正厲害的地方是在這裡

小結。

以上就是關於python如何實現“布林強盜”策略。閱讀時一定要著重看動態參數及動態移動平均線的計算部分,因為這一部分是整篇文章的重點。

最後

整篇文章,唯一有價值的是策略的止盈部分。

動態參數和動態止盈線的計算,當然這個止盈方法放在之前作者介紹的2種對比的話,我覺得沒有可比性。不過這種方法還是值得讀者們收藏,趕快應用到你的策略中去試試吧!

文章及策略代碼僅供學習,切勿直接實盤。

內容系原創,未經授權,禁止轉載!後果自負!


分享到:


相關文章: