政策1(原文的政策):
取10天作為計算ER的參數,計算AMA時的過程見上篇
自适應均線拐頭向上時按照收盤價買入;
自适應均線拐頭向下時按照收盤價賣出。
用本次ama減去上次的ama的正負來判斷均線的走勢,針對可能出現的錯誤信号加入一個安全墊,安全墊的公式如下:
Filter =percentage * stdev( ama[i] –ama[i-1], n)
即取均線增長值在n天内标準差的一個比例值,正常n取20天,percentage原文中沒有提及,循環取0.1,0.2---1.0來測試。
買賣規則如下:
Ama[i] – ama[i-1]> filter or Ama[i] – ama[i-2]> filter 買入
Ama[i] – ama[i-1]< -filter or Ama[i] – ama[i-2]< -filter 賣出
政策2(普通的均線政策)
取ma10作為買賣的分水嶺,當收盤價大于ma10時買入;小于ma10時賣出
買賣規則如下:
Filter =percentage * stdev( ma10[i] – ma10[i-1], 20) , 系數取值同上
Close – ma10 > filter 買入
Close – ma10 < -filter 賣出
政策3(以股價和AMA來判斷)
取ama作為買賣的分水嶺,當收盤價大于ama時買入;小于ama時賣出
買賣規則如下:
Filter =percentage * stdev( ama[i] – ama[i-1], n) , 系數取值同上
Close – ama > filter 買入
Close – ama < -filter 賣出
政策4(買入持有)
不做任何買賣操作
實驗結果如下:
政策 | 最大收益率 | 交易次數 | 說明 |
政策1 | 219% | 100 | 計算filter的系數取0.1時效果最佳 |
政策2 | 112% | 206 | 計算filter的系數取0.9時效果最佳 |
政策3 | 157% | 146 | 計算filter的系數取0.9時效果最佳 |
政策4 | 93% |
檢視政策1的具體買賣時點,以下5次交易獲得了較大的收益:
20060825—20070202 64%,20070720—20071019 43%,19990520—1999070632%,
20090429—20090807 32%,20060315-20060609 21%
結果分析:
從上述結果可以看到, 基于原文自适應均線的交易政策,以上證綜指為對象,獲得了比較不錯的效果, 比正常的指數收益超出126%左右,比以10日均線的買賣政策超出107%。究其原因,主要是自适應均線在保留均線政策在指數大幅下跌時能夠避開主要跌幅的優勢外,在牛市時不會因為暫時跌破短期均線頻繁操作而減少利潤。
文華财經:
已破解的交易政策源碼:
DIRECTION:=CLOSE-REF(CLOSE,10);
VOLATILITY:=SUM(ABS((CLOSE-REF(CLOSE,1))),10);
ER:=ABS(DIRECTION/VOLATILITY);
FASTSC:=2/(2 + 1);
SLOWSC:=2/(30 + 1);
SSC:=ER*(FASTSC-SLOWSC)+SLOWSC;
cxh99.com:c,nodraw;
CONSTANT:=SSC*SSC;
AMAHIGH:=REF(EMA(HIGH,100),1)+CONSTANT*(HIGH- EMA(HIGH,100));
AMACLOSE:=REF(EMA(CLOSE,100),1)+CONSTANT*(CLOSE- REF(EMA(CLOSE,100),1));
AMALOW:=REF(EMA(LOW,100),1)+CONSTANT*(LOW- EMA(LOW,100));
REF(LOW>AMAHIGH,1),BK;
REF(CLOSE<AMACLOSE OR CLOSE<=0.995*BKPRICE,1),SP;
REF(HIGH<AMALOW,1),SK;
REF(CLOSE>AMACLOSE OR CLOSE>=1.005*SKPRICE,1),BP;
AUTOFILTER;
源碼解析:
DIRECTION指派:收盤價-10日前的收盤價
VOLATILITY指派:(收盤價-昨收)的絕對值的10日累和
ER指派:DIRECTION/VOLATILITY的絕對值
FASTSC指派:2/(2 + 1)
SLOWSC指派:2/(30 + 1)
SSC指派:ER*(FASTSC-SLOWSC)+SLOWSC
輸出CXH99.COM:收盤價,NODRAW
CONSTANT指派:SSC*SSC
AMAHIGH指派:昨日最高價的100日指數移動平均+CONSTANT*(最高價- 最高價的100日指數移動平均)
AMACLOSE指派:昨日收盤價的100日指數移動平均+CONSTANT*(收盤價- 昨日收盤價的100日指數移動平均)
AMALOW指派:昨日最低價的100日指數移動平均+CONSTANT*(最低價- 最低價的100日指數移動平均)
昨日最低價>AMAHIGH,BK
昨日收盤價<AMACLOSEORCLOSE<=0.995*BKPRICE,SP
昨日最高價<AMALOW,SK
昨日收盤價>AMACLOSEORCLOSE>=1.005*SKPRICE,BP
AUTOFILTER