潮流特區

最新文章

【年回報近七倍 獲利比例達八成的方法 如何去檢查真假?】

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-07-30

七月份課堂有學員告訴我曾買過不少程式來做交易,花費了不少,但至今連程式的公式,又或入市訊號是如何出來也不太清楚,因為售賣的人不肯公開! 我相信市場上必有不少高手,在期指或股票交易上回報十分穩定,在這裏先聲明沒有對任何人有貶意,我也沒有刻意去檢查別人的交易策略是真是假,沒有這樣空閒。只是,既然有學員遇上這種問題,那便嘗試去解答一下! 可以肯定是,外國應有很多交易程式根本是不可行的(香港的我不太清楚),不過數據上卻看似十分厲害,若然程式交易訊號如何產生也不肯公開,又如何敢真的投入資金去做程式交易? 為了解答這個問題,我們在今晚的課堂上做了一個模擬的交易方法給學員看,但留意,這個交易方法根本在實際交易時不可能賺錢。 大家可看到,年回報達684%,整年交易了284次,獲利的有199次,獲利的比例達8成以上。 在課堂上也解釋過程式交易的滑價問題,利用這個交易方法我們設定了單邊3.5點是滑價,0.5點是佣金,合共4點,由2003年至2014年,每年回報也有幾倍! 若然不公開公式,再包裝一下,很多人看到每年回報如此地高,也相信會有興趣。 若將realtime data 導入程式,更可即場利用這個方法,實時發出一些買賣訊號,只要加上一些「竅門」,大家可以看到,真的有七至八成中。 但為什麼不能賺錢? 理由是真實交易是根本有很多的「假訊號」,但假訊號沒有出現在backtest 的report之上,這裏顯示了整年交易了284次,但實際上假訊號會令交易次數增加達1倍,結果是交易了近600次,而且假訊號大多是輸的! 基本上真實交易時每年也是虧損! 為什麼假訊號沒有顯示在backtest report之上? 我們又如何去檢查交易策略是否真的可行? 當然大前提是大家要有策略的公式,知道整個運作,然後才能檢查真假,在課堂上已教了大家檢查的方法,簡單的先用Amibroker的bar replay去觀察一下也可以,只要這樣,大家會發現根本很多的交易方法其實是不可行的。詳細的檢查方法,日後也會在課堂上作多些講解!

【收市前同時買入call輪及put輪等待翌日沽出獲利的交易方法】

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-07-28

有不少電郵詢問都是有關Amibroker除了分析期指外,是否能分析股票或窩輪,答案當然是可以,程式交易向來不會只能選期指交易,正如上次講座中提及收市前同時買入「CALL輪及PUT輪」的交易方法,再翌日開市初段沽出,結果不少舊學員也電郵詢問,不過,我們的測試結果是,若選恆指輪是不行的,但部份市場上同時有CALL輪及PUT輪買賣的正股或ETF則可以,當中包括(1928)、(27)、(2822)、(2823)、(939)、(1398)、(941)、(388)等,但請留意,不可能每天也有入市機會,平均每月大約有6至10次入市機會,虧損的幅度可鎖定在2%至3%,利潤目標則有5%至8%,某些波動大的日子,獲利可以有15%以上。 正如7月13日收市前同時買入金沙的相關CALL輪及PUT輪,CALL輪選(20290),PUT輪選(20180),CALL輪的買入價為0.275元,沽出價為0.403元,獲利46.55%,至於PUT輪,買入價為0.156元,沽出價為0.114元,虧損26.92%,整體獲利19.62%。 不過翌日再做同樣的交易,也是選金沙的相關CALL輪及PUT輪,利潤便只有4.95%。 其實假設CALL輪投入5萬元,PUT輪投入也是同樣5萬元,即使整體只有4%利潤(留意這裏的意思是5萬元的4%),也有2500元,扣除手續費用等仍有約2000元的利潤。而且由於同時買入CALL輪及PUT輪,市場大升大跌反而有利,也不用估方向,特別是在近期的市況,急升後稍為靜數天,便又再急跌。 這類方法首要步驟當然是選正股,利用H-L Indicator 分析正股與大市的亙動關係,繼而再選CALL輪及PUT輪,由於市場上的PUT輪相對較少,加上策略上並非要求CALL輪及PUT輪的行使價相同,而且兩者的實際槓桿如何選擇也需要因應正股的走勢而有不同。 此外,翌日平倉時間方面,大部份都是同時平倉,但特定走勢下會先沽出CALL輪再沽出PUT輪(如7月14日金沙的窩輪),又或先沽出PUT輪再沽出CALL輪。 當然大家可能會問,為什麼不用股票期權,其實最初我們做測試時也是用股票期權的數據,原因是股票期權的歷史數據較易找到,而窩輪,由於到期後很可能同一個編號,但已是不同的窩輪,較難找到歷史數據,要同事們幫忙每天儲起來。 不過,測試結果是窩輪比期權好,好的方面是窩輪可以因買賣的供求關係而令價格並非「跟足」正股的升幅/跌幅,正如股價強勢一段時間,同時買入CALL輪及PUT輪,若然翌日股價再急升,即使CALL輪的條款與PUT輪的相同,CALL輪會因為較多買家追入而令價格升幅較大。利用這個特性,反而對我們做這類交易時更有利! 但為什麼恆指輪卻做不到這類交易,我指恆指輪不行純粹是測試的結果,原因如何? 應是與莊家有關! 至於選股、選輪及何時沽出的準則如何? 在講座中會多談這方面!

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

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-07-25

配合大市走勢來選股的程式寫法 (例子): 經過六月至七月的跌市,較多學員問的問題是,如何利用程式配合市況來選股,同時再做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)) 但留意你的選股LIST中必需有「^HSI」這個代號,這樣才能同時更新恆指的數據。 開啟Amibroker的Formula Editor,再把以下的afl file 貼上 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); 可看以下解釋: 再根據圖中設定來選股 能自行做BACKTEST才真正開始交易,是程式交易的優勢之一,而且數據是可免費網上下載,配合大市走勢來選股,所需要懂的語法也十分簡單,希望這對大家有幫助!

利用程式選出市值低於5億股票 炒「賣殼」概念

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-07-20

近日有不少學員問及程式交易是否只集中在期指之上,其實這問題早已解釋過,利用程式選股,甚至直接利用程式自動交易股票也是可以的。而有關選股的問題,近日較多學員問的便是如何利用「市值」來選股,其實程式除了可以根據技術指標來選股外,同時也可以利用公司的基本面來選股,甚至兩者「混合」也可以。但為什麼特別多人問如何利用市值選股,原因應該是想炒「賣殼」概念吧! 早前市場曾掀炒「賣殼」概念,可以說今年以來,大部份宣佈賣殼的公司其後股價都有很大的升幅。若然在賣殼前能買入,能賺取的利潤自然更大。一般來說,創業板公司的殼價約3億港元,主板公司的殼價則為5億港元,無論是主板還是創業板也各有捧場客。 部份學員便希望先透過市值來選出市值低於5億港元的主板公司,再利用成交量等分析資金流入情況,又或其他指標配合分析走勢是否逐漸轉強。簡而這之,他們是希望先選市值再做分析,找出那隻股份已有「異動」的跡象,筆者對這種方法選股有點保留,但若學員們認為這種選股方法適合他們,又或想試試觀察成效,則可根據以下方法為程式做設定: 1) 先利用Amibroker的「Auto- update quote(AmiQuote)」功能更新股票的基本數據,根據圖中選擇 選擇Yahoo Fundamental – Basic ( basic fundamental data for stocks) (按圖可放大觀看) 2) 同時再update股票的最新收市價 選Yahoo Current ( current day only, stocks, funds , US&international(50)) 3) 開啟Amibroker的Formula Editor,再把以下的afl file 貼上 marketCapRangeStart = 100000000; marketCapRangeEnd = 500000000; Capitalization = GetFnData(“SharesOut")*Close ; Filter = Capitalization >= marketCapRangeStart AND Capitalization <= marketCapRangeEnd; AddColumn(Capitalization, “Market Cap.", 1.2); 4)留意可按個人的要求修改股票的市值來搜尋,修改file中的以下兩句的數字 marketCapRangeStart = 100000000; marketCapRangeEnd = 500000000; 5) 在Analysis 中選New Analysis,並開啟剛才貼上的file 6) 再根據圖中設定來選股

【選股是否需配合大市走勢?】

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-06-13

昨晚跟學員見面討論了選股是否應配合大市市況的問題,個人認為這個是必要的。 早前也提及過選股的策略應為: 先看當日市況 → 符合條件便利用程式選股 → 選出股票後再加上當晚美股要上升 → 翌日入市! 若市況未能配合,則入市的「注碼」應減少。其實利用程式大家不難做到這一點,比如某些學員會設定,恆指收市價大於10日、20日或50日平均線才選股,這個程式可以很簡單地寫出來,也可以進行BACKTEST,比較一下,在配合大市市況下選股與不配合的兩種情況下,那一個的回報較好,某部份已開始熟悉程式運用的學員,更會配合內地股市走勢下才選股。比如他可能設定以下準則: 1) A股10日EMA大於20日EMA 2)恆指收市價MACD快線高於慢線 3)期指的未平倉合約增加 4) 個別股票的MACD快線及慢線在零線附近徘徊已一段時間,並剛作出突破 以上的準則其實十分十分簡單,對新手來說,即使不曾使用程式,在我們的課堂上經過第一及第二課後相信也懂得自行去設定。而在這設定下,即使個股的選股條件配合,但市況未配合,也不會有股票會選出來,透過程式便能快速找出市況配合下符合特定條件的股票,甚至利用這些條件直接選股進行全自動交易。 其實配合市況選股是十分重要的,大家可看看恆指的走勢,自5月28日,恆指已有短期「轉勢」的跡象,其後由5月28日至6月13日,恆指是跌多於升的。再看看熱門股票如港交所(0388),在5月28日後也不曾出現過大幅上升,若然你的策略是配合市況下選股,則在這段時間即使入市,注碼也應減少,又或若然你的策略是專門炒港交所(0388),這段期間更不應入市。 (按圖可放大) 配合市況選股,便是希望避免入市後坐倉的情況,短炒股票其實也需要止蝕,只有設定為止蝕的策略,經過詳細的BACKTEST,那除了在牛市中能賺錢,跌市來臨時也可避免大虧損,不會把既得的利潤再輸掉。 當然選股的策略也十分重要,個人十分喜歡選強勢股,強勢股的好處是,即使遇上市況逆轉,又或入市後當晚美股大跌,但仍能保持在5%的止蝕範圍之內,在近期推介的股票中,大家也看到,市況雖逆轉,部份學員見當日市況大跌,加上當晚美股也大跌,但持有的股票即使裂口低開,也不會超過入市價的5%,當然配合市況選股,則買入這些股票時注碼也應減少,短炒股票間接相等如「只買升」,這不同於做期指,不配合市況在控制注碼,以及不定立一套止蝕策略,最終是很危險的。程式交易便是希望先透過測試來減低風險,若然不能做到這一點,也便浪費了程式的特點。 至於強勢股的設定是怎樣,如何配合市況選股,在6月16日的「程式講座」及6月30日的「程式選股講座」會多加講解。

【Bill William在1995年研創的Alligator Indicator】

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-05-30

早前介紹了Bill William 的MFI指標,其實此君研創了幾個技術指標,應用在期貨市場上有一定的參考價值,如Alligator Indicator是Bill William在1995年研創的指標。目前此指標大多應用在外匯市場上,也有些Trader直接以此指標做程式交易,但若以分析股票或本港期指,其實也有其參考價值。 Alligator Indicator並非Amibroker的內置指標,但要編寫其實十分簡單,公式也並不複習,而家也可直接將以下的部份放在Amibroker的「Formula Editor」中,便能直接觀察這指標。 (按圖可放大) _SECTION_BEGIN(“Alligator"); MedianPrice = (H+L)/2; Jaw = Wilders(MedianPrice,13); Teeth = Wilders(MedianPrice, 8); Lips = Wilders(MedianPrice, 5); Plot(Jaw, “Jaw", colorBlue, styleThick, Null, Null, 8); Plot(Teeth,"Teeth", colorRed, styleThick, Null, Null, 5); Plot(Lips, “Lips", colorGreen, styleThick, Null, Null, 3); 指標包含了三條線,這並非普通的平均線,而是透過Bill William所指的「特別公式」來計算的平均線,參數方面,原創者指綠線為(3)、紅線為(5)、藍線為(8)。 根據原創者所指,指標的三條線已包含了多個造好及造淡訊號: 造好訊號: 綠線升穿紅線 紅線升穿藍線 INSIDE BAR REVERSAL PATTERN 造淡訊號: 綠線跌穿紅線 紅線跌穿藍線 INSIDE BAR REVERSAL PATTERN 所謂INSIDE BAR REVERSAL PATTERN如下圖: 一般來說在判斷好淡趨勢方面,Alligator有一定幫助。如去年九月中,港股正式由升勢轉為跌勢,期間Alligator Indicator的紅線及綠線便正式跌穿了藍線。又或今年四月,Alligator Indicator的紅線及綠線升穿了藍線,也代表了升勢的開始。不過,Alligator Indicator也有其缺點,就是紅線及綠線升穿/跌穿藍線後,究竟新的升/跌浪會維持多大幅度曾沒有參考,這點大家可以嘗試與其他指標同時運用配合分析。 現階段的港股是否已由升浪正式轉為跌浪? 單以Alligator Indicator來分析則仍未算跌勢成立,是否如此? 大家透過程式可以嘗試配合其他指標分析,也可以優化技標的參數,看看是否能提高預測的準確程度! 當然,都是那一句「沒有無敵的技術指標的」,任何的指標也有其參考價值,問題只是如何去配合運用,將其融入你的交易系統之內。

【如何製定你的選股策略】

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-05-28

程式選股的問題,在五月份的課堂上講解了一些選股的技巧,其實學員們也可以自行製定一些選股的策略。利用程式選股,好處是大家能在眾多股票中短時間內找出符合你要求的走勢的股票,而且要利用程式來寫選股的策略其實十分簡單,學習的過程也很容易,程式交易的範圍不只包括了期貨,股票也是重要環節,而且並不是很多新手想像般困難。 個人的習慣是,先在眾多股票中,根據在「行業」、「成交量」、「過去的供股、配股記錄」等,選出較少受「人為因素」影響的股票,同時流通量足夠的股票,一般來說,在數千隻股票中,很可能只能選出一千隻左右。 最後是根據個人的選股策略來在這千多隻股票中作出篩選,原因是不同的股票會有不同的走勢特性,比如簡單的一個如「黃金交叉」訊號,很可能在某幾隻股票的走勢中是適用的,但對其他的股票卻不適用。這個過程是製定選股策略時最關鍵的,也需要很長時間,因我們需要逐隻股票去測試,透過程式在YAHOO或GOOGLE等免費下載股票上市至今的歷史數據,即使是70年代己上市的股票也可以把所有歷史數據免費找出來,然後每隻股票做詳細的測試,看看你的選股策略是否與這些股票的特性互相配合。 一般來說,在最後的篩選後,很可能只剩下三百多隻股票,然後每天便根據你的策略在這三百多隻股票中根據每天發出的「入市訊號」選出值得吸納的股票。當然這樣做也未必全部每天選出來的股票都能獲利,但卻能藉此提高勝算,原因是你己確認了這些股票在「某特定市況」加上「某特定走勢」出現時,它的股價再上升的機會比下跌的機會大,而且股票的流通量足夠,隨時能在買入後獲利套現,又或止蝕離場。 此外,個人在測試時會特別留意一些大跌市的年份,比如科網股爆破的年份,金融海嘯爆發的年份,歐債危機的時期等,看看選股策略在這段時期的表現如何? 若然選股策略在這些時期選出的股票也能賺錢,那自然最好不過,但這要求大多有點過份,反過來若要求選股策略在這些時期的「入市訊號」大幅減少,那這樣便足夠,在牛市中入市訊號夠多,能充份把握獲利機會,而大跌市中,則入市訊號大幅減少,甚至完全沒有,那這樣的選股策略在真實中已接近可行,反而強迫在大跌市中也能選出「暴升股」賺錢,經驗告訴我們這樣的選股策略,反而有機會在大跌市來臨時「走避不及」。

Projection Oscillator判斷重拾升勢的股票

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-05-20

收到有學員問,Amibroker是否有Projection Oscillator這個指標? 這個是炒外匯的常用的指標,Amibroker的內置指標中是沒有的,不過已強調過任何指標也可以自己寫出來,而且並不困難。 1)開啟formula editor (按圖可放大) 2)將以下copy到formula editor n = Param(“Periods",12,5,50,1);av = Param(“Average",5,2,20,1); n = Optimize(“Periods",n,5,50,1);av = Optimize(“Average",av,2,20,1); function ProjOsc(n) { // Slope of High {n period regression line of High)}SlopeHigh = ((n * (Sum( Cum(1) * High, n))) – (Sum( Cum(1),n) * (Sum(High, n)))) / ((n * Sum( Cum(1) ^ 2 , n)) – (Sum(Cum(1),n) ^2)); //Slope of Low {n period regression line of Low}SlopeLow = ((n * (Sum( Cum(1) * Low, n))) – (Sum( Cum(1), n) * (Sum(Low, n)))) / ((n * Sum( Cum(1)^ 2, n)) – ( Sum(Cum(1),n) ^2)); //Upper Projection BandUpProjBand = 0;for (i=0; i<n-1; i++){UpProjBand =Max(Max(Ref(High,-i)+i*slopehigh,Ref(High,-i-1)+(i+1)*slopehigh),UpProjBand);} //Lower Projection BandLoProjBand = 10000;for (i=0; i<n-1; i++){LoProjBand =Min(Min(Ref(Low,-i)+i*slopelow,Ref(Low,-i-1)+(i+1)*slopelow),LoProjBand);} //Projection OscillatorProOsc = 100 * (Close – LoProjBand) / (UpProjBand – LoProjBand); return ProOsc; }aa= ProjOsc(n);bb= MA(ProjOsc(n),av); Plot(aa,"Projection Osc",colorblack,styleLine);Plot(bb,"MA ProjOsc",colorgreen,styleLine); 3) 儲存在custom的file 4) right click 指標按insert 便能將指標放在圖表上分析 Projection Oscillator由Dr. Mel Widner研創,與其他不同的指標一樣,傳統的用法也是超買/超賣,背馳,突破等,不少人利用此指標來交易外匯。傳統的參數是12及5,但若應用在港股上,將參數設定為50及10會更好。分析股票時,初步看,每當由50以下重回至50以上有機會是股價重拾升勢的時間,值得留意,不過有關的方法仍有待詳細測試。 不過還是那一句,多一個指標作參考及分析箇然是好,但世上沒有無敵指標的,並非用了那個指標進行程式交易便能必勝,要明白指標的原理及優點,將其融入你個人的交易策略做分析,看看是否能提高回報,這才是正確的做法!

【如何找出由比大市弱剛剛轉為比大市強的股票?】

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-05-18

程式交易除應用在期貨交易上,其實應用在選股上也十分有效,例如我們希望透過程式找出本身一直落後大市的股票,但突然股價開始發力,走勢變得比大市強,這往往是較佳的買入時間。此外,若然非單一股票是這樣,而是整個行業的股票也由比大市弱剛剛轉為比大市強,能獲利的機會便提高。 早前已介紹過H-L Indicator,可以將期指與滬深300指數比較,同時又可將期指與國期比較,但其實也可應用在股票分析之上。將股票與恆生指數作比較,先每日從yahoo免費下載全部股票及恆指的數據,然後利用H-L Indicator作比較,恆指在yahoo的symbol為「^HSI」,(公式上前後加減的問題),每當H-L Indicator出現,連續五個或以上的「L」變為「H」時,便是股票由比大市弱剛剛轉為比大市強。 (按圖可放大) 大家可看看2015年3月,港交所(0388)發力急升的時間便剛好是連續五個或以上的「L」變為「H」的時間(圖三),或許大家會問,是否近月的大升市才剛好這樣? 我們可再看看較難的例子,2010年9月,港交所(0388)發力急升由110元升至180元,也是剛好是連續五個或以上的「L」變為「H」的時間(圖四)。 我們再看看其他股票,騰訊(0700)今年3月開始急升時的情況也是如此(圖五),再看舊一點的數據,去年5月至9月,騰訊(0700)的表現其實不太好,但期間兩次較大型的反彈,也是出現連續五個或以上的「L」變為「H」的情況(圖六),又或馬鋼(0323)去年3月至7月的走勢也是向淡,但較大型的反彈出現在3月中(圖七),當時也是出現連續五個或以上的「L」變為「H」的情況,再看遠一點的數據,即使是2010年,農行(1288)展開升浪,也是出現類似的情況(圖八)。 當然沒有任何指標是必勝的,分析方法要先看市況,再選股,選出走勢比大市強的股票,若然整個行業都突然比大市強那便更好,配合當晚美股上升,那獲利的機會便提高,而這種分析方法,有一個好處是,股票剛轉為比大市強,買入後理應在一至兩個交易日便發力,若然沒有,那便可提早止蝕,同時買入數隻股票,只要有一隻「爆上」,已能獲利。

付費找人寫程式交易策略值得嗎?

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-05-14

近期不少人致電詢問,協助寫程式做全自動交易的問題,其實真的覺得很古怪,首先未接觸過程式交易的人總認為自己的策略很複習,比如運用了幾個不同時間間隔的圖表,同時每個圖表又用了不同的指標等,Dynamic trader oscillator,zeor lag macd等等 ,又或一些在外國書本上找回來的指標, 但事實上這類方法你願意花些少時間去學習,根本不用付錢給人幫你寫,自己也很快寫到的。 只要指標的公式及交易的策略你能明確的表達出來,並非如主觀的觀察形態等方法,便一定能寫出來的! 最大問題是,找人寫程式的人都認為自己的策略是能賺錢,但結果寫了出來,做了BACKTEST又發現原來根本賺不到錢,然後稍改程式又不斷付費,我相信不少公司很樂意遇上這種人,但正如今天也遇上這類詢問,我總是建議他們先學,學不懂的我們會安排免費幫他們寫,這樣付出的成本才是最低,而我們也不會浪費時間,至少有些根本是很輕微的修改,比如遇上一位說,原是升穿保歷加通道便止賺,想改為升穿兩次才止賺,又或升穿三次才止賺,然後又改為用ATR的分析方法止賺,這些根本便可以自己學得會的,根本不用付錢給別人去寫,連學一些基本的也懶去學,那倒不如不做程式交易更好!

如何翻查過去的行業升幅榜

創富坊
程式交易 www.quants.hk (導師: 財經書藉作家: 麥振威)・2015-05-09

不少人認為程式交易只適合應用在期貨市場上,但應用在股票市場上,特別是選股方面以及Backtest方面也有很大幫助。早前便曾提及,個別股票上升可能未必值得留意,但整個行業的股票都在上升,則很可能是入市的機會! 但某些行業的股票可能最初只是先由跌變升,繼而在每天的升幅榜較低的位置(比如排名第十),然後其實每天的排名也在上升,但就是未到排名最高的幾位,而仍未成為市場的焦點,這時反而是買入的機會,因為當整個行業的股票在升幅榜中已排名首幾位時,很可能已錯失了最佳的買入時間。 但不少的網頁都只提供當天的行業升幅榜,要翻查過去幾天的,甚至翻查過去數年的,來為這類分析方法做BACKTEST根本很困難,不過利用Amibroker,其實很簡單便能做到,新手來說可能好像很複習,但其實只要按步驟去做,加上課堂上的示範,整個過程根本十分簡單。 步驟如下: (有關的file會在課程上派發給學員) 1)打開AmiBroker -> File -> New Database (按圖可放大) 2) 輸入DataBase folder Path (e.g. C:\Program Files (x86)\AmiBroker\HKStockListWithIndustries) -> Create 3)Data source 揀選Local data storage,Number of bars 設10000 或更多,Base time interval 設為End-Of-Day -> OK 4) 請用記事本打開 C:\Program Files (x86)\AmiBroker\Formats\import.types 這個檔案,並加上 Import Lotsize and industry Format (*.*)|*.*|stock_list_with_lotsize_industry.format 這一句,然後儲存檔案。 5) 請把format放到C:\Program Files (x86)\AmiBroker\Formats資料夾內 6) 打開AmiBroker -> File -> Import ASCII -> 選擇檔案csv,檔案類型請選擇Import Lotsize and industry Format -> 開啟舊檔。 7) 主板上市的股票名稱、lot size、及所屬的industry 便成功匯入了。 8) Tools -> Auto-update quotes (AmiQuote) 從YAHOO 更新股票資料 9) 更新數據後,把afl 放到C:\Program Files (x86)\AmiBroker\Formulas\Custom 10) Analysis -> Formula Editor -> 開啟afl -> 更改輸出檔案名稱,e.g. C:\\Users\\Public\\Documents\\categoryCompareList.csv 11) 更改RefDate1 和RefDate2,例如大家想比較5/5/2015 至6/5/2015 期間每個行業股價變動走勢,請把RefDate1 設定為2015-05-05,RefDate2 設定為2015-05-06。 12) Tools -> Exploration 13) 打開C:\\Users\\Public\\Documents 資料夾,就能看到有一個新的檔案csv,請用Excel 打開檔案,就能看到每一個行業在設定日期的股價變動比例了。 14) 打開Excel -> 資料 -> 排序 -> 排序方式請揀選 Category Percentage Changes between 2015-05-05 and 2015-05-06 (或其他) 15) 這樣便能由大到小顯示出各行業在某兩天的價格變化了,方便大家找出當炒強勢板塊。