有幾個我一向敬重的市場老手,他們的成名絕技都是在多頭市場大量追進領先市場創很長時間以來新高的股票,我想試著把這樣的精神,改寫成交易策略,以下是我的心路歷程。
在認識這些市場老手之前,我對”領先市場創長期以來新高”這樣的操作策略並不陌生,原因在於我師父介紹我研究美國成長股大師William J. O’Neil,以及他的CANSLIM法則,師父認為,台灣是中小型成長股的溫床,所以歐尼爾的操作手法比巴菲特及彼得林區。
CANSLIM的法則,用台灣的選股用語,大略如下:
C:單季營收年增率≧18%。
A:五年營收複合成長率≧15%且每年皆為正成長。
N:股價創最近1年最高價。
S:中小型股
L:一年股價相對強弱度(RPS)≧80。
I:投信基金持有家數≧10或外資持股比例≧5%。
M:市場趨勢是否為多頭?
簡單講,CANSLIM法則就是在大盤多頭時,挑選股價比大盤強勢的,法人有在佈局的中小型成長股,然後在股價創近一年新高時進場
這是我第一次接觸到比大盤強且股價創長期以來新高的交易策略
後來我因為工作的關係,開始接觸到一些在操作上頗為成功的人士,大家在個性上,專業上或有不同,但其中有幾位,不約而同的,都具有兩個共同特徵
1.很會看盤,對盤很敏感
2.總是在大盤多頭時,大量買進領先大盤創長期以來新高的股票
我曾經問過他們為何這麼操作,得到的答案一般有兩個
1.股價領先基本面,股價創長期來新高代表基本面出現新的機會
2.上檔的賣壓會比較輕,比較好拉。
後來我自己也試著用新台幣印證這樣的手法,雖然有賺有賠,但賺的時候比較大段,賠的時候還好虧的不多。
現在有了XS,我想試著實證看看,這樣的操作手法是不是真的有效? 而要怎麼操作才最有效?
首先我先把多頭市場時股價領先大盤創歷史新高(且法人買進)的概念寫成以下的腳本
condition1=false; condition2=false; condition3=false; condition4=false; if GetSymbolField("tse.tw","收盤價") >average(GetSymbolField("tse.tw","收盤價"),20) then condition1=true;//市場處於多頭 value1=barslast(close=highest(close,100)); if close=highest(close,100) and value1[1]>60 then condition2=true;//股價創近來新高 if summation(GetField("法人買賣超張數"),10)>500 then condition3=true;//法人支持 if summation(GetField("強弱指標","D"),100)>0 then condition4=true;//股價比大盤強 if condition1 and condition2 and condition3 and condition4 and volume>1000 then ret=1;
回測時,我分成兩種出場方式,第一種是買進後持有10天,回測報告如下
我是用有量的中小型股共195檔去回測,這樣的策略雖然勝率只有五成多一點,但多頭市場會穩定獲利,空頭市場只有在反彈時因為加權指數突破20日均線而有些強勢股票會出進場訊號,然後盤不好時個股也會跟著拉回而被停損掉。
由於一開始的腳本我挑的是創60天來新高的股票,所以可能強度不足以抵擋大盤的空頭氣氛 ,所以我把60天改成100天,我的想法是股價都能創100日來新高,就算盤不好,短期應該也會有所表現,從以下的測試報告看來,確實是如此
上面這個回測我是設五天出場,算是短多的概念,但如果不設出場日期呢?
從回測的結果來看,勝率不變,總報酬率更高
我有試著把200天改成300天,結果交易次數,勝率及總報酬率都比200天差
所以結論就是
1.在多頭市場時挑股價領先大盤創200天來新高的股票是可以值得留意的
2.這種股票抱到賺一成才走比抱五天就走好
3.如果能更精準的掌握大盤的多空波段,這個策略的勝率會更高