牛角問答,股票期貨專業投機者。
![程序化交易系統之利用“能量潮”加權算法抓大波段!](http://p2.ttnews.xyz/loading.gif)
前言
在所有的股票或期貨技術指標的算法中,幾乎是基於價格或基於成交量進行計算,因此,既考慮了價格變化,又考慮成交量變化的算法寥寥無幾。
通常情況下,我們分析價格走勢,都會以價格和成交量結合分析。這樣更能夠揣摩交易對手的意圖。
作者喜歡既有價格,又考慮了成交量指標的算法,是有原因的。
首先,價格上漲幅度越大成交量就越大嗎?不一定,因為縮量還不是一樣的上漲,如下圖所示。
![程序化交易系統之利用“能量潮”加權算法抓大波段!](http://p2.ttnews.xyz/loading.gif)
其次,價格上漲幅度越小成交量就越小嗎?也不一定,因為一根十字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值就會越小。反之,就越大。