如何運用XS作出Watch List

By | 2019-03-25

常被問到的一個問題是,策略中心跑出來的標的好多哦! 又沒有錢每一檔都買,要怎麼挑啊? 該不會挑到的沒有漲,沒挑到的拚命漲?

當初作雲端策略中心的時候,因為避免被認定為投顧行為,所以採免費,明碼及全部普通股都拿下去洗價三個原則。 當時候的想法是,觸發訊號的股票,User自有一套私房的過濾方式。

但如果在逐筆撮合制度上線後,想要改成自動化交易,確實需要更有系統的過濾方式。

我自己的過濾方式有兩個

一,我沒有拿全部的普通股去洗價,而是只用我自己設的觀察名單。

二,特定策略跑出來的標的,我會回頭檢視這策略用在這特定股票時,勝率等回測數字夠不夠優。

今天就先跟大家分享我的watch list(觀察名單)是怎麼產生的?

首先我有訂幾個原則

一,過去曾經有不錯的表現過

我不喜歡那種每年都說會變好,但每年都跳票的公司,或是那種企業的營運已經僵屍化,長期處於損益兩平邊緣的公司。

所以我的Watch List股票一定要最近六年至少有一年EPS超過3元

二,有一定的資本支出

資本支出是賭本,拼的是未來,下了賭本不一定有未來,但沒有賭本肯定就沒有未來

所以我設的篩選條件是資本支出佔營收比重要達到一定的標準

三,公司目前位於良性循環的軌跡中

生意愈來愈差的公司,營運往往會進入惡性循環,我喜歡挑生意不比去年同期差的,所以我用過去四個月的月營收年增率移動平均值大於零作為過濾的標準。

四,投信會踫的

現在是法人時代,投信會踫的股票比較容易被市場認同,所以我希望觀察名單裡的股票投信是會有興趣的,投信有他們自己的觀察名單,沒在名單內的投信不會買,所以我的條件就是投信在過去一年內曾經幾日內買進超過1000張的股票。

綜合這四個條件,我設了一個選股策略如下

20190325

其中有兩個選股腳本

過去六年曾經有一年eps超過3元

//過去曾經有過不錯的表現
input:period(6,"過去N年");
input:limit1(3,"EPS下限");
value1=GetField("每股稅後淨利(元)","Y");
if trueany(value1>=limit1,period)
then ret=1;

另一個腳本是投信大買過的

 input:period(500,"計算日期");
input:days(5,"合計天數");
input:amount1(1000,"合計張數下限");
value1=GetField("投信買張","D");
condition1=false;
if summation(value1,days)>=amount1
then condition1=true;

if trueany(condition1,period)
then ret=1;

最新跑出來的結果,符合上述四個條件的,共有151檔,名單如下

2019032502

以上是我過濾觀察名單的方法,我就是想找那些曾經輝煌過,還在良性循環中的標的。

每個人都應該有自己挑選觀察名單的方法,而且家數最好不要超過150檔,這樣才能集中精神去研究它們。