策略開發小技巧:利用ADX或布林通道差做順逆勢轉換
我們都知道交易商品走勢特性可以大略分類為:偏向順勢或偏逆勢,但有些商品並不屬於這兩端而是介於這兩者之間.
進入主題前先離提一下
交易策略開發到上線大致如以下流程:
1.選定適合的交易商品
合約值大小->是否適合自己的操作資金
成交量是否足夠?->流動性風險
觀察買賣價掛單狀況->推估可能的滑價
合約規格->換月日,跳動點數,金額都要很清楚
相關性->跟自己目前操作的商品相關度要低
2.選定適合的交易模式
交易模式並不是指說用什麼指標或是怎麼的進場條件,這裡指的是:要先定義出在該商品要做的是:機率還是波動率
這是什麼意思?
賭機率:
找出價格走勢形成某一條件時,買入後設定停損停利價,猜測往上觸及停利的機率大於停損值
如:價格創當日新高且又大於100ma 時買入,買入價+10點掛停利,買入價-10點掛停損
在不計成本的形況下,只要往上觸及10點的機率大於50%,長久做下來就會是賺錢的(期望值大於1)
逆勢策略剛好相反~
接下來就去找什麼情況下往單方向走的機會是較高,並利用回測的方式驗證.
這樣的策略持單時間都不會太長,且不需要太大的波動率
以這個例子來說不是賺10點就賠10點,就只是看那邊先到而已.
通常這種模式可以在參數不變下去套用多種商品,因為只是捉行為發生後價格延續的機率
只要商品有這種行為,都能直接套用~
賭波動:
以順勢策略來說就是盤整時盡量小巴,趨勢出來一次賺回來
以逆勢策略來說就是盤整時靠區間震盪賺,趨勢出來時盡量減少連巴次數
這兩者都是需要價格有一定的波動程度才能拉開獲利,可能有疑問的是逆勢策略即然是靠區間震盪賺錢的
那要波動率幹嘛?
區間有分大區間跟小區間(波動率大或小),在小區間內逆勢獲利程度也會被壓縮,,趨勢出來時可能不夠賠
我們不能知道價格什麼時候會有波動出現,但我們知道價格一定會有波動.所以這種做法就可以利用相關性低的商品做配合
防止只操作單一商品時,遇到該商品長時間沒波動出現的風險.
不管做的是機率或波動,都是去觀察商品過去的特性,並用數學式及羅輯去描述讓電腦了解,
接下來就是猜測該商品的價格未來可能會照著過去的慣性運作一段時間~
當然如果慣性行為差不多,那獲利是可期的.
如果慣性改變那就要看策略有沒有保護機制或自由度是否足夠(是否條件或參數過多)
過度讓策略去符合過去的走勢,只要價格慣性改變很容易造成績效大幅拉回.
3.實際交易問題排除
4.加入策略退場條件或Position size 調整
(2,3,4點有時間再用另一篇做詳細說明,不然這篇可能會完全離題)
回到主題,有些商品特性如果同時有震盪及趨勢(在走勢中兩者出現的時間差不多)
那真的就很難去用一個特定行為去操作該商品,如看到下圖的走勢一定會想:
如果在震盪時用逆勢策略,然後在趨勢出來時套用順勢策略那一定會不錯.
問題就在於什麼時候要用逆勢策略,什麼時候要用順勢策略??[attach]12112[/attach]
順勢或逆勢的轉換方法有很多種,以下分享兩個常見的做法
1.ADX
ADX 算是一個表現波動率的指標,上圖我們把ADX指標放上去後,可以觀察到ADX曲線往上時,價格是有趨勢產生的
往下則是進入盤整,或者是大家常用的當ADX在一定值以上就是趨勢,一定值以下就是盤整
[attach]12113[/attach]
經由這樣的介定就可以大略判斷目前走勢是屬於震盪或趨勢,來決定要套用那種策略
ADX的判斷在程式寫法上就是以下幾種
1.對ADX 取均線,大於均線就是趨勢
value7 = adx(len1);
value8 = averageFC(value7,len2);
condition1= value7>value8 ;
2.當ADX 大於前值時表示上升,小於前值時表示下降
Condition1=ADX(len)>ADX(len)[N];
Condition2=ADX(len)<ADX(len)[N];
3.ADX 大於一定值時
Condition1=ADX(len)>n ;
所以當condition=true 就做順勢, condition1=false 就做逆勢
在 這一篇 會利用銅期貨做舉例~
2. Bollinger 通道差值
利用bollinger 上通道減去下通道的值來做判斷,就是用前一段時間價格分佈標準差值來算常態偏離率,表示目前是震盪或趨勢
如下圖柱狀体為通道差值,可以利用這個值的上升或下降得知目前分佈區間屬於發散或收斂.
就能去切換要用震盪或趨勢策略.
[attach]12114[/attach]
判斷上就如同上述所提到的ADX 一樣,可以做均線,大於一定值或前值..
不過無論是ADX 或Bollinger 來推算波動率的方法比較適合交易時間長且較小隔日跳動的商品
如台指就不太適合,因隔日跳空幅度大,造成價格不連續運,算出來的值參考性就不大了. 谢谢分享
页:
[1]