Author Archives: 發財橘子

價值衡量九式之三

價值型投資學派,不管用什麼工具,其核心精神都是先算出一家公司的真實價值,再看看跟市價相比是否被嚴重低估,之前兩式跟大家介紹的計算真實價值工具是EV,EBITDA,ROE及PB,第三式來談一下另一個工具: 營收市值比,這個數字在衡量一家公司被購併價值時,有一些實戰上的草根作用。

在談價值型投資時,有一派的觀點在於,有沒有被併購的價值?從以往的例子裡,被併購的公司通常需要具備幾個特質

1。總市值跟營收相比不會太高。

2。有一定的毛利率。

3。營業費用率夠高。

4。負債比例不高。

要有這四個特質的原因在於,購併發動方想的是把購併標的合併之後,能立馬增加一定的營收,但又不用付出龐大的資金流出,所以購併對象的總市值跟營收相比不能太高,太高要花很長的時間,資金才能回收。

其次,毛利率達到一定的水準,才不會營收增加很多,但營業毛利只增加一點點,甚至變成作愈多賠愈多。

第三點,營業費用夠高的公司,一但合併,包括管理,行銷,研發的費用比較能有很明顯的合併綜效,可以大幅的下降,這樣合併的併益才會顯著。

最後一點,被購併的公司負債愈少愈好,這點理所必然。

綜合這四點,我寫了一個選股條件如下

value1=GetField("總市值","D");//單位億
value2=GetField("營業收入淨額","Y");//單位百萬
value3=value1/value2*100;
value4=GetField("營業毛利率","Q");
value5=GetField("營業費用率","Q");
value6=GetField("負債比率","Q");
if value3<2 and value4>15 
and value5>30 and value6<20
then ret=1;
outputfield(1,value3,1,"市值營收比");
outputfield(2,value4,0,"毛利率");
outputfield(3,value1,0,"總市值");
outputfield(4,value2/100,0,"年營收");
outputfield(5,value5,0,"營業費用率");
outputfield(6,value6,0,"負債比率");

今天挑出來的股票如下

2017062701

當然要真的被合併,也要那個行業有更大咖的正想要擴充,不過這個不能量化,只能從篩選出來的股票其行業別再一一加以檢視。

總之,總市值營收比是一個價值型投資者會特別留意的數據,這是今天要跟大家報告的重點。

 

xqlite banner

價值衡量九式之二

要估算一家公司的股價是否合理? 有一個很簡單的算法,那就是如果你用現在的股價去買,預計要多久才能回本? 今天就用股價淨值比跟股東權益報酬率這兩個數字,來跟大家討論這樣的概念

就像下面這張圖,我們如果把股價淨值比當Y軸,股東權益報酬率當X軸,所有的股票在這張圖上,通常會呈現股東權益愈高,股價淨值比愈高的現象

2017062601

如果把這兩個數字的算法拆開來看,每股淨值X股東權益報酬率等於當年股東的每股報酬,假設未來幾年都維持這樣的股東權益報酬率,那麼用每股股價去除以這個數字,就是幾年後可以回本的數字。

依這樣的概念,我寫了一個選股程式

value1=GetField("股東權益報酬率","Y");
value2=GetField("股價淨值比","D");
value3=value2/(value1/100);//回本年限
input:ratio(50,"回本年限");
if value1>0 and value3<ratio then ret=1;
outputfield(1,value1,0,"股東權益報酬率");
outputfield(2,value2,1,"股價淨值比");
outputfield(3,value3,1,"回本年限");

用這個程式,如果把還本年限設為五年,挑到的股票如下

2017062602

這個算法沒有考慮未來的成長預期,不過可以在作這樣的篩選後再一檔檔檢梘符合條件個股的成長性。

特別是有些公司股性不好,但從ROE的角度,股價比較委屈,透過這個方法,可以找出這樣的股票。

xqlite banner

價值衡量九式之一

巴菲特的門徒很多,江湖一般稱為價值投資派,但隨著門下弟子開枝散葉,使用的工具也百花齊放,行情已上萬點,價值派可以用來長線保護短線,未來幾日,跟大家介紹一些價值投資派衡量企業價值的工具,以及這些工具如何寫成程式,今天先跟大家介紹的是EV/EBITDA這個外資常用的估值工具。

EV是市值+負債-現金,概念上就是市場目前考量現金及負債之後,真正給予該企業的價值,這是數字是市場主觀認定的價值。

EBITDA則是營業利益+折舊+攤銷 ,這個數字是企業客觀上,在經營上可以創造出來的現金。

EV/EBITDA就是市場主觀認定的企業價值與單季或單年企業客觀可以創造的現金之間的比值,這個數字愈小,代表主觀的估值愈沒有被高估,愈符合價值型投資者的選標準。

把這樣概念轉換成選股腳本,可以這麼寫

value1=GetField("總市值","D");//單位億
value2=GetField("負債總額","Q");//單位百萬
value3=GetField("現金及約當現金","Q");//單位百萬
value4=GetField("短期投資","Q");//單位百萬
value5=GetField("稅前息前折舊前淨利","Q");//單位百萬

var: pricingm1(0);
input: bl(12,"上限值");
if value5>0 then begin
pricingm1=(value1*100+value2-value3-value4)/value5;

if pricingm1<bl
then ret=1;
outputfield(1,pricingm1,1,"EV/EBITDA");
outputfield(2,value1*100+value2-value3,0,"EV");
outputfield(3,value5,0,"EBITDA");
outputfield(4,value1,0,"總市值");
outputfield(5,value2,0,"負債總額");
outputfield(6,value3,0,"現金");
outputfield(7,value4,0,"短期投資");
end;

用這個腳本選出來的股票如下:

2017062601

這些公司,都是如果未來三年(十二季)每一季都能像最近一季創造這麼多的現金,那麼三年後這些現金的合計就比目前市場給的企業價值還高,這樣的公司,就蠻符合價值型投資者的思考方向,不過在運用這個數字時,還是必須獲利的長期穩定性,也可以用年的數字來降低淡旺季的季節性因素。

xqlite banner

找出市場上每股現金最多的公司

選股的時候,有的時候會想找出某個條件排名前N名的公司,但如果系統不支援這個條件的排名時該怎麼辦? 例如我想找每股流動資產跟股價最接近的公司前20名,要怎麼做呢? 今天就是來跟大家分享這種自訂排行榜的寫法。

首先,得先把想要合排行的數值的演算規則寫成函數

2017062101

這裡用中文的函數名稱,目的是讓user可以很快的找到這個函數。

接下來就是撰寫這個函數的腳本

value1=GetField("現金及約當現金","Q");//百萬
value2=GetField("短期投資","Q");
value3=GetField("短期借款","Q");
value4=GetField("總市值","D");
value5=(value1+value2+value3)/(value4*100);
if value4<>0 then 
value6=value5/value4;
ret=value6;

這個函數腳本跟英文腳本的差別就在於用ret來代替英文的函數名稱作為賦值的敘述。

從上述的腳本中,可以理解,我想找的是現金與短期投資合計後減去短期借款後,跟總市值的比值,這個數字如果大於一,代表光公司馬上處理後的現金就高過公司目前的市值,通常這種公司就算是超跌了。

寫完函數後,接下來就是把這個函數拿來當作排行榜的條件,設定的流程如下

2017062102

2017062103

這樣就可以完成自訂的排行條件了。

這個功能是XQ6.2版之後才支援,透過這個方法,就可以自己來設計要排行的數字的演算方法了。

 

xqlite banner

雞蛋水餃股的反彈行情

在指數站穩萬點之後,我最常聽到的一句話就是:” 指數都萬點了,股票還能買嗎?”

其實大家都清楚,這次的萬點指數,台積電佔了多重的角色

我寫了一個腳本專門在計算近N個月總市值增加超過M億的股票

value1=GetField("總市值","M");//單位:億
input:N1(24,"計算月份數");
input: addvalue(100,"總市值增加金額(單位:億");
if value1-value1[n1-1]>addvalue
then ret=1;
outputfield(1,value1-value1[n1-1],0,"市場增加金額(億)");

我拿這腳本去找過去兩年總市值增加超過五百億的公司,結果如下圖

2017060501

台積電的市值增加了1.8兆,這才是台股指數上萬點的真正原因,其餘的股票,其實不少的市值都還在七千到八千點指數的位置。

所以千萬別讓大盤的指數成了投資的心魔,以前怎麼挑股票,接下來還是怎麼挑股票,這是一個任意射擊,個股表現的時期,我預計這個時期會一直延續到全球利率水準被拉回到一定程度之後才會沙喲拉那。

任意射擊

接下來的階段,應該是屬於看好就買,看壞就空的自由射擊時期。

今天跟大家介紹的這個選股機器人上面的策略,就是衝著雞蛋水餃股而設計的交易策略

先看腳本

//雞蛋水餃股
settotalbar(1600);
value1=GetField("總市值");
input:period(1500,"計算天數");
input:ratio(5,"距離低點幅度");

if value1<lowest(value1,period)*(1+ratio/100)
//總市值回到過去一段時間最低點
then begin

if close=highest(close,20)
//創20日新高
and close<close[19]*1.07
//距離20日前沒有漲太兇
and GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),20)
//大盤多頭
and close <20
//股價低於20
then ret=1;

end;

這個腳本的概念是股價低於20元的股票

1.總市值回到過去一段時間最低點之下

2.股價創近20日來新高

3.但離20之前也沒有漲太兇

4.目前大盤是多頭格局

根據上述的原則,去跑過去三年的所有股票,進場後持有 20個交易日,回測報告如下:

2017060401

 

各位可以看到勝率雖然是六成,不算非常高,但是是屬於那種賺時賺的多,輸時輸的有限的策略。

符合條件的股票如下面這兩個例子

2017060402

 

2017060403

因為指數上萬點大家危機意識都很高,所以我跟大家介紹這個適合低價股的交易策略。

 

xqlite banner

突破繼續型態選股策略

在攻擊型選股機器人裡有一個策略叫突破繼續型態,它的概念是去尋找一段時間裡高低震盪後,再創新高的公司,我試過不少的寫法,以下這個腳本的寫法回測的結果最好。

之前我在試著寫突破繼續型態的腳本時,太在意整理型態的樣式,後來發現,其實只要把握幾個原則

1。有一陣子沒有破底了。

2。今天之前一直有一陣子沒有創新高。

3。今天創了新高。

根據這三個原則寫的腳本如下

variable:iHigh(0); iHigh=maxlist(iHigh,H);
variable:iLow(100000); iLow=minlist(iLow,L);
variable:hitlow(0),hitlowdate(0);
if iLow = Low then //觸低次數與最後一次觸低日期
begin
hitlow+=1;
hitlowdate =date;
end;

if DateAdd(hitlowdate,"M",1) < Date and//如果自觸低點那天1個月後都沒有再觸低
iHigh/iLow < 1.3 and //波動在三成以內
barslast(iHigh = High)=0
and barslast(ihigh=high)[1]>10
//超過十天沒有創新高
and average(volume,100)>500
//來到設定日期以來最高點
and GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),20)
then ret =1;

我有加上多頭市場才啟動的濾網

如果設出場點為十天之後,把所有的股票都下去回測,回測的數字不錯,像下圖這樣的股票,就會符合這樣的腳本

2017060102

教科書上教繼續型態的時候,根據型態不同的樣子,把繼續型態分成很多類,但實際用腳本去描述這些型態的時候,要描述的很精確,不是很容易,關鍵在於型態的形塑,需要的天期不一,上切線與下切線的斜率也不一,我試著寫了幾個,能普遍應用到所有股票的不多,這次的寫法就乾脆不理會是那一種繼續型態,只取其核心概念:

1。一陣子沒有破底

2。區間高低震盪

3。且有些日子未創新高

4。然後今日再創新高。

這樣就不用計較中間的整理型態是什麼樣子,也不用管整理了多少天。

這次在選股機器人裡,我把這個策略放了上去,選出的股票,值得大家再仔細研究其基本面是否具備值得市場追高的因素。

 

xqlite banner

金牌定存股選股策略

在價值型機器人裡,金牌定存股這個策略是在尋找每年獲利都超過五億,且近五年獲利獲利都還算穩定的公司,然後在這樣的公司移動平均線出現翻多的情況時,通知使用者。

金牌定存股這個 選股策略是由兩個腳本組成,第一個是找出金牌定存股的腳本

input:lowlimit(5,"年度獲利下限(億)");

value1=GetField("本期稅後淨利","Y");//單位:百萬
value2=lowest(value1,5);//五年獲利低點
value3=average(value1,5);//五年來平均獲利
if value1/100> lowlimit//獲利超過年度獲利下限
and value1/100<50//獲利沒有超過五十億元
and 
value1>value1[1]*0.9
and value1[1]>value1[2]*0.9//年度獲利連續兩年未衰退超過一成
and value2*1.3>value3
//五年來獲利最差的時候比平均值沒有掉超過三成

then ret=1;

outputfield(1, value1/100, 1, "稅後淨利(億)");

第二個腳本則是用月線及季線來定義目前股價處在什麼位置

variable:m20(0),m60(0),message("0") ;
m20=average(close,20);
m60=average(close,60);
if close > m20 and c< m60 and m20<m60
then message="復甦期"
else 
if close > m20 and c> m60 and m20<m60
then message="收集期" 
else 
if close > m20 and c> m60 and m20 > m60
then message="多頭"
else 
if close < m20 and c>m60 and m20>m60
then message="警示期"
else 
if close < m20 and c<m60 and m20>m60
then message="發散期"
else 
if close < m20 and c<m60 and m20<m60
then message="空頭";

 

if message<>message[1]
and message="多頭"
and message[1]="收集期"
and message[2]="收集期"
and volume>500 and close>10
then ret=1;
outputfield1(message);
setoutputname1("今日訊號");
outputfield2(message[1]);
setoutputname2("昨日訊號");
outputfield3(message[2]);
setoutputname3("前日訊號");

這個腳本的概念是從下面這張圖來的

101205

腳本的概念是不管之前是什麼階段,第一天回頭多頭時就觸發通知訊號。

把這兩個腳本結合起來,就是當獲利穩定的公司,股價重返多頭的第一天,就請機器人發出警訊。

以上是金牌定存股的說明

 

xqlite banner

 

 

現金總市值比高的公司

在價值型投資當中,最保守最保守的價值型投資者,會想要尋找那些手上的現金比總市值還高的公司,因為公司最慘的情況就是被清算,被清算時最容易變現的是現金,如果市值跌到比公司持有的現金還低,那就很容易吸引大股東或其他的蒼蠅蚊子聞香而來,這時候如果成交量出現跟以往不一樣的熱絡景況,那就可能公司股價過低的情況已經被市場有心人士發現了,現金總市值比高的這個選股機器人,就是在挑這樣的公司。

要挑這樣的公司,一共是用了兩個選股腳本

第一個是找現金總市值比高過0.7的公司

value1=GetField("現金及約當現金","Q");//單位百萬
value2=GetField("短期投資","Q");//單位百萬
value3=(value1+value2)/100;//單位億之現金及短期投資合計金額
value4=GetField("總市值","D");//單位:億
if value4<>0
then value5=value3/value4;
//現金總市值比;
if value5>0.7 and value3>3
 //現金總市值比大於0.7且現金及短投合計超過3億
then ret=1;

outputfield(1, value5, 1, "現金總市值比");

第二個則是常見的無量變有量

input:v1(1000,"前一根bar成交量");
input:v2(1500,"這根bar成交量");
if trueall(volume[1]<=v1,10) and volume>v2 
then ret=1;

這兩個腳本合在一起,就是來挑這種股價低於價值且開始出量的股票。

舉個例子,2363矽統這檔股票,

236301

帳上現金有12億,長期投資裡有備供出售的聯電315380張,帳面價值是38億,光這兩者的合計就是50億,但矽統的股本是56億,股價只要跌到6.5元左右,總市值只有36億,這是標準的現金價值比市值高的股票。

各位可以發現,這檔股票跌到6.5元以下時,如果出量就會彈回七元以上,然後再跌下來,這就是很典型的無量變有量就是買點的例子

236302

這種股票會跌的這麼慘,通常是前景堪憂,但如果帳上現金多,就好像一個小朋友抱著大量的現金在街上走,難保不會被有心人士看上,這個選股法就是在尋找這樣的公司。

 

xqlite banner

低PB股轉強

 

在價值型選股機器人裡,有一個策略是低PB股轉強,這個策略我是尋找股價低於15元但每股淨值超過9 元的股票,然後股價創二十日新高且股價尚未大漲的,過去三年回測的數據還不錯。

S__20414477

這個選股策略,是從一個警示策略改良而來,這個警示策略的腳本如下

// 選股法: 普通股全部
// 作多, 持有期別=20期
//
if GetSymbolField("tse.tw","收盤價") > average(GetSymbolField("tse.tw","收盤價"),10)
then begin
 if close<15
 and H = highest(H,20)
 and close<lowest(low,20)*1.07
 and highest(h,40)>close*1.1
 then
 ret=1;
end;

這是在多頭市場下,找先前股價下跌後的低價股

 

這策略在多頭市場蠻有效,但因為挑到的股票體質不佳,如果是進到空頭市場,就不合適用這個策略

這個腳本的概念是,在多頭市場的時候,尋找那些先前有下跌的低價股,然後當這些股票創二十日新高,但股價尚未大漲時進場,因為這代表股價在這陣子是處於打底的情況,這個策略就是找那些下跌後打底轉強的低價股,例如這個策略選到的富強鑫就是具有這樣的特 色。

2017052302

我自己使用這個選股策略的心得是,如果創新高的這兩天不是被大盤帶上來,股價有比大盤強勢,而且有放量,勝率會更高,另外,千萬記得空頭市場的訊號千萬別當真,這些低價股如果原來的主力放手,跌起來超可怕的。

 

選股機器人下載點

xqlite banner

選股機器人APP介紹

每次介紹語法,總被我那些豬朋狗友虧說,啊咱這麼熟了,直接告訴我答案就好啦, 幹嘛叫我學寫程式; 那些晚上回家做功課,要瀏覽大量資料挑股票的朋友們也常建議我們,直接把他每天要做的事情,想辦法讓電腦去做,回家最好就可以有一組股票名單可以進一步深入研究。挪雞鴨說科技始終來自於人性,各位的聲音我們聽到了,今天就來跟大家介紹咱們家最新的產品: 機器人選股APP,透過這個APP,每天晚上您要作功課才挑得出來股票,現在直在出現在您的手機裡,接下來您只要從這些股票中再去作進一步的研究就可以,這個機器人可以省下各位做功課挑股票的時間。

 

各位從iPhone或Google phone的Store 打關鍵字“選股機器人”,就可以找到這個app,這個版本的app是免費的,如果您是中華電信的hami包會員,裡頭會有一些會員獨享的選股法。

下載完這個app,打開後像下圖

IMG_5072

 

按下一步之後會出現以下的畫面

IMG_5073

按了開始測驗之後,接下來按電腦的問題問答,

IMG_5067 IMG_5068 IMG_5069 IMG_5070 IMG_5071

 

電腦就會自動找出適合您的機器人,這邊合適您的機器人可能不只一隻

IMG_5063

之後每天按下”我的訊號“這個bottom,就可以找到符合您需求的選股策略,每天跑出來的股票清單

IMG_5064

這些股票你如果有覺得值得進一步作功課的,按一下旁邊的心號,就可以加入觀察名單,然後按下”觀察名單”的bottom,就可以看到這些股票的名單

IMG_5065

目前共提供了七個機器人,每個機器人設計理念都有簡短的說明

IMG_5074

所附的這些選股策略,都是回測過有一定勝率的,設計的理念也會在每個策略的最上方加以說明

IMG_5075

這個APP接下來會跟XQ全球贏家整合在一起,讓各位看到股票名稱後可以直接在手機上看盤,查資料,看線圖及下單。

這是敝公司呼應大家的需求最新的產品,請大家使用後多給我們批評指教

 

xqlite banner