用CANSLIM選股法則來說明XS選股平台的四種選股條件產生方法

By | 2017-12-06

William J. ONeil(威廉歐尼爾)是美國知名的成長型投資大師,他寫的笑傲股市這本書到現在賣超過100萬本,他創的投資者日報,全美訂戶超過30萬戶,他在研究每年美國上漲最兇猛的股票後,發明了CANSLIM選股法則,今天就以CANSLIM法則來做例子,跟大家分享如何透過XS選股中心這個平台,運用系統內建的選股條件,加上系統內建的排行條件,加上自己寫的選股腳本,再加上自己寫的排行條件,完成一個自創的選股系統。

首先我先說明CANSLIM是那七個條件

C:當季EPS成長率至少18~20%(Current quarterly earning per share must be up at least 18~20%)。

A:過去五年EPS顯著成長,複合成長率超過15%(Annual earning per share should be meaningful growth over the last five years, the annual compounded growth rate of earnings in the superior firms should be from 15% to 50%, or even more per year)。

N:新產品、新管理階層或股價創新高 (Buy companies with new products, new management, or significant new changes in their industry conditions, and most important, buy stocks as they initially make new highs in price. Forget cheap stocks—they are usually cheap for a good reason)。

S:流通在外股數少,非大型股,非老公司(Shares outstanding should be small or of reasonable number, not large capitalization, older companies)。

L:漲幅領先市場其他股票,股價表現是績優生(Leader :the 500 best performing stocks from 1953 to 1990 averaged a relative price strength of 87)。

I:機構法人買超(Institutional sponsorship:Buy stocks with at least a few institutional sponsors with better than average recent performance records)。

M:市場走向(Market Direction)。

基於上述的規則,我的選股系統,需符合下面幾個規則:

C:最近兩季EPS平均年增率排在前面

A:過去五年EPS複合成長率超過15%

S:總市值小於300億台幣

L:過去兩年漲幅屬於領先群

I: 投信,外資持有一定張數

在XS上,要完成一個選股系統,得先在選股中心的UI上按新增的ICON,接著就會跳出以下的畫面

選股步驟

依序填好選股策略名稱及選股範圍之後,XS的選股中心一共提供了四種的選股條件產生方式

  1. 系統內建的條列式選股條件,使用者只要調整參數即可
  2. 系統內建的排行規則,使用者也只要調整參數即可
  3. 使用者可以自行透過編輯器撰寫的選股腳本,系統會把符合腳本條件的股票,再跟其他條件一起透過AND 或OR的關連來篩選股票
  4. 使用者可以自行透過編輯器撰寫選股函數,再透過自訂排行條件的功能,自建一個排行規則。

XS選股平台為何會提供這麼多種選股條件的產生方式呢? 這是因為,在制定選股條件時,有時必須某值超過某絕對值,例如EPS要超過兩元,但有時只需要在所有股票裡排在前面即可,例如外資一個月的買超累計排名前30名,所以必須分成絕對值的篩選及排行的篩選,而系統內建的條件不見得能滿足使用者的想法,所以才會再提供讓使用者可以透過編輯器自行撰寫選股及排行條件的功能。

以上圖CANSLIM的條件為例

總市值小於300億這個條件系統有內建,我們直接從”選股條件”這個頁籤裡,找出總市值這個欄位,就會找到這個選股條件,把參數填上 3 00,再如上圖的按加號即可以把這個條件加入選股系統中

接下來使用系統內建的排行規則,可以找到年漲跌幅排在前510名的股票。

接著要找出最近兩季EPS平均年增率排在前面的股票,要怎麼挑呢?

首先我們先寫一個函數來計算出最近兩季EPS平均年增率這個值,寫法如下

value1=GetField("每股稅後淨利(元)","Q");
value2=(value1/value1[4]-1)*100;//年增率
value3=(value2+value2[1])/2;
ret=value3;

然後從選股中心裡開啟一個新的選股條件,然後用自訂排行條件這個功能,分別設定這兩個函數計算結果的排行榜,例如都取前一百名,然後透過and這個條件,就可以挑出符合兩個條件排行前一百名的股票。

 

最後是在股價面上,如果要符合CANSLIM的標準,必須符合兩個條件

1.股價創一年新高。

2.大盤在多頭。

符合上述兩個條件的警示腳本如下:

if high=highest(high,200)
and GetSymbolField("tse.tw","收盤價")>
average(GetSymbolField("tse.tw","收盤價"),20)
then ret=1;

這是股價創兩百日新高且加權指數在月線之上。

綜合以上的選股及警示腳本,就可以完成私房版的CANSLIM交易策略,而這當中的選股方法,我們用到了系統內建的條列式選股條件,也用到了系統內建的排行榜,用了一個自己寫的選股腳本,也用了一個自訂的函數來作排行,這是XS選股平台所提供的四種不同的選股條件產生方式,再搭配上AND與OR的串接,來努力把user的選股思維化成一個電腦可以自動執行的對應程式。這應該是XS選股平台跟坊間其他產品最大的不同吧。