2015年每天只交易第一個MACD訊號也能賺錢?
創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-09-15
近日有學員問及,若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年回報) (2014年回報) 在這當然不是指只交易第一個MACD入市訊號便能賺錢,這絕不可能!如大家自行測試,也可看到雖在2015年能賺錢,但部份交易坐倉的幅度達200點或以上,在真實交易時根本承受不了這份壓力。 以下是利用Amibroker簡單地寫出每日只交易第一個MACD入市訊號的方法, 1)先開啟Amibroker的Formula Editor 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前根據以下做設定: 一個十分簡單的策略,在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); 當然這個也只是作參考,並不是單單這樣便能賺錢! 在課堂上向來也鼓勵學員多嘗試,如上述策略是每天開市後的第一個MACD入市訊號,那若然把策略改為每天「正股市場」開市後的第一個入市訊號,結果又會如何? 利用程式的好處就是可以自行去測試,再加上自己經驗得來的交易觀念去修正任何一個策略,繼而進行程式交易。不過在這想提醒一點,2015年港股及期指的波動情況確實比過去五年中任何一年更大,這也令不少Trader的策略在2015年的回報與過去數年不同(當然有些高手年年也大賺的!)。 此外,在這想指出一個問題,2015年港股及期指的波動情況與過去數年不同,相信滬港通的推出是其中一個原因,這點在滬港通剛推出時在講座中提及,但凡一些政策上的轉變,也會令市場的波動產生變化,正如2011年推出期指延長交易時間,大家在設計交易策略時便常遇到一個問題,策略放在2015、2014、2013、2012、2011年也可以賺錢,但在2010及之前的年份表現卻不同,這便是政策令市場波幅改變的結果。 如何去解決這個問題,如何在新政策推出後再修正個人的交易策略,這方面在課堂中會與大家探討!