配合大市走勢來選股的程式寫法
創富坊

程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-07-25
配合大市走勢來選股的程式寫法 例子 經過六月至七月的跌市,較多學員問的問題是,如何利用程式配合市況來選股,同時再做BACKTEST。假設大家希望恆指在20EMA之上的日子,才買入創52週新高的股票,又或恆指由高位回落30%,又或50%,才買入創52週新低的股票,這些準則其實很簡單便能利用程式寫出來,Amibroker中,foreignticker, datafield這個語法便能做法。 以上述的作例子,AFL 的寫法如下 HSIClose = Foreign ldquo;HSIquot;, ldquo;Cquot; ; TimeFrameSet inweekly; ABC =Cgt;REFHHVH,52,1; TimeFrameRestore; ABC = TimeFrameExpandABC, inWEEKLY; condition = ABC AND Cgt;O AND C gt; Ref C, 1 AND H gt; Ref H,1 ; Filter= condition AND HSIClose gt; EMAHSIClose, 20; 恆指在20EMA之上的日子,才買入創52週新高的股票,寫下這個準則來選股,那恆指在20EMA以下的日子程式便不會選出股票,當然也可以加上BUY、SELL的準則,即買入及沽出的準則來為以上的選股方法做測試當然這個只是例子,創52週新高的股票大多是缺乏成交的,未必可以做實際交易時的選股準則 究竟恆指處於什麼情況下才適合選股 這個其實利用程式便能很容易做BACKTEST。也可特別留意大跌市的日子,若在過去十年中,比如在2008年金融海嘯期間,又或過去的兩個月等等日子,恆指究竟是處於那種情況 利用程式寫出來,避免在這種情況下選股,看看是否能提高勝算 又或反過來,在恆指大跌後,比如設定恆指創10日新低後,買入跌穿保歷加通道底部同時成交量急增的股票,這些利用以上的FILE,大家也可以自行作出修改 AMIBROKER的使用步驟 利用Amibroker的「Auto update quoteAmiQuote」功能更新股票的基本數據,選Yahoo Current current day only, stocks, funds , USamp;international50 但留意你的選股LIST中必需有「HSI」這個代號,這樣才能同時更新恆指的數據。 開啟Amibroker的Formula Editor,再把以下的afl file 貼上 HSIClose = Foreign ldquo;HSIquot;, ldquo;Cquot; ; TimeFrameSet inweekly; ABC =Cgt;REFHHVH,52,1; TimeFrameRestore; ABC = TimeFrameExpandABC, inWEEKLY; condition = ABC AND Cgt;O AND C gt; Ref C, 1 AND H gt; Ref H,1 ; Filter= condition AND HSIClose gt; EMAHSIClose, 20; 可看以下解釋 再根據圖中設定來選股 能自行做BACKTEST才真正開始交易,是程式交易的優勢之一,而且數據是可免費網上下載,配合大市走勢來選股,所需要懂的語法也十分簡單,希望這對大家有幫助