程式交易者,不見得要每天殺進殺出,也可以設計出一些原理不複雜,概念很清晰,只要嚴格遵守交易紀律,還是可以在波段趨勢中穩定求勝的策略,對於那些心臟承受不了短線波動的朋友,今天來介紹一個波段操作的交易策略。
這個策略是由三個大條件所組合而成
1.加權指數處於多頭排列
2.個股 日KD是K>D且K沒有超過80
3.個股週KD低檔出現黃金交叉
這三個條件的概念就是在大盤不錯的情況下,找出那些波段開始翻多的股票
為了迎合保守的操作者,這個策略可以只用在權值股的中型100指數成份股這類型的股票。
根據上述的條件,我寫的腳本如下:
// 日KD期間=9, 周KD期間=5 // 作多, 交易費用0.2%, 停利15%, 停損7%, 最大持有時間60期, 同時進場次數: 1 // if GetSymbolField("tse.tw","收盤價","D") >=average(GetSymbolField("tse.tw","收盤價","D"),10) then begin input: Length_D(9, "日KD期間"); input: Length_W(5, "周KD期間"); variable:rsv_d(0),kk_d(0),dd_d(0); variable:rsv_w(0),kk_w(0),dd_w(0); stochastic(Length_D, 3, 3, rsv_d, kk_d, dd_d); xf_stochastic("W", Length_W, 3, 3, rsv_w, kk_w, dd_w); condition1 = kk_d >= dd_d; // 日KD condition2 = xf_crossover("W", kk_w, dd_w); // 周KD 黃金交叉 condition3 = kk_d[1] <= 80; // 日K 不過熱 condition4 = xf_getvalue("W", kk_w, 1) <= 30; // 周K 低檔 ret = condition1 and condition2 and condition3 and condition4; end;
這當中用了四個系統函數,
一,xf_getvalue,這是用來在跨頻率時,把較長頻率的序列,換算成計算頻率的第幾筆的函數。
二,xf_stochastic,這是計算週KD的函數。
三,xf_crossover,這是傳入兩個序列(跟目前的頻率不同,本文是以跨週頻率為範例介紹),判斷是否crossover。
四,xf_GetDTvalue,這是回傳某個日期的’normalized’ value,用這個value來比對是否已經跨期。
回測報告,三年的回測報告如下:
一年的回測報告則如下圖
然後我們再去檢視那些失敗的交易,我們會發現,讓我們輸錢的交易大致上有兩個情況
1.在大盤假突破時進場,所以就會被停損掉,特別是去年七月到八月及今年年初時的急跌,這個策略會因為過早進場而虧大錢
2.個股打第二支腳時就被停損掉了
針對上述兩個情況,我把這個交易策略再優化成下面這個腳本
// 日KD期間=9, 周KD期間=5 // 作多, 交易費用0.2%, 停利15%, 停損8%, 最大持有時間60期, 同時進場次數: 1 // if GetSymbolField("tse.tw","收盤價","D") >=average(GetSymbolField("tse.tw","收盤價","D"),10) and average(GetSymbolField("tse.tw","收盤價","D"),5) >=average(GetSymbolField("tse.tw","收盤價","D"),10) then begin input: Length_D(9, "日KD期間"); input: Length_W(5, "周KD期間"); variable:rsv_d(0),kk_d(0),dd_d(0); variable:rsv_w(0),kk_w(0),dd_w(0); stochastic(Length_D, 3, 3, rsv_d, kk_d, dd_d); xf_stochastic("W", Length_W, 3, 3, rsv_w, kk_w, dd_w); condition1 = kk_d >= dd_d; // 日KD condition2 = xf_crossover("W", kk_w, dd_w); // 周KD 黃金交叉 condition3 = kk_d[1] <= 80; // 日K 不過熱 condition4 = xf_getvalue("W", kk_w, 1) <= 30; // 周K 低檔 ret = condition1 and condition2 and condition3 and condition4; end;
出來的一年期回測報告可以把勝率再往上拉一點
目前的回測數字是因著不能以特定策略來出場,不然數字應該可以更好。
各位可以試著用自己的方式再作調整,基本概念就是像我上面所講的,在大盤多頭趨勢下尋找翻多的大中型股波段操作