推荐朋友們看”散戶的50道難題”這本書,這本書把我們一般投資人會面對的困難與挑戰都列了出來,也提出對應的解決之道。
看完書之後,我想狗尾續貂一下,針對每道難題,提出我的解題方法,今天先跟大家報告第一道難題,也是大家最想解的一題: 如何縮小範圍,找出有機會拉出較大漲幅的個股。
我每年都會找出當年度漲幅最大的前50檔股票,然後研究他們的共同特性。
普遍的共同特色是: 低價,股本不大,產業具獨特地位,月營收創近幾年來高點,最後一項也是書上有寫的,那就是在上漲後,開始有法人著墨。
例如最近很紅的兩檔股票
在起漲前都符合低股本,低價,過去EPS曾超過三元及營收創新高等四大條件。
基於上述的觀察,我寫了一個選股的腳本,這個腳本一共有三個條件
1.最本小於50億元
2.收盤價小於80 元
3.過去幾年有一年EPS超過三元
前兩個條件在XS上用現成的選股條件可以加進去,第三項我寫了一個腳本如下
value1=GetField("每股稅後淨利(元)","Y"); if trueany(value1>=3,8) then ret=1;
加上第三個選股條件的原因是,我發現這些股票如果過往曾經有過不錯的獲利能力,比較容易再重返榮耀。
用這三個條件一共挑出了511檔股票。
接下來我設了三個條件,只要有其中一個符合,就視為潛力股候選人,開始針對個股用力作功課,這三個條件分別是
1.近十日法本比前五十名
2.最近一個月營收創近幾年新高
3.最近一個月營收創近幾年同期新高
上面這個選股條件,對應的腳本分別如下
法本比前五十名,以下是法本比的函數
value1=GetField("最新股本");//單位: 億元 value2=GetField("法人買賣超張數","D");//單位:張數 input:period(numericsimple); value3=summation(value2,period); if value1<>0 then value4=value3/(value1*10000)*100; ret=value4;
最近一個月營收創近幾年新高
input:N(37, "期別"); value1=GetField("月營收", "M"); value2=GetField("月營收月增率","M"); value3=GetField("月營收年增率","M"); value4=GetFieldDate("月營收","M"); if value1=Highest(value1,N) //月營收創37期新高 and trueall(value2>0,2) //月營收月增率近兩個月都>0 and trueall(value3>0,2) //月營收年增率近兩個月都>0 then ret=1; outputfield(1,value4,0,"最新月份");
最近一個月營收創近幾年同期新高
array: numarray[5](0); variable:x(0); for x=1 to 5 numarray[x]=GetField("月營收","M")[(x-1)*12]; if trueall(numarray[1]=highestarray(numarray[1],5),2) then ret=1;
合計的選股條件如下圖
以上是我每天尋找長線潛力股的自動化流程,我的條件有些寬鬆,所以挑出來的股票較多,各位可以再加上其他篩選條件來過濾。
用這個腳本去回測,持有20天,停損是5%,回測報告如下
顯示用這樣的標準挑出來的股票,如果把它變成一個投資組合,確實是可以打敗指數。