Author Archives: 發財橘子

聚合理論在選股上的應用

當半導體等主流科技股表現不好的時候,我們該怎麼挑股票?

今天來介紹一個理論,以及根據這個理論所衍生出來的選股策略。

這個理論叫作Aggregation Theory,被翻譯成聚合理論。

這個理論是由Ben Thompson 在2015 年所提出來的。

這個理論有三大原則:

一、聚合者本身必須直接面對終端消費者

二、聚合者在服務消費者的時候,邊際成本趨近於零

三、用戶的邊際取得成本會隨著規模而持續降低

Ben Thompson 認為,符合這三原則的服務,會產生網路效應,導致大者恆大,贏者全拿,winner-take-all。

Ben Thompson眼中最典型的聚合者是Google及FB。

他認為,聚合者主要提供的,是把資訊提供者與資訊需求者,彼此之間的供給與需求,透過聚合者作為平台,有效率的串接起來。

在台灣,最典型符合聚合者標準的,是104人力銀行:

當他開始達到經濟規模之後,營收就呈現非常穩定的成長:

毛利率在營收達到一個特定點之後,也會出現很明顯的揚昇:

那麼我們如何尋找下一檔104呢?

基本的條件有兩個:

一、毛利率創四季新高

二、累計營收年增率要維持正成長

然後再搭配價量創近期新高的技術面條件:

 

Input: day(20,"日期區間");
Input: ratioLimit(7, "區間最大漲幅%");

Condition1 = C=highest(C,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

Ret = Condition1 And Condition2 And Condition3;

 

 

就可以初步篩選出可能的候選人。

我用這樣的概念寫出來的選股策略,回測的結果如下圖:

當然符合這三個條件的,絕大部份都不能跟Google,FB 相比。

但買股票是買未來,各行各業如果有公司符合那三個條件的兩項以上,都可能帶動公司變成一檔新興的成長股,我們如果能夠過上述的選股法,在其股價長線多頭的初期,就與其相會,這絕對是投資生涯中夢寐以求的事。

把這聚合理論分享給大家,祝大家都能找到才剛要冒出頭的高成長股。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.pse.is/5hld64

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

尋找阿爾發之旅系列30

獲利穩定的公司,有著不錯的殖利率,最近營收也表現的不差,是不是有超額報酬?

以下是我做的回測:

勝率一般,但的確有超額報酬,特別是去年一整年的表現蠻好的。

如果再加上最近一個月營收也維持成長的條件,回測報告如下:

勝率差不多,交易次數略少一點,但總報酬率更上一層樓。

我想說估值及基本面ok不代表是對的交易時機,於是我加上交易時機的條件:週線突破月線。

也把估值的參數稍為調整一下,回測的結果如下圖:

勝率高出不少,收益曲線也平穩多了。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5hlt2t

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

尋找阿爾發之旅系列28

昨天提到找基本面好轉的股票,然後在股價與成交量同創區間新高時進場,會有超額報酬,今天繼續分享一個基本面的篩選方式。

這個方式有兩個條件:

一、營業利益率創12季新高

二、營業毛利率創12季新高

符合這兩個條件的公司,基本面絕對是開始有明顯的變化,不是產品售價回升,就是產品組合有所調整,不然就是客戶需求成長,產能利用率明顯回升,把這兩個條件組合在一起,再加上暴量起漲這條件,回測過去七年所有股票,停損停利都設為7%,回測報告如下:

這個選股策略勝率蠻高的,缺點就是條件太嚴,七年的交易次數只有365個,有興趣的朋友可以繼續用基本面好轉+暴量起漲這樣的思路,打造自己的超額報酬。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5h8j2s

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

尋找阿爾發之旅系列29

這兩天都在介紹基本面好轉的股票暴量起漲這類的選股策略。

今天把關注的焦點放在雞蛋水餃股。

測試一下股價不到20元的股票,出現暴量起漲的情況時,績效如何?

回測的結果發現,報酬率及勝率並沒有特定的突出:

但如果加了以下兩條長線基本面的條件:

一、連續兩年營收增加5%以上

二、最近一季營收增加5%以上

加上這兩則代表股價雖低,但業績仍有在成長的條件。

回測報告就變成像下面這樣:

這是代表低價股但不放棄的公司,在股價及成交量上開始有變化,表現就很穩定的優於大盤。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5hajbh

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

 

尋找阿爾發之旅系列27

基本面好轉,股價出量創近日來新高,這樣挑股票,的確能打敗大盤,今天介紹的基本面條件是,月營收及累計營收年增率都超過兩位數,每股營業額大於35元,這樣的公司最近一期的財報應該會不差,當這樣的股票暴量剛起漲,有很穩定的投資績效。

暴量剛起漲的腳本如下:

Input: day(20,"日期區間");
Input: ratioLimit(7, "區間最大漲幅%");

Condition1 = C=highest(C,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

Ret = Condition1 And Condition2 And Condition3;

 

 

 

這個腳本的概念有三條:

一、今日收盤價創20日最高價

二、今日成交量創20日最大量

三、今日最高價距離20日最低價漲幅<7%

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

過去七年有7125個交易次數,一年平均有1000次,一天平均有50次,勝率65%,但平均報酬是0.02%。

意思是這種股票三戰幾乎 兩勝,但賺的都被交易成本吃掉了。

但如果我們再加上三個基本面條件:

一、近一個月營收年增率大於15%

二、累計營收年增率大於10%

三、每股營業額大於35元

那麼回測的結果就會如下圖:

交易次數剩461次,MDD 很小,收益率曲線非常平滑的由左下往右上。

推荐給大家,祝大家今天操作順利。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5h6cys

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

尋找阿爾發之旅系列26

關於基本面能打敗大盤的數據,我有發現,如果過去兩季毛利率平均成長達到兩位數以上,而且月營收創13個月新高,股價短期內上漲的機率是較高的。

我把這兩個條件拿來寫成一個選股策略後去回測過去七年,停損停利設為7%,回測報告如下圖:

這條件過七年符合條件的有15211次,長期績效遠遠打敗大盤,顯示符合這種條件的股票,是具有超額報酬。

接下來就可以再加上其他有超額報酬的條件,來提升勝率或總報酬率。

例如加入先前介紹過的N日來籌碼柀收集,

加入N日來籌碼被收集的腳本:

input:period(20);
value1=GetField("分公司賣出家數")[1];
value2=GetField("分公司買進家數")[1];
if linearregslope(value1,period)>0
//賣出的家數愈來愈多
and linearregslope(value2,period)<0
//買進的家數愈來愈少
then ret=1;

 

 

回測報告如下圖:

這是不追求高勝率,但追求高報酬的作法。

或是加入暴量剛起漲的腳本:

 Input: day(20,"日期區間");
Input: ratioLimit(7, "區間最大漲幅%");

Condition1 = C=highest(C,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

Ret = Condition1 And Condition2 And Condition3;

 

 

 

 

 

 

回測報告如下圖:

這則是追求高勝率穩定報酬的作法。

總之,連續兩季毛利率有明顯成長,且月營收創13個月新高,的確是一種很值得觀察的現象。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5h42wq

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

尋找阿爾發之旅系列25

成長股是市場的最愛,大家都想找到倍數成長的股票,所以像是低軌道衛星,電動車,生成式AI,愈新奇的愈好。 反向思考,如果獲利一直很穩定,但也沒啥爆發力的公司,股價如果離目標價很遠,遠到連大股東跟法人都來撿便宜,會不會是短線上的好買點?

今天這一集就來分享這個短期高機率上漲的選股策略。

我寫了以下的腳本來描述獲利穩定,無爆發力,計算其目標價,然後找出當前股價離目標價很遠的股票:

var:tp(0);

if highest(GetField("每股稅後淨利(元)","Y"),7)
-lowest(GetField("每股稅後淨利(元)","Y"),7)<1.5 
and trueall(GetField("每股稅後淨利(元)","Y")>1,7)
//每年EPS差距不大且每年賺錢
then tp=GetField("每股淨值(元)","Q")+
average(GetField("每股稅後淨利(元)","Y"),4)*7;
input:rate(40,"折價比率");
if close*(1+rate/100)<tp 
then ret=1;
outputfield(1,tp,1,"目標價");
outputfield(2,tp/close-1,1,"折價率");

 

 

 

這裡是挑出過去七年,最高EPS與最低EPS相差不到1.5元,且每年EPS都>1元的股票。

目標價是用每股淨值+過去四年EPS平均值乘以7

如果目前股價離目標價折價超過五成,代表市場應該認為這檔股票短期沒啥爆發力,把資金轉向熱門股。

逆向思考,如果這時候大股東及投信都站在買方,代表目前的價位,法人及大股東都覺得太委屈了。

這裡我用的大股東站在買方的腳本如下:

input: v1(500,"買超下限張數");
value1=GetField("關鍵券商買賣超張數","D");
value2=getField("關聯券商買賣超張數", "D");
value3=getField("地緣券商買賣超張數", "D");
if GetField("內部人持股比例","M")
>GetField("內部人持股比例","M")[1]
or GetField("大戶持股比例","W",param := 1000)
>GetField("大戶持股比例","W",param := 1000)[1]+0.5
or value1>=v1
or value2>=v1
or value3>=v1
then ret=1;
outputfield(1,GetField("內部人持股比例","M"),0,"內部人");
outputfield(2,GetField("內部人持股比例","M")[1],0,"前期內部人");
outputfield(3,value1,0,"關鍵券商");
outputfield(4,GetField("大戶持股比例","W",param := 1000),1,"千張大戶比例");
outputfield(5,GetField("大戶持股比例","W",param := 1000)[1],1,"前期千張大戶比例");

 

 

 

 

另外投信站在買方我用的是近一日投信買超合計佔成交量0%以上。

根據上述條件及腳本組合成的選股策略,回測報告如下圖:

交易次數夠多,大家還有很大的優化空間,但這樣的思路與對應的策略,應該是OK的。

今天是聖誕節,祝大家聖誕節快樂,也祝大家操作順利。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.pse.is/5h2d78

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

 

尋找阿爾發之旅系列24

放量是市場老手挑股票常用的技巧,我發現,如果連續兩季營收成長超過兩成的股票,開始放量起漲,有很高的機率,後市看漲。

借用一個我同事寫的腳本來描述放量上漲。

Input: day(20,"日期區間");
Input: ratioLimit(7, "區間最大漲幅%");

Condition1 = C=highest(C,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

Ret = Condition1 And Condition2 And Condition3;

 

 

這腳本是去找今天的量跟價都創20天來新高,且過去20天高低點幅度低於7%。

再加上連續兩季營收YOY>20%的條件。

這樣形成的策略,回測過去七年,停損停利都設為7%,回測的結果如下圖:

這是一個完整度很高的選股策略,分享給大家,祝大家聖誕節快樂~

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5gtkpr

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

尋找阿爾發之旅系列23

投信買超是大家常常參考的數據,如果買超張數佔成交量一成以上,從回測看,有較高的機率後市看漲,如果結合價值型的一些衡量標準,往往會形成一個有超額報酬的選股策略。

投信一般買一檔股票,不能買超過當天成交量的一成,所以如果有一檔股票,投信買超佔成交量超過一成,意思是很有可能不止一家投信在買。

我利用這樣的概念,去回測過去七年當日買超>10%的股票,停損停利都設為7%,回測的結果如下圖:

這顯示投信買超>10%是有超額報酬。

我這個人生性保守,投信大買的股票,如果從價值投資的標準來計算,股價有被低估,這樣買起來就更安心,所以在設計濾網時,用的是價值型數據。

這裡我用的是企業價值去除以EBITDA,關於這個數據的說明,請參考這個連結

計算的公式及腳本如下:

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

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

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






 

 

這裡我用的標準是企業價值除以EBITDA要<5

另外再加上最近這兩年EPS都>0

這樣的回測報告就會變成如下圖:

從這個收益曲線來看,這個策略在市場還算OK時有超額報酬,但在空頭市場表現就不好,算是一個攻撃型的交易策略。

有興趣的朋友可以再進一步看看如何優化,這種法人大買價值型股的策略,我有好幾個,實戰的結果這樣的概念是OK的,之後再陸續跟大家介紹。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5gppxe

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)

 

尋找阿爾發之旅系列22

昨天提到這系列裡有不少篇,都是用不同的腳本,去尋找整理後剛轉強的股票,今天再以布林指標做例子,跟大家分享用布林指標來尋找整理後轉強的股票。

首先來找在整理中的股票,在布林指標中,是用布林帶寬小於N%來描敘整理格局:

input:length(20,"計算天期");
 input:width(1.5,"帶寬%");
 variable:up1(0),down1(0),mid1(0),bbandwidth(0); 
up1 = bollingerband(Close, Length, 2);
 down1 = bollingerband(Close, Length, -2 ); 
mid1 = (up1 + down1) / 2; bbandwidth = 100 * (up1 - down1) / mid1; 
if bbandwidth <width then ret=1;

其次我們用突破布林線上緣來形容股價轉強:

Input: Length(20), UpperBand(2);

SetInputName(1, "期數");
SetInputName(2, "通道上緣");

settotalbar(3);

Ret = close >= bollingerband(Close, Length, UpperBand);


 

 

 

兩個腳本合在一起,以下是過去七年停損停利都設7%回測的結果:

勝率高達70%,收益曲線算是夠平滑,唯一缺點就是總報酬率沒有非常的突出,我用了一些過濾條件想要找出提昇報酬率的方法,我試過各種方法,有的可以提高勝率,MDD也變小,收益率更平滑了,但因為交易次數變少了,總報酬反而降低了。

像是我加上累計月營收YOY大於5%這個條件,回測報告如下圖:

 

 

如果改成當月營收年增率大於0,回測報告如下:

 

用這個策略再次跟大家說明整理後轉強,真的是一個很值得留意的訊號,不同的腳本,差別在於整理的時間強短,以及轉強的定義差別,但概念的核心是類似的,大家可以根據這樣的思路,去找出您心目中更好的策略,祝大家今天操作順利。

===

● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5gm43n

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

● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)