程序化交易系統之利用“能量潮”加權算法抓大波段!

牛角問答,股票期貨專業投機者。

程序化交易系統之利用“能量潮”加權算法抓大波段!


前言

在所有的股票或期貨技術指標的算法中,幾乎是基於價格或基於成交量進行計算,因此,既考慮了價格變化,又考慮成交量變化的算法寥寥無幾。

通常情況下,我們分析價格走勢,都會以價格和成交量結合分析。這樣更能夠揣摩交易對手的意圖。

作者喜歡既有價格,又考慮了成交量指標的算法,是有原因的。

首先,價格上漲幅度越大成交量就越大嗎?不一定,因為縮量還不是一樣的上漲,如下圖所示。

程序化交易系統之利用“能量潮”加權算法抓大波段!


其次,價格上漲幅度越小成交量就越小嗎?也不一定,因為一根十字k線同樣可以有巨量,如下圖所示。

程序化交易系統之利用“能量潮”加權算法抓大波段!


單純的以價格或者成交量所設計的算法,都不能很好的解釋價格變動內在邏輯。

因此,OBV加權成交量算法,橫空出世!

接下來,將用最簡單的方式講解OBV加權成交量算法的內在機理,與跨週期過濾和跟蹤止盈相結合。

並用這個改進後的算法用程序化交易平臺編寫,實現自動化交易。

我將介紹兩種算法及其區別,在程序化交易系統中OBV加權成交量算法,為何更具有優勢。

揭開“WOBV 算法” 的神秘面紗

WOBV中的“W”,代表權重“weight”,具有加權算法的OBV能量潮。兩者雖說只有一個字母的差距,但對我們實際分析和程序化交易意義影響深遠!

我們將兩種算法和最終效果進行比較。

1、算法剖析與OBV缺陷。

(1) OBV算法。

他的邏輯主要以當前k線的價格上漲或下跌狀態,來決定當前是否是減少OBV值或增加OBV值,如下圖所示。VOL,成交量。

  • 價格上漲的OBV計算過程。


程序化交易系統之利用“能量潮”加權算法抓大波段!

效果圖如下。

程序化交易系統之利用“能量潮”加權算法抓大波段!


  • 價格下跌OBV的計算過程。


程序化交易系統之利用“能量潮”加權算法抓大波段!

效果圖如下。

程序化交易系統之利用“能量潮”加權算法抓大波段!


注:OBV代表當前k線的OBV值,OBV[1]代表上一根k線的OBV值。OBV初始值為歷史數據第一根k線的成交量。

從圖中我們可以得出一個結論。

  • 當價格上漲時,OBV值就加上當前k線的成交量。
  • 當價格下跌時,OBV值就減去當前k線的成交量。

下圖是OBV算法的效果圖。

程序化交易系統之利用“能量潮”加權算法抓大波段!


我們從算法和k線圖中得知,OBV技術指標每次增加或減少的值,都是當前k線的全部成交量。

此算法有一個致命缺陷。當k線上漲或下跌幅度極小,成交量又非常大,此時指標的值不管三七二十一,還是加上當前k線的成交量。例如,十字星k線。

說白了,就沒辦法識別當前價格走勢的力度,相當雞肋!

程序化交易系統之利用“能量潮”加權算法抓大波段!


這也是OBV與“WOBV”算法最明顯的區別!

說完了OBV算法,接下來我們將對WOBV算法、優勢進行深度分析。

(2) WOBV算法剖析。

WOBV算法與OBV相比,其實最核心的就是它公式中權數的計算,即k線實體比上k線振幅。

這個算法是在OBV能量潮算法上改進而來,主要原理是k線實體佔k線振幅的百分比作為權數,對成交量進行加權。並以此來做出的程序化策略,更具有適應未來的能力。

算法如下圖所示。

程序化交易系統之利用“能量潮”加權算法抓大波段!

注:WOBV代表當前k線的WOBV值,WOBV[1]代表上一根k線的WOBV值。

WOBV初始值為歷史數據第一根k線的權數*VOL。

效果如下圖所示。

程序化交易系統之利用“能量潮”加權算法抓大波段!


相當於一個動態調節器,

  • 當我們的k線實體非常大時,權數就越大,WOBV就變得靈敏,說明趨勢強勁。
  • 當k線實體變小時,權數就越小,WOBV就變得遲鈍,說明趨勢減弱。

從上圖中我們就可以看出,行情雖然仍在上漲,但WOBV值已經開始橫向變動或反轉。

預示著,上漲動能減弱隨時會發生趨勢反轉或進入橫盤震盪,此時突破策略在這裡開倉的話,大大的增加策略假突破的風險和擁有較低的利潤空間。

勿讓自己,得不償失。

WOBV與OBV兩者誰更具有優勢,一張圖就能解決!請看第二個子圖中的指標和k線圖。

程序化交易系統之利用“能量潮”加權算法抓大波段!

注:加粗黑線,WOBV。藍色線,OBV值。

WOBV優勢:

  • 作為一個預警信號,當一波大幅上漲後,一旦WOBV橫向整理或開始反轉時,此時可以減少倉位或平倉。
  • 同時在WOBV 橫向整理或者反轉區域可以選擇不開倉,減少假突破,提高勝率。

這就是採用了,加權的成交量算法—WOBV算法的優勢。

小結。

說完了WOBV與OBV算法原理,接下來將分享,基於WOBV算法程序化交易策略,並與跨週期過濾跟蹤止盈結合,打造交易系統!

基於WOBV 算法的交易系統

在前面,我們已經分享了OBV與WOBV算法的主要區別。後者更能刻畫價格波動規律,具有良好的自適應能力。

當價格動能較強,WOBV越大,更靈敏。動能減弱時,WOBV提前橫向整理,或反轉。

也就是所謂的,自適應能力!

下面是基於WOBV算法的程序化交易策略邏輯。

① 開倉邏輯(多頭為例):

  • 價格在周線EMA8均線以上,處於多頭趨勢
  • 在WOBV上穿WOBV_MA,且最高價突破當前最高價+1倍ATR。


程序化交易系統之利用“能量潮”加權算法抓大波段!


② 平倉邏輯:

  • 採用具有加速算法的跟蹤止盈方法,平倉。
  • 正如下圖所示,價格波動大時,止盈線收得更緊。波動小時,以上一根k線的速度進行移動。


③ 策略信號:

程序化交易系統之利用“能量潮”加權算法抓大波段!


策略回測分析

作者用螺紋鋼期貨指數合約進行回測分析。

① 回測參數設置:

  • 回測資金,10萬。
  • 回測區間,2009-至今。
  • 回測品種,螺紋鋼期貨指數
  • 回測週期,30分鐘。
  • 開倉手數,1手。
  • 滑點,1跳。
  • 費用,1%%。


② 資金曲線:

程序化交易系統之利用“能量潮”加權算法抓大波段!


最後

文章主要給大家分享了OBV與WOBV算法的區別,優劣勢。且利用WOBV算法與跨週期、跟蹤止盈、ATR波動率方法構建程序化交易策略。

同時也提到了,WOBV算法具有自適應的功能,其核心就在於權數的計算。

權數=(收盤價-開盤價)/(最高價-最低價)

當k線上下引線變長時,WOBV值就會越小。反之,就越大。


分享到:


相關文章: