有一個經典的教學策略「遞回均線策略(Recursive MA system)」,其中有使用到平滑因子(Alpha)。我所見過美國的交易策略中,不管是SINEWAVE指標或是專業法人的交易學習策略,裡面都可以發現有這類的平滑因子。相對於簡單平均線、指數平均線或加權平均線,這種平滑方式被美國交易員認為是較有效且能過濾隨機走勢的一種的平滑方式。平滑因子的程式碼如下,在這裡我不多說,給讀者自行研究的機會。
下圖為應用這個交易策略於台指期60分鐘K線,回測結果如下:
由績效上面去看,會覺得這個策略一點都不吸引人,隨便一條均線都比這個強。但如果我們從「參數變動穩定性」下去分析的話,可以發現這個策略的邏輯背後可是有其優點的。
單純就語法來說的話,使用一般的單一均線可以很容易寫出比上面這個策略還要漂亮的績效,但是卻很難寫出下面這種參數最佳化的穩定性,參數的變動相當於參考過去X根K線的數量,我從參數X=5變動到X=200,所有NET PROFIT都為正值。
由下面參數及Net Profit對照表中可看到參數在50以內的表現不穩定,其主要原因為回顧過去的k線數太短,大幅隔夜跳空的影響相對較嚴重;而當參數X>50,獲利則相對穩定。用這種平滑因子下去寫策略,在策略的穩定性上會有所幫助。
策略程式碼免費獻給耐心看到最後面的人:
inputs: X(70);
vars: alpha(0),
bo(0),
bo1(c),
xest(0),
xest1(c),
ema(0),
ema1(c),
tosc(0);
alpha = 2 / (X + 1); ------>策略平滑因子
bo = (1 - alpha) * bo1 + close;
ema = ema1 + alpha * (close - ema1);
xest = (1 - alpha) * xest1 + alpha * (close + bo - bo1);
bo1 = bo;
xest1 = xest;
ema1 = ema;
tosc = xest - ema;
if barnumber > 50 then begin
if tosc > 0 then buy this bar on close;
if tosc < 0 then sellshort this bar on close;
end;
更多開放程式碼→量化投資學人網站 http://www.quantitative-advisors.com/
0 留言:
張貼留言
如果有私人問題想請教,請透過網站右方『與站長聯絡』之表單,謝謝!