Author Archives: 發財橘子

營收好轉大股東看好股

在最新一個月的營收公佈期,我會用最近三個月的月營收及最新一季的營業利益率,計算出單季的本業獲利,然後假設未來一年的本業獲利皆如最近這一季,據以計算出全年本業的獲利及EPS,再以這樣的EPS搭配當下的股價,計算出目前的本益比,如果本益比非常低,例如低於6倍,那麼如果這家公司的月營收不是曇花一現,那麼目前的股價就是明顯被低估。

基於這樣的想法,我寫了一個腳本如下:

 

value1=GetField("月營收","M")
+GetField("月營收","M")[1]+GetField("月營收","M")[2];//億
outputfield(1,value1,1,"近三月營收合計(億)");
value2=GetField("營業利益率","Q");
outputfield(2,value2,1,"營業利益率");
value3=value1*4*value2/100;
//用最近三個月的營收乘以最近一季營業利益率來估算全年本業獲利
value4=GetField("最新股本");//億
variable:FEPS(0);
FEPS=value3/value4*10;
//用這樣估算的本業獲利來算預估的EPS
outputfield(3,FEPS,2,"預估本業EPS");
if feps<>0 
then value5=close/feps;
outputfield(4,value5,"預估本益比");
input:pe(6,"預估本益比上限");
if value5<pe and value5>0
then ret=1;
outputfield(5,value4,0,"股本億元");

 

 

 

當然這樣計算的方式,如果碰到景氣在最高峰的個股,像是之前的航運股、鋼鐵股,就有可能被誤導,所以我加了一個關鍵券商買超的條件,組合成以下的選股策略:

過去七年,停損停利設為7%,回測報告如下圖:

這是一個一直有穩定表現,且交易次數還不少的短線策略。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!

 

股價低於平均股利的15倍

股價是股利的幾倍,算是合理價位?

如果一家公司,每年都配四元股利,跌到多少錢以下可以買?

是60元? 還是40元?  60跟40差很多,我們透過【XQ量化平台】來找答案。

一個交易策略,基本上就是觀察、假設、撰寫腳本、回測、調整這五個步驟。

我觀察到,看股利不能看一年,股利有上有下,用最近一年的股利來計算合理股價,在公司表現好時容易高估,在公司景氣谷底期容易低估,所以最好用近幾年平均股利來作計算的標準。

其次,股價反映的是未來,一家獲利穩定的公司,股價跌到一定的價位,如果法人買超,代表這家公司的未來,法人買是肯定的。

我把這兩個觀察整合在一起,假設股價跌到股利的15倍且法人買超,是個好的進場時機,然後寫成了以下的腳本:

 

 

 

value1=(GetField("股利合計","Y")+GetField("股利合計","Y")[1]
+GetField("股利合計","Y")[2]+GetField("股利合計","Y")[3]
+GetField("股利合計","Y")[4])/5;
if close<value1*15
and getField("投信買賣超", "D")>200
and getField("外資買賣超", "D")>500
then ret=1;

 

這腳本取過去五年的平均股利作為評價的基礎,在股價跌破股利15倍且外資單日買超大於500張,投信買超大於200張後進場,回測報告如下:

這是一個有一定勝率,有夠多交易訊號,長期報酬率穩定向上的交易策略,有興趣的朋友可以再調整參數或加入其他過濾條件來優化這個策略。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!

企業價值營收比夠低

我們很常用總市值與年營收的比例,來作為企業估值的標準,例如一家公司如果一年營業額30億,那麼總市值如果遠低於30億時,我們會覺得這檔股票的股價可能被低估了,企業價值營收比是一個在這樣概念下被進一步發展出來的估值數據。

企業價值的公式是總市值+負債總額-(流動資產-應收帳款)

這數字是扣除負債及流動資產的可立即變現部份,更清楚的呈現市場對一家公司運營本身的估值,用這個數字去除以年營收,就是所謂的企業價值營收比,我把這樣的概念寫成腳本,去尋找企業價值不到營收1/5的公司

value1=getField("總市值(億)", "D");//億
value2=getField("負債總額", "Q");//百萬
value3=getField("流動資產", "Q");//百萬
value4=getField("應收帳款及票據", "Q");//百萬
value5=getField("營業收入淨額", "Y");//百萬
value6=(value1*100+value2-(value3-value4))/value5;
input:ratio(0.2,"比例上限");
if value6<ratio
and value6>0
then ret=1;
outputfield(1,value6,1,"企業價值營收比");
outputfield(2,value1,0,"總市值單位億元");
outputfield(3,value1*100+value2-(value3-value4),0,"企業價值單位百萬");
outputfield(4,value5,0,"年營收");

 

如果只用這個腳本去回測,停損停利設為7%,回測報告如下

長期都可以打敗大盤。

如果這樣的公司連續2日法人都買超一定張數,可能代表法人也覺得目前的估值太低了,開始進場買進

這樣可能會形成一個合適的選股策略,所以我寫了一個選股策略如下

拿這個策略去回測,回測報告如下圖

這樣的勝率及MDD,算是在可以接受的範圍

但是符合條件的交易次數太少了

所以我把連2日法人買超500張改成佔成交量10%以上,回測結果如下圖

總交易次數變多了,勝率也略高一點,但總報酬沒有比較好,MDD也變大

 

本益比位於五年低位區

前些日子,在網路上看到有人說,如果一檔股票回到五年來平均最低本益比的附近,往往就是該股的股價底部區。我試著寫了一個腳本來印證這樣的說法,經過一些調整,有打造出一個還算可接受的交易策略,來介紹給大家。

首先,先來找出股價接近五年來平均最低本益比的股票,我寫的腳本如下

value1=lowest(getField("本益比", "D"),200);
value2=lowest(getField("本益比", "D"),400);
value3=lowest(getField("本益比", "D"),600);
value4=lowest(getField("本益比", "D"),800);
value5=lowest(getField("本益比", "D"),1000);
value6=(value1+value2+value3+value4+value5)/5;
if getField("本益比", "D")<value6*1.1
then ret=1;

這個腳本的概念是找出200個交易日到1000個交易日,每隔200天作一個天期的最低本益比,然後除以五,算出其簡單平均,然後如果現在的本益比跟這個最低本益比已差距不到一成,就符合條件

拿這個腳本去回測過去七年,停損停利都設為7%,回測報告如下圖

這樣的江湖傳說,回測下來,還真的有一點可信度,勝率接近六成。

所以接下來是設計一些過濾條件了

我的想法是從基本面及籌碼面兩方面進行

一,基本面必須其月營收保持成長

二,籌碼面則是法人買超比重夠高

再過濾掉高價股,最後的選股策略如下圖

這裡我把成交量超過1000張的勾選拿掉了,因為我想以目前市場的成交量,沒啥道理一定得加上這個條件

 

下面是這個策略的回測報告

 

 

這樣的勝率及總報酬率都算是還可以接受了,當然各位可以再加以改造,把它設計的表現更好

毛利率及營收都成長的冷門股

我在挑股票時,非常喜歡留意那些毛利率創多年來新高的股票,特別是,如果毛利率創多年來新高,而股價淨值比仍然小於1時,那就有可能找到一檔基本面可能有了明顯的改善而股價依然還算便宜的個股。

這樣的公司,如果每股營收夠高,毛利率的提昇,就能明顯反應在EPS上,也就能反映在股價上。

其次,為了避免挑到在景氣頂峰的景氣循環股,所以我加上了月營收年增率大於10的過濾條件。

另外我再加上成交量小於1000張的條件,因為這種業績可能有轉機但股價淨值比不到一倍的公司,應該是乏人問津的冷門股比較有可能。

下面是符合這些描述的選股條件:

我拿這個選股策略去回測過去七年,停損停利都設為7%,回測報告如下圖:

這是一個勝率有接近7成的選股策略,也有不錯的總報酬率,有興趣的朋友可以再加以延伸成自己的私房策略。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!

月營收創近年新高

這個策略是去尋找月營收創五年來新高,且代操資金進場,大股東站在買方的個股,這是典型基本面與籌碼面同步的作多策略

怎麼寫呢?  先來處理基本面

系統有一個月營收創N期新高的腳本

input:N(60); setinputname(1, "期別");

SetTotalBar(3);

if GetField("月營收", "M") >= Highest(GetField("月營收", "M"),N) then ret=1;

SetOutputName1("月營收"); 
OutputField1(GetField("月營收", "M")); 




 

 

 

再來是用下面的腳本來確定營收是最近的一期

value1=getFieldDate("月營收", "M");
//取得月營收日期
value2=datevalue(date,"M");
//取得最近一根K棒的月份數值
value3=datevalue(value1,"M");
//取得月營收日期的月份數值
if value2-value3=1
//如果K棒月份數值比公佈的數值差一
then ret=1;
value4=getField("月營收", "M");
value5=getField("月營收月增率", "M");
value6=getField("月營收年增率", "M");
value7=getField("累計營收年增率", "M");
outputfield(1,value4,2,"月營收(億)");
outputfield(2,value5,0,"月增率");
outputfield(3,value6,0,"年增率");
outputField(4,value7,0,"累計年增率");
outputfield(5,value1,0,"月份");

再來就是再加上籌碼面的條件

用這個腳本去回測過去七年,停損停利設為7%,回測報告如下圖

 

這個策略在大多頭市場時,表現的很好。

大跌後的多頭執帶

在K線型態中,大跌後的多頭執帶,算是勝率蠻高的一種交易訊號。

先前有跟大家分享過,我寫過一個kbpattern函數,用來呼叫幾個常用的多頭K線型態,其中就包括多頭執帶這個型態

它的腳本如下

[檔名:] 多頭執帶 75[說明:] 開在最低點一路走高收在最高點附近的K棒

condition20=close>open;

condition21=(Close-Open)>(high-low)*0.9; condition22=Close>Close[1]+high[1]-low[1]; 

IF condition20  and condition21  and condition22 

THEN  bkpatterm="多頭執帶";

 

完整的說明請看這篇文章

所以根據這個腳本,我就可以寫出以下的選股策略

if bkpattern="多頭執帶"
and close*1.283<close[30]
then ret=1;

這個腳本再加上收盤價小於30元的條件後,去回測過去七年,停損停利都設為7%,回測報告如下圖

這個策略的勝率跟總報酬率都蠻好的,就是MDD大到無法接受,在系統性風險存在時,就必須先停用這個策略,在空頭市場的末期,則會有很棒的投資績效

平台整理後突破

今天來介紹一個平台整理後突破的型態選股,這個策略有著長期穩定的報酬率,空頭市場交易機會變少,且維持一定勝率,所以MDD很小,大家可以根據這樣的概念,開發自己專屬的平台整理突破的交易策略。

首先得先跟大家交代一下我寫的腳本:

input:Period(20, "平台區間");
input:ratio(7, "整理幅度(%)");
input:ratio1(3,"各高點(低點)間的差異幅度");
variable:h1(0),h2(0),L1(0),L2(0);

h1=nthhighest(1,high[1],period);
//找出區間最高點
h2=nthhighest(4,high[1],period);
//找出區間第四高點
l1=nthlowest(1,low[1],period);
//找出區間最低點
l2=nthlowest(4,low[1],period);
//找出區間第四低點

if (h1-l1)/l1<=ratio/100
//區間最高點與最低點差距小於7%
and (h1-h2)/h2<=ratio1/100
//區間最高點與第四高點間差距小於3%
and (l2-l1)/l1<=ratio1/100
//區間最低點與第四低點間差距小於3%
and close crosses over h1
//收盤價突破區間高點
and close[period+30]*1.1<h1
//整理前的第30天收盤價已有一定漲幅
and volume> average(volume,period)
//成交量大於區間均量
then ret=1;

 

每一行我都有把意思寫在該行下面,這個腳本是專找之前有漲過,從波浪理論來看,是已經完成第一波,然後接下來的第二波是以盤代跌,在過去20天裡,最高點與最低點相距不到7%,然後最近一個交易日突破區間高點,要開始走第三波主升段。

我拿這個腳本去回測過去七年,停損停利都設為7%,回測的結果如下:

1594次的交易次數,六成勝率,-14.5%MDD,這個選股策略在沒有加上任何的過濾條件,就有這樣的表現,這如果是在武術界就算是練武奇材了。

我特別回測過去一年,看看在空頭市場能否保持一樣的勝率,回測報告如下:

結果還有172個交易訊號,MDD是-20%,勝率還有65.7%,所以那位高手說的沒有錯,盤整後走主升段的股票,在空頭市場還是可以做的。

那麼接下來就是再加上其他的過濾條件。

我這裡加的是董監持股超過四成這個條件,原因是我認為這種大股東高持股的公司,如果走多頭趨勢時,比較能夠一波接著一波,所以組合起來的選股策略如下:

 

用這個選股策略的回測報告如下圖:

 

MDD只有6%,勝率是66%,算是三戰兩勝的策略。

大家可以自行調整您的過濾條件,發展出自己專屬的整理突破型交易策略。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!

長期不受青睞,但投信開始買超

我師父當年曾跟我們說,反常必有妖,像是長期沒有成交量的股票開始有量,大盤下跌時創波段新高的個股,明明是淡季營收卻創歷史新高的公司,這些都是反常必有妖的例證,我根據這樣的思維,寫過蠻多的選股策略,今天就來跟大家分享一個很簡單但勝率蠻高的概念,這個概念是,如果一檔長期無人青睞且股價下滑的個股,竟然有投信會買進,應算就算是典型的反常必有妖
這個選股策略不用寫程式,在 #XQ選股中心 用選股條件就可以組出來,選股條件我放在附圖,這個策略的概念就是去找那些近一個月股價有明顯修正,且投信持股不多但開始買進的個股
選股條件如下

回測的結果如下

 

產業上中下游都突破月線

先前有跟大家分享我們透過個股的營運結構,把一檔股票的上游、同業及下游公司的股票,都編制成價格波動型指數,然後讓大家可以在【XQ選股中心】拿這些欄位來撰寫腳本。今天來跟大家介紹一個用這些數據寫出來的選股腳本。

先跟大家介紹這個腳本:

value1=GetField("上游股價指標","D");
value2=GetField("同業股價指標","D");
value3=GetField("下游股價指標","D");
var:count(0);
count=0;
if value1 cross over average(value1,20)
then count=count+1;
if value2 cross over average(value2,20)
then count=count+1;
if value3 cross over average(value3,20)
then count=count+1;

if count>2 then ret=1;

 

這個腳本是去計算一檔股票的上游股價指標,同業股價指標及下游股價指標,有多少個突破月線,例如上面是超過兩個,那就是三個都突破月線。

我用這個腳本去回測過去七年的所有普通股,停損停利都設為7%,回測報告如下圖:

 

勝率是接近3戰2勝,長期打敗大盤,MDD是-16%,交易次數又多,而且空頭市場出的訊號少,進可攻退可守,算是一個不錯的選股策略,大家可以再進一步優化它。

例如我加了一個週漲幅小於3.5%的條件,回測的勝率馬上站上七成:

 

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!