2015年每天只交易第一個MACD訊號也能賺錢?

2015-09-15 at 04:47:55

近日有學員問及,若2015年每天只交易第一個MACD(12,26,9)的金叉或死叉訊號好像也能賺錢,原來這麼簡單的策略在2015年也能有不俗回報! 但其後他再測試2014年的數據卻又發現虧損收場。 附圖是在2015年每天只交易第一個MACD(12,26,9)入市訊號的BACK-TEST REPORT,結果是2015年1月2日至9月14日獲利41.77%,15萬元本金交易1張大期,資金累增至212652元(扣除手續費手及滑價),但2014年卻虧損34.76%。

(2015年回報)

MA 3

(2014年回報)

ma 5

在這當然不是指只交易第一個MACD入市訊號便能賺錢,這絕不可能!如大家自行測試,也可看到雖在2015年能賺錢,但部份交易坐倉的幅度達200點或以上,在真實交易時根本承受不了這份壓力。

以下是利用Amibroker簡單地寫出每日只交易第一個MACD入市訊號的方法,

1)先開啟Amibroker的Formula Editor

MA 2

 

2) 把以下的language貼上:

SetPositionSize(1, spsshares);
BuyCondition = Cross(MACD(12, 26), Signal(12, 26, 9));
ShortCondition = Cross(Signal(12, 26,9), MACD(12, 26));
CrossCondition = BuyCondition OR ShortCondition;

CrossTotal = Sum(CrossCondition, BarsSince( DateNum()!=Ref(DateNum(),-1)));
Buy = BuyCondition AND Ref(CrossTotal, -1)==0;
Sell = 0 OR TimeNum() >= 160000;
Short = ShortCondition AND Ref(CrossTotal, -1)==0;
Cover = 0 OR TimeNum() >= 160000;

ProfitPercent = Optimize(“WinPercent", 1.6, 0.2, 2, 0.1);
LossPercent = Optimize(“LossPercent", 1.2, 0.2, 2, 0.1);

ApplyStop(stopTypeProfit, stopModePercent, ProfitPercent);
ApplyStop(stopTypeLoss, stopModePercent, LossPercent);

 

3) 在backtest前根據以下做設定:

MA 1

一個十分簡單的策略,在2015年又好像比很多的策略回報更好? 其實,既然單單是交易每天第一個MACD入市訊號也能在2015年賺錢,是否能根據這個觀念去作出修改? 藉此想出一套個人的交易策略? 比如出訊號後把入市位介定在其他水平,如平均線等? 又或將1分鐘圖表改為3分鐘、5分鐘或10分鐘的圖表? 另外,是否每天也需要交易? 如附圖中便是將這個簡單得不可再簡單的策略,加上與上日收市的MACD作比較這個準則,藉此剔走一些入市訊號,結果2015年1月2日至9月14日獲利由41.77%提升至182.37%,15萬元本金交易1張大期,資金累增至423547元(扣除手續費手及滑價)。

 

以下是利用Amibroker簡單地修改上述策略的寫法:

SetPositionSize(1, spsshares);
BuyCondition = Cross(MACD(12, 26), Signal(12, 26, 9));
ShortCondition = Cross(Signal(12, 26,9), MACD(12, 26));
CrossCondition = BuyCondition OR ShortCondition;

CrossTotal = Sum(CrossCondition, BarsSince( DateNum()!=Ref(DateNum(),-1))+1);
Buy = BuyCondition AND Ref(CrossTotal, -1)==0;
Sell = 0 OR TimeNum() >= 160000;
Short = ShortCondition AND Ref(CrossTotal, -1)==0;
Cover = 0 OR TimeNum() >= 160000;

ProfitPercent = Optimize(“WinPercent", 1.6, 0.2, 2, 0.1);
LossPercent = Optimize(“LossPercent", 1.2, 0.2, 2, 0.1);

ApplyStop(stopTypeProfit, stopModePercent, ProfitPercent);
ApplyStop(stopTypeLoss, stopModePercent, LossPercent);

ma 4

當然這個也只是作參考,並不是單單這樣便能賺錢! 在課堂上向來也鼓勵學員多嘗試,如上述策略是每天開市後的第一個MACD入市訊號,那若然把策略改為每天「正股市場」開市後的第一個入市訊號,結果又會如何?   利用程式的好處就是可以自行去測試,再加上自己經驗得來的交易觀念去修正任何一個策略,繼而進行程式交易。不過在這想提醒一點,2015年港股及期指的波動情況確實比過去五年中任何一年更大,這也令不少Trader的策略在2015年的回報與過去數年不同(當然有些高手年年也大賺的!)。

此外,在這想指出一個問題,2015年港股及期指的波動情況與過去數年不同,相信滬港通的推出是其中一個原因,這點在滬港通剛推出時在講座中提及,但凡一些政策上的轉變,也會令市場的波動產生變化,正如2011年推出期指延長交易時間,大家在設計交易策略時便常遇到一個問題,策略放在2015、2014、2013、2012、2011年也可以賺錢,但在2010及之前的年份表現卻不同,這便是政策令市場波幅改變的結果。

如何去解決這個問題,如何在新政策推出後再修正個人的交易策略,這方面在課堂中會與大家探討!

 

富昌金融集團聯席董事麥振威

電郵: paul.mark881@gmail.com