程式交易在基金投資上的應用之三~烏龜交易法則

By | 2017-07-14

今天是週末,分享一個比較不用傷腦筋的波段交易策略:烏龜交易法則。 這個法則的概念很簡單,就是在三日移動平均線突破55 日移動平均線且成交量增加,振盪幅度也增加時,進場作多,持有一段期間後出場。這個策略用在指數投資,基金投資上,都有三戰兩勝的佳績。

市場上關於烏龜交易法則的策略有不少,有的用週線,我是用日線,至於量能增加與震盪加大,我用的是成交量大於五日均量,以及ATR這個函數,所以寫出來的腳本如下

if average(close,3) crosses above average(close,55)
and volume> average(volume,5)
and atr(3) > atr(20)
and GetSymbolField("tse.tw","收盤價","W")
>average(GetSymbolField("tse.tw","收盤價","W"),13)

then ret=1;

其中ATR這個函數的腳本如下

input: Length(numeric);
ATR = Average(TrueRange, Length);

它是用來計算一段時間內平均的震盪幅度,這裡的震盪幅度是用Truerange來計算

我拿這個腳本去回測ETF,如果進場後持有20天,回測報告如下

2017071401

過去五年裡,有227次交易機會,其中146次賺錢,80次虧錢,符合三戰兩勝的標準。

我拿這個腳本去回測加權指數,結果過去十年只出現九個交易訊號,其中七次賺錢,勝率雖高但樣本卻太少。