簡單介紹一下VEMA
VEMA原理就是使用震盪指標的波動率來決定EMA的f值
f:最近價格佔過去平均值比重.
f值愈大表示最新的價格影響程度愈大,均線反應就較快
 
如下圖:
當rsi在50附近表示盤整,對應的f值就小,均線就不敏感,避免一直交乂
當rsi破70後,表示盤動起來了,對應f值就變大,均線敏感,可以較快跟上價格
圖片 5  
如果把VEMA用成策略,最簡單的方式就是:短均交乂長均就買,相反就作空
以下使用台指期做績效測試,但同樣的這種方式使用在股票波段上也有不錯的成果.
 
程式如下:
Inputs: Length1(4),Length2(20),rsiLength(14);
variables:a1(0),a2(0);
a1=v_ema(close,Length1,rsiLength);
a2=v_ema(close,Length2,rsiLength);

condition1=a1 Crosses Above a2;
condition2=a1 Crosses Under a2;
if condition1=true then Buy ("Long_in" ) next bar at market ;
if condition2=true then sellshort ("short_in") next bar market ;
if _Endday_list then begin
setexitonclose;
end;
 
函數:V_EMA 這裡可下載
 
文章標籤

GoForTrading 發表在 痞客邦 留言(0) 人氣()

對於一個趨勢型的策略,最怕就是盤整期了,通常會增加濾網或其它方式
減少這段時間被修理的次數,讓操作者在這段時間心理面好受一些,
不至於受不了去停掉策略.
但濾網是一体兩面的,雖然會減少被巴的機會,
但也可能會限制住趨勢型成時的獲利爆發性
有時加太多還有可能造成過度最佳化.
 
在這段盤整期間,除了在程式策略內加濾網改善外,
其實還可以從損益曲線來下手
對於一個趨勢跟隨策略來說,當操作商品盤整或波動變小時,
損益曲線就會產生回落的情況.
如以下是使用一個均線策略的損益曲線 (HMA 均線,交乂買賣)
圖片 2  
也可以說:
當策略本身運行模式,不符合大部份價格走勢時,損益曲線就會產生回落.
當策略本身運行模式,符合大部份價格走勢時,損益曲線就會創新高.
 
所以,可以利用這個特性在損益曲線回落,停止交易或縮小口數,來控制住風險
當損益曲線又拉起來時再進入市場或放大口數.
當然這種做法,可能會有一段獲利沒參於到.
但對於我這種資金量小的操作者來說,在策略運作上會比較舒服一些.
 
三部曲
1.策略完成,感覺不錯,實際投錢進去跑
圖片 3  
2. 運氣不好,一進去就遇到盤整,或是走勢不符合策略的情況.
    破了MDD,或心理受不了,資金準備不足..等等原因,停掉策略.
圖片 4  
3. 但停掉不久後盤勢轉好,獲利又創新高..>_<
圖片 5  
這種事,我常發生.....
 
那要如何增加這種風險控制呢?
我們可以把損益曲線當商品來順勢操作,
當突破N日高點時買入,突破N日低點賣出
轉成
當突破N筆損益曲線高點時,加碼或開啟策略進入市場,
當突破N筆損益曲線低點時,減碼或關掉策略暫時離開市場,
 
如用以上的均線策略做例子,
當跌破前50筆損益曲線低點時就停止做單,(用布林函數把程式關掉,或用 0 contract)
當又回到前50筆損益曲線高點時就開始做單,(用布林函數把程式打開,或用1 contract)
這裡的例子拉回時完全不做單,也可以改成拉回時口數減少.
變動後可以看到以下回測比較
X軸是時間
Y軸是獲利
原本:
圖片 8  
 
加入風險控制:
圖片 9  
在績效拉回創新低,賠錢的日子就直接不交易了
回測報表上當然MDD也會變少
原本:
圖片 11  
修改後:
圖片 10  
犧牲掉一些獲利來換取策略的穏定性.
這方式算是加個保險, 好或壞也是見人見智囉,
沒有一定是這樣做比較好.
要看個人的操作習慣或資金運用了.
 
那這在程式上要如何做呢?
其實就是利用ADE,同一個策略同商品開兩個圖
一個正常執行,並記錄目前的Netprofit值,並找出前n筆高低值傳給另一個
另一個(主要執行者)收到後,根據這個值來調整進場口數,或要不要做單.
主要問題會出現在ADE的使用上,可以先參考這篇
使用那兩個ADE.Get ADE.Put 函數做值的傳送
ADE搞定了,接下來就不難了

資料來源:程式交易

(2018 最新優惠活動詳閱Firstrade官網)

【2018 美股投資】重磅再出擊~美股券商Firstrade (第一證券)大幅下調交易傭金至$2.95 每筆股票/ETF交易傭金(不限股數)從$4.95 下調至 $2.95,降幅超過40%。 每個期權合約從$0.65 下調至 $0.50,降幅超過 23%

【2018 外匯交易】英國最佳2大外匯經紀商實時點差比較(LMAX vs. Darwinex)

【2018 美股投資】重磅再出擊~美股券商TDAmeritrade大幅下調交易手續費至$6.95 每筆股票/ETF交易傭金(2018最新優惠活動)

2018 最新微牛證券(WeBull)優惠請詳閱--->最新優惠活動

300-250.png

aa3e7da9ca03cac7d7f7c020e678268b.jpg

最新老虎證券(Tiger Brokers)優惠請詳閱--->最新優惠活動

Save on your hotel - www.hotelscombined.com

【LMAX唯一外匯交易所】【一舉擊敗所有外匯經紀商】

【2018 外匯交易】五點理由,你為什麼應該與英國FCA監管的外匯經紀商進行交易

內容僅供參考,本網站不涉及任何經營和推薦,所有內容皆可在網路和官網搜尋並找到資料,投資前請謹慎評估,本人不負任何責任 免責聲明 » 凡本網站註明來源網絡或其他網站,均為轉載稿,本網轉載出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其內容的真實性,也不構成任何投資建議。對於訪問者根據本網站提供的信息所做出的一切行為,本網站不承擔任何形式的責任。本網站僅提供經濟信息,並僅供參考;亦不提供證券、基金、銀行、保險、金融任何業務與服務;不推薦任何相關商品和服務;不與任何人簽署任何海外證券投資協議,不進行海外金融產品交易,不接受任何人投資資金。

 

文章標籤

GoForTrading 發表在 痞客邦 留言(0) 人氣()

一個蠻簡單的波段策略.

 
進場出場方式:
1.把本週高點+本週低點 除2,定義為A -> A=(highW(0)+lowW(0))/2 
2.令上通道=A*(1+F) ;下通道=A*(1-F) ->多空參數F可以一樣也可以分開,這裡是分開成F1,F2
3.當價格突破上通道,在下一根開盤價買入,當價格突破下通道,在下一根開盤價賣出
4.進場價的2% 停損
5.一天只允許一次進場
6.結算日直接參於結算不換月.
7.使用K線週期:15分鐘
 
這是一個適用於多商品的策略,可以試試看套到其它商品
 
台指期貨回測結果:
時間:2003/1~2014/2
來回成本:1000元
 
圖片 14  
圖片 15  
 
這策略寫法蠻簡單的,可以自己寫寫看,
真的寫不出來,再留言寄出吧~
 
這策略要出場只有2種:
1.2%停損
2.等到另一個方向進場成立(因是用週算出來的區間,有時蠻久的)
 
可以再加入移動停利,增加出場的靈活性
我提供的是不含移動停利的版本,可以加入自己喜歡的移動停利
 
如下是我加入移動停利出場的績效
 
時間:2003/1~2014/2
來回成本:1000元
 圖片 16  
圖片 17  
程式下載

資料來源:程式交易

(2018 最新優惠活動詳閱Firstrade官網)

【2018 美股投資】重磅再出擊~美股券商Firstrade (第一證券)大幅下調交易傭金至$2.95 每筆股票/ETF交易傭金(不限股數)從$4.95 下調至 $2.95,降幅超過40%。 每個期權合約從$0.65 下調至 $0.50,降幅超過 23%

【2018 外匯交易】英國最佳2大外匯經紀商實時點差比較(LMAX vs. Darwinex)

【2018 美股投資】重磅再出擊~美股券商TDAmeritrade大幅下調交易手續費至$6.95 每筆股票/ETF交易傭金(2018最新優惠活動)

aa3e7da9ca03cac7d7f7c020e678268b.jpg

最新老虎證券(Tiger Brokers)優惠請詳閱--->最新優惠活動

Save on your hotel - www.hotelscombined.com

【LMAX唯一外匯交易所】【一舉擊敗所有外匯經紀商】

【2018 外匯交易】五點理由,你為什麼應該與英國FCA監管的外匯經紀商進行交易

內容僅供參考,本網站不涉及任何經營和推薦,所有內容皆可在網路和官網搜尋並找到資料,投資前請謹慎評估,本人不負任何責任 免責聲明 » 凡本網站註明來源網絡或其他網站,均為轉載稿,本網轉載出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其內容的真實性,也不構成任何投資建議。對於訪問者根據本網站提供的信息所做出的一切行為,本網站不承擔任何形式的責任。本網站僅提供經濟信息,並僅供參考;亦不提供證券、基金、銀行、保險、金融任何業務與服務;不推薦任何相關商品和服務;不與任何人簽署任何海外證券投資協議,不進行海外金融產品交易,不接受任何人投資資金。

 

文章標籤

GoForTrading 發表在 痞客邦 留言(0) 人氣()

這個商品我沒有實際下單過,以下有關滬深300操作經驗可能有不足或錯誤,請多多包含與指正


只是想借這個商品聊聊策略的生命週期.
去年中的時候,一位做主觀極短線的朋友開始把操作重心轉到滬深300,給了一些歷史資料(分

+tick)
看要不要研究當沖策略及高頻交易,其實他前年就給我過滬深300的資料了,但一直沒有去動.
對於沒辦法實際操作的商品總是興趣缺缺,且保證金又那麼貴.
(後來才知道,可以透過一些管道去下單,但還是很麻煩)
朋友說這個商品波動很大,且常常日內有單方向的趨勢盤,於是使用簡單的突破及順勢策略在這

商品上得出來的結果都不錯,連CDP,R breaker 這些策略都適用.
但卻發現了一個問題!,我用RSI 上下界線突破順勢進場的當沖策略來說明

策略條件:
進場:
操作時間:10:00 到 14:00
15分k 的RSI(Len) 大於中線(50)
且5分K 的RSI(Len) 向上穿過70 時
buy next bar at market
作空相反

出場:
簡單的移動停損利
損失50個跳動點就停損(3000 人民幣)
沒停損或停利就抱到15:00 全部出場

回測時間:2010/4~2013/8
交易成本:來回300 人民幣
圖片 1  
圖片 2  
看起來是很不錯的策略績效,但在回測報表裡卻看到一個現像
下圖是每年的各別淨利,可以看到獲利主要是由2010,2011所貢獻的,而且顯現逐年減少的現像
圖片 3  

這說明什麼呢?
滬深300期貨是從2010/4 才開始開放交易,一開始算是新商品的蜜月期,日內走勢常走單一方向
很像台指期剛上市的那幾年,但現在電腦網路發達,資訊流通快速,市場環境已經和10年前完全不同了
這種非效率市場將很快的效率化,盤勢也快速變化,造成這種簡單的順勢策略獲利下降,因為已不再適合這個商品了.
看到這樣的績效表現,坦白說我不敢用這樣的策略去操作這商品.當然有可能以後盤勢特性會再像2010,2011時的走勢
但這機率實在太低了,我覺得只會愈來愈趨近效率化.
不過如果策略簡單,參數又少,就能做到獲利,對未來的盤勢適應性就愈佳,以這個策略來說參數不多
就算上線,可預期的是未來獲利機率不高,但就算虧損也不會太慘.
舉個例子來說好了.
如 : YM 這個商品,走勢大部是屬於上下震盪的就算有趨勢出現也有可能會回來掃一下再走
所以用順勢策略是很難有獲利的,但其實只要濾網,參數條件夠多,還是有辦法用順勢策略讓回測績效很好看
這就是過度去fit 過去走勢了,自由度限制太多,未來走勢只要不太像過去,很容易就掛點的.
但如果觀察發現 YM這個商品就是會上下震盪,那用一個簡單的震盪策略就能獲利了,也不需要幾個參數.
策略就捉住一個核心: 商品上下震盪時就獲利,往單邊走且又不往回掃時就停損小賠(就要思考如何減少賠錢的次數)

相反的,如果我們把RSI這個策略再加上一些條件和參數讓回測績效變更好(愈去符合過去走勢)
那上線後獲利的機率將更低..(在回測樣品數不多的情況下,又加太多參數,那等於是回測跑自己爽的而已)
如我們在這策略再加上一個進場濾網,且又針對進場時間最佳化,會得到以下更好的績效.

回測時間:2010/4~2013/8
交易成本:來回300 人民幣
績效曲線變得更平滑了,且MDD 更是少了快一半.
圖片 4  
圖片 5  

但交易核心還是原本的RSI 策略,只是利用參數讓策略更加符合過去走勢罷了.
如原本是訂10:00進場,理由是: 現貨是09:30開盤,開盤前30分鐘上下震盪可能較大,30分鐘後如果有方向出來再去跟隨會比較好.
如果訂在09:30就進場了,因停損設定較少,很容易進場後就被掃去.

後來修正過的策略,其中一個參數是把時間也跑最佳化得出來是10:55分再進場會更好,那理由是?
當然也可以說是統計過去資料得到的結果,但問題再於這商品樣品數不多,
這統計可性度不高.且就算統計出來也需要去找對應的原因.
雖然修改後回測結果比原本的好,但未來變差的機率肯定比原本的高.

最後:
那如果假設滬深300這商品未來盤勢可能會轉變成歐美那些成熟市場,那其實只要把原本用在這些市場的策略拿來使用就可以了
這些市場的策略都有一個特點就是單方向的順勢指標策略或突破策略都不適用.
最常用的就是順勢拉回再進場或是用突破策略但是停損或停利時反手做,這樣績效表現會好一些.

以下使用這樣的進場方式套用在滬深300上
1.當均線往下且價格在均線之下已經一段時間了,價格如往下轉折時做空.
2.圴線不一定要往下,只要價格由上往下穿過均線且已經一段時間了,價格如往下轉折時做空
做多反向.

想法有了,接下來就是把這個想法數學式化(指標)或條件化
均線往下:目前值減前N根值小於0
一段時間:T (目前時間-始算時間)
轉折:可用價格表示或震盪指標

圖片 7  
策略完成後,回測結果
回測時間:2010/4~2013/8
交易成本:來回300 人民幣
圖片 8  
圖片 9  

圖片 10  
回測出來的績效完全和原本的RSI 順勢策略不能比,獲利少了一半,
績效曲線穩定性也比RSI 順勢策略差很多.
且如果用大家常用的 Netprofit/MDD 值 來比較,那最後一個策略完全沒有優勢.

那在2013/8 時,開發出這三個策略:RSI 順勢,RSI 順勢(加參數修正), 和最後這個均線拉回的策略
假設要上線的話,你會選那一個呢?

===================================================================
最近又跟朋友要了這半年來的滬深300 歷史資料,我們來看看這半年來這三個策略績效如何
以下圖形上垂直線標示的時間點是2013/8,往右邊就是2013/9~2014/3的績效結果(樣本外)

A.RSI 順勢
圖片 12  
B.RSI 順勢(再加入幾個參數條件)
圖片 11  
C.均線拉回的策略
圖片 13  

利用這三個策略在這半年以來的表現,應該可以表達我的意思(文筆太差,有些表達方式寫不出來)

在策略開發上,觀察一個商品的走勢並使用適合的策略是很重要的,甚至有時要以近幾年的盤勢

變化選用適合近幾年盤勢的策略,再去回推過去不同的盤勢,只要在過去盤勢上表現不太差就行

了.
未來如果延續近年走勢那很OK,如果變回過去反正也不會太差.

最後再癈話一下,最佳化參數選擇不要馬上去選 netprofit 前幾名的,最好開個3d圖來看一下是否

是參數高原.
開發一個未來賺錢機率高的策略,並沒有那麼簡單.(個人覺得啦)

資料來源:程式交易

GoForTrading 發表在 痞客邦 留言(0) 人氣()

一個蠻簡單的波段策略.

進場出場方式:
1.把本週高點+本週低點 除2,定義為A -> A=(highW(0)+lowW(0))/2 
2.令上通道=A*(1+F) ;下通道=A*(1-F) ->多空參數F可以一樣也可以分開,這裡是分開成F1,F2
3.當價格突破上通道,在下一根開盤價買入,當價格突破下通道,在下一根開盤價賣出
4.進場價的2% 停損
5.一天只允許一次進場
6.結算日直接參於結算不換月.
7.使用K線週期:15分鐘

這是一個適用於多商品的策略,可以試試看套到其它商品

台指期貨回測結果:
時間:2003/1~2014/2
來回成本:1000元

圖片 14  
圖片 15  

這策略寫法蠻簡單的,可以自己寫寫看,
真的寫不出來,再留言寄出吧~

這策略要出場只有2種:
1.2%停損
2.等到另一個方向進場成立(因是用週算出來的區間,有時蠻久的)

可以再加入移動停利,增加出場的靈活性
我提供的是不含移動停利的版本,可以加入自己喜歡的移動停利

如下是我加入移動停利出場的績效

時間:2003/1~2014/2
來回成本:1000元
 圖片 16  
圖片 17  
程式下載

資料來源:程式交易

GoForTrading 發表在 痞客邦 留言(0) 人氣()

簡單介紹一下VEMA
VEMA原理就是使用震盪指標的波動率來決定EMA的f值
f:最近價格佔過去平均值比重.
f值愈大表示最新的價格影響程度愈大,均線反應就較快

如下圖:
當rsi在50附近表示盤整,對應的f值就小,均線就不敏感,避免一直交乂
當rsi破70後,表示盤動起來了,對應f值就變大,均線敏感,可以較快跟上價格
圖片 5  
如果把VEMA用成策略,最簡單的方式就是:短均交乂長均就買,相反就作空
以下使用台指期做績效測試,但同樣的這種方式使用在股票波段上也有不錯的成果.

程式如下:
Inputs: Length1(4),Length2(20),rsiLength(14);
variables:a1(0),a2(0);
a1=v_ema(close,Length1,rsiLength);
a2=v_ema(close,Length2,rsiLength);

condition1=a1 Crosses Above a2;
condition2=a1 Crosses Under a2;
if condition1=true then Buy ("Long_in" ) next bar at market ;
if condition2=true then sellshort ("short_in") next bar market ;
if _Endday_list then begin
setexitonclose;
end;

函數:V_EMA 這裡可下載

週期:30分鐘 (週期隨便選的,可以改成自己喜歡的,當然指標參數值也要順便改掉
,60分鐘以內,5分鐘以上選一個自己喜歡的數字,對於未來這並不太重要)
時段:2001~2013/11 
成本:來回1000元 (600,或1000都可以,但務必要設不然沒什麼參考價值)

這裡只對Length1,Length2 長短均線週期簡單的跑最佳值 ,RSI值就用預設14
有興趣可以連RSI也跑參數,績效應該會再好些.
圖片 2  
圖片 3  


以下是回測績效3D圖,主要來看參數高原分佈.
X軸:長均線週期
Y軸:短均線週期
Z軸:淨利
固定RSI週期:14
以短均線交乂長均線順勢交易做法,只要長短均線週期不重疊,回測結果都是獲利的


圖片 1  
把水平線拉到200萬,以伏視圖來看,鮮綠色為績效大於200萬
稱為參數高原,如果只要求此系統有200萬以上的獲利,那這高原區算是能接受的
最適合參數:
Length1:4 ,5
Length2:22~28(可以看高原起伏或把水平面再上移找出最適合的)
圖片 14  

但以波段策略來說,淨值250萬是有點少,且在這獲利下MDD值就太大
那如何改善?

策略套用在一個商品上,除了跑最佳化外,最重要的一點就是去觀察進出點
思考合理性,應該如何做才能更好.
我覺得深入去了解該商品的走趨特性,把這些想法加入策略中,會比一直去做參數最佳化重要.
以這個策略為例:
1.
這個策略在結算日時就會平倉,但進場是使用到cross 穿越,當均線再次交乂才會進場
但如去觀察台指期,會發現如果是大行情走勢,下個月的方向會延續當月的,
那結算日出場後除非均線要crosses under 才會有crosses above 產生.
所以會有一大段都吃不到的形情發生.
修改方式:
當月結算如果是賺錢,隔天開盤馬上照原本的方向進單

2.指數是由股票組成,股票因買賣特性,會造成走勢緩漲急跌.
所以觀察指數類期貨會發現漲跌速度是不同的(如500點走勢,漲花了10天,跌只要5天)
之前有做過類似的統計,有興趣可以統計一下囉.
即然這樣,那做空的反應是否要快一點,做多反應就慢一些呢?
以VEMA為例,影響反應的速度就是RSI週期,所以可以把多空的RSI週期分開
可能會覺得,那這樣是否會過度最佳化,我是覺得這是商品特性多空的速度不同
是可以用不同參數去代表,這裡分開的是代表反應速度的 RSI週期.
做策略開發,修改的目的都是為了增加未來可能獲利的機會,但當我們在加濾網或增加參數時
可能要想一下是否有其意義在.

3.加入適當停損值
這算是最簡單也是最有效的方法
以均線進場的方法,如果是順勢通常可以賺一大段,但缺點是如果猜錯方向
要等均線交乂才會平倉出場,承受的風險就高.
加入停損後雖然會讓勝率下降,但系統穩定性會提高不少.
如以下回測績效3D圖,加入停損後可以看到,系統穏定不少(青綠色部份為參數高原區)
(水平線拉到200萬)
圖片 12  
圖片 13  


以下是使用這三點做修改後的績效.
雖然淨值並增加有限,但整体風險值變小不少
最大拉回平倉虧損:12.9萬
最大拉回浮動虧損:17.6萬

時段:2001~2013/11 
成本:來回1000元
圖片 6  
圖片 7  

可以觀察到:
平均每筆 獲利/虧損 =2.98 ,代表是賺錢時通長是一大段(可以從平均獲利K棒數和平均虧損K棒數看出來)
所以可以在賺錢時再加碼
圖片 8  
以下是當賺了目前指數的1%點數後,再加碼一口績效   (openD(0)*0.01)

圖片 10  
圖片 11  

未加碼與加碼比較
一口單 獲利加一口
最大拉回浮動虧損(MDD) 17.6萬 22.5萬 
netprofit  264萬 431萬
NetProfit/MDD 15 19.1


可以看到加碼後風險並未增加太多,但獲利明顯上升.
對於平均每筆 獲利/虧損超過2以上的策略,可以試著用加碼方式增加績效
當然加碼方式有很多種,可以試試別的~

最後:
看績效報表時會發現一件事,就是多方賺的比作空還多
獲利比約是2:1.
接下來就是又開始觀察作多,作空之間的差異,和什麼特性造成這種差異.
再去做排除和改進...
有興趣可以再續繼往下發展~

資料來源:程式交易

GoForTrading 發表在 痞客邦 留言(0) 人氣()

我們都知道交易商品走勢特性可以大略分類為:偏向順勢或偏逆勢,但有些商品並不屬於這兩端

而是介於這兩者之間.


進入主題前先離提一下
交易策略開發到上線大致如以下流程:
1.選定適合的交易商品
合約值大小->是否適合自己的操作資金
成交量是否足夠?->流動性風險
觀察買賣價掛單狀況->推估可能的滑價
合約規格->換月日,跳動點數,金額都要很清楚
相關性->跟自己目前操作的商品相關度要低

2.選定適合的交易模式
交易模式並不是指說用什麼指標或是怎麼的進場條件,這裡指的是:要先定義出在該商品要做的是:機率還是波動率
這是什麼意思?
賭機率:
找出價格走勢形成某一條件時,買入後設定停損停利價,猜測往上觸及停利的機率大於停損值
如:價格創當日新高且又大於100ma 時買入,買入價+10點掛停利,買入價-10點掛停損
在不計成本的形況下,只要往上觸及10點的機率大於50%,長久做下來就會是賺錢的(期望值大於1)
逆勢策略剛好相反~
接下來就去找什麼情況下往單方向走的機會是較高,並利用回測的方式驗證.
這樣的策略持單時間都不會太長,且不需要太大的波動率
以這個例子來說不是賺10點就賠10點,就只是看那邊先到而已.
通常這種模式可以在參數不變下去套用多種商品,因為只是捉行為發生後價格延續的機率
只要商品有這種行為,都能直接套用~

賭波動:
以順勢策略來說就是盤整時盡量小巴,趨勢出來一次賺回來
以逆勢策略來說就是盤整時靠區間震盪賺,趨勢出來時盡量減少連巴次數
這兩者都是需要價格有一定的波動程度才能拉開獲利,可能有疑問的是逆勢策略即然是靠區間震盪賺錢的
那要波動率幹嘛?
區間有分大區間跟小區間(波動率大或小),在小區間內逆勢獲利程度也會被壓縮,,趨勢出來時可能不夠賠
我們不能知道價格什麼時候會有波動出現,但我們知道價格一定會有波動.所以這種做法就可以利用相關性低的商品做配合
防止只操作單一商品時,遇到該商品長時間沒波動出現的風險. 
不管做的是機率或波動,都是去觀察商品過去的特性,並用數學式及羅輯去描述讓電腦了解,
接下來就是猜測該商品的價格未來可能會照著過去的慣性運作一段時間~
當然如果慣性行為差不多,那獲利是可期的.
如果慣性改變那就要看策略有沒有保護機制或自由度是否足夠(是否條件或參數過多)
過度讓策略去符合過去的走勢,只要價格慣性改變很容易造成績效大幅拉回.

3.實際交易問題排除
4.加入策略退場條件或Position size 調整
(2,3,4點有時間再用另一篇做詳細說明,不然這篇可能會完全離題)
回到主題,有些商品特性如果同時有震盪及趨勢(在走勢中兩者出現的時間差不多)
那真的就很難去用一個特定行為去操作該商品,如看到下圖的走勢一定會想:
如果在震盪時用逆勢策略,然後在趨勢出來時套用順勢策略那一定會不錯.
問題就在於什麼時候要用逆勢策略,什麼時候要用順勢策略??
圖片 1  

順勢或逆勢的轉換方法有很多種,以下分享兩個常見的做法
1.ADX 
ADX 算是一個表現波動率的指標,上圖我們把ADX指標放上去後,可以觀察到ADX曲線往上時,價格是有趨勢產生的
往下則是進入盤整,或者是大家常用的當ADX在一定值以上就是趨勢,一定值以下就是盤整
圖片 2  
經由這樣的介定就可以大略判斷目前走勢是屬於震盪或趨勢,來決定要套用那種策略
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 上通道減去下通道的值來做判斷,就是用前一段時間價格分佈標準差值來算常態偏離率,表示目前是震盪或趨勢
如下圖柱狀体為通道差值,可以利用這個值的上升或下降得知目前分佈區間屬於發散或收斂.
就能去切換要用震盪或趨勢策略.
圖片 5  
判斷上就如同上述所提到的ADX 一樣,可以做均線,大於一定值或前值..

不過無論是ADX 或Bollinger  來推算波動率的方法比較適合交易時間長且較小隔日跳動的商品
如台指就不太適合,因隔日跳空幅度大,造成價格不連續運,算出來的值參考性就不大了.
資料來源:程式交易

GoForTrading 發表在 痞客邦 留言(0) 人氣()

對於一個趨勢型的策略,最怕就是盤整期了,通常會增加濾網或其它方式
減少這段時間被修理的次數,讓操作者在這段時間心理面好受一些,
不至於受不了去停掉策略.
但濾網是一体兩面的,雖然會減少被巴的機會,
但也可能會限制住趨勢型成時的獲利爆發性
有時加太多還有可能造成過度最佳化.

在這段盤整期間,除了在程式策略內加濾網改善外,
其實還可以從損益曲線來下手
對於一個趨勢跟隨策略來說,當操作商品盤整或波動變小時,
損益曲線就會產生回落的情況.
如以下是使用一個均線策略的損益曲線 (HMA 均線,交乂買賣)
圖片 2  
也可以說:
當策略本身運行模式,不符合大部份價格走勢時,損益曲線就會產生回落.
當策略本身運行模式,符合大部份價格走勢時,損益曲線就會創新高.

所以,可以利用這個特性在損益曲線回落,停止交易或縮小口數,來控制住風險
當損益曲線又拉起來時再進入市場或放大口數.
當然這種做法,可能會有一段獲利沒參於到.
但對於我這種資金量小的操作者來說,在策略運作上會比較舒服一些.

三部曲
1.策略完成,感覺不錯,實際投錢進去跑
圖片 3  
2. 運氣不好,一進去就遇到盤整,或是走勢不符合策略的情況.
    破了MDD,或心理受不了,資金準備不足..等等原因,停掉策略.
圖片 4  
3. 但停掉不久後盤勢轉好,獲利又創新高..>_<
圖片 5  
這種事,我常發生.....

那要如何增加這種風險控制呢?
我們可以把損益曲線當商品來順勢操作,
當突破N日高點時買入,突破N日低點賣出
轉成
當突破N筆損益曲線高點時,加碼或開啟策略進入市場,
當突破N筆損益曲線低點時,減碼或關掉策略暫時離開市場,

如用以上的均線策略做例子,
當跌破前50筆損益曲線低點時就停止做單,(用布林函數把程式關掉,或用 0 contract)
當又回到前50筆損益曲線高點時就開始做單,(用布林函數把程式打開,或用1 contract)
這裡的例子拉回時完全不做單,也可以改成拉回時口數減少.
變動後可以看到以下回測比較
X軸是時間
Y軸是獲利
原本:
圖片 8  

加入風險控制:
圖片 9  
在績效拉回創新低,賠錢的日子就直接不交易了
回測報表上當然MDD也會變少
原本:
圖片 11  
修改後:
圖片 10  
犧牲掉一些獲利來換取策略的穏定性.
這方式算是加個保險, 好或壞也是見人見智囉,
沒有一定是這樣做比較好.
要看個人的操作習慣或資金運用了.

那這在程式上要如何做呢?
其實就是利用ADE,同一個策略同商品開兩個圖
一個正常執行,並記錄目前的Netprofit值,並找出前n筆高低值傳給另一個
另一個(主要執行者)收到後,根據這個值來調整進場口數,或要不要做單.
主要問題會出現在ADE的使用上,可以先參考這篇
使用那兩個ADE.Get ADE.Put 函數做值的傳送
ADE搞定了,接下來就不難了

資料來源:程式交易

GoForTrading 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼