創富坊

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

(例子):

NEW 288

 

經過六月至七月的跌市,較多學員問的問題是,如何利用程式配合市況來選股,同時再做BACKTEST。假設大家希望恆指在20EMA之上的日子,才買入創52週新高的股票,又或恆指由高位回落30%,又或50%,才買入創52週新低的股票,這些準則其實很簡單便能利用程式寫出來,Amibroker中,foreign(ticker, datafield)這個語法便能做法。

 

以上述的作例子,AFL 的寫法如下:

 

HSIClose = Foreign( “^HSI", “C" );

TimeFrameSet( inweekly);

ABC =C>REF(HHV(H,52),-1);

TimeFrameRestore();

ABC = TimeFrameExpand(ABC, inWEEKLY);

condition = ABC AND C>O AND C > Ref (C, -1) AND H > Ref (H,-1) ;

Filter= condition AND HSIClose > EMA(HSIClose, 20);

 

 

恆指在20EMA之上的日子,才買入創52週新高的股票,寫下這個準則來選股,那恆指在20EMA以下的日子程式便不會選出股票,當然也可以加上BUY、SELL的準則,即買入及沽出的準則來為以上的選股方法做測試(當然這個只是例子,創52週新高的股票大多是缺乏成交的,未必可以做實際交易時的選股準則!)

 

究竟恆指處於什麼情況下才適合選股? 這個其實利用程式便能很容易做BACKTEST。也可特別留意大跌市的日子,若在過去十年中,比如在2008年金融海嘯期間,又或過去的兩個月等等日子,恆指究竟是處於那種情況? 利用程式寫出來,避免在這種情況下選股,看看是否能提高勝算?

 

又或反過來,在恆指大跌後,比如設定恆指創10日新低後,買入跌穿保歷加通道底部同時成交量急增的股票,這些利用以上的FILE,大家也可以自行作出修改!

 

AMIBROKER的使用步驟:

利用Amibroker的「Auto- update quote(AmiQuote)」功能更新股票的基本數據,選Yahoo Current ( current day only, stocks, funds , US&international(50))

 

new 3

但留意你的選股LIST中必需有「^HSI」這個代號,這樣才能同時更新恆指的數據。

 

開啟Amibroker的Formula Editor,再把以下的afl file 貼上

new 4

HSIClose = Foreign( “^HSI", “C" );

TimeFrameSet( inweekly);

ABC =C>REF(HHV(H,52),-1);

TimeFrameRestore();

ABC = TimeFrameExpand(ABC, inWEEKLY);

condition = ABC AND C>O AND C > Ref (C, -1) AND H > Ref (H,-1) ;

Filter= condition AND HSIClose > EMA(HSIClose, 20);

 

可看以下解釋:

NEW-28

 

再根據圖中設定來選股

 

new 6

 

new 7

能自行做BACKTEST才真正開始交易,是程式交易的優勢之一,而且數據是可免費網上下載,配合大市走勢來選股,所需要懂的語法也十分簡單,希望這對大家有幫助!

 

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

電郵: paul.mark881@gmail.com

 

[編輯聲明]

本篇文章為作者所擁有,經版權持有人授權CyberCTM.com發表。

麥振威

程式交易在美國及臺灣其實早已流行,在中國內地也有不少程式交易的專家,而近年程式交易在香港也逐漸興起,其實程式交易不是很多新手想像的那樣神秘,只要學懂基本的用法,遇上問題時有專人解答,再自己不斷嘗試,經過數月的時間,大部份人也會學懂如何將自己的交易策略轉化為程式語言,又或將來在發現一些市場的特性時,也懂得如何利用程式去自行做測試,優化個人的交易策略,無論是股票、期指等也能透過程式做分析,藉此提高交易的回報,本網誌便是希望介紹各種有關程式交易的知識,讓更多的投資者了解這個新趨勢。

聯絡: paul.mark881@gmail.com
網頁: www.quants.hk
 

熱門推介