Author Archives: 發財橘子

低價冷門股營收創新高

12月份的營收陸續公佈,來介紹一個以月營收為主軸的選股策略,我稱之為低價冷門股營收創新高。

這個策略挑出來的股票有幾個標準:

一、冷門。 例如近五日平均成交量小於1000張

二、營收表現很好。這個我用三個條件來作為標準

1. 月營收大於1億。 營收太小的公司創新高的意義沒有那麼大

2. 月營收創13個月來新高

3. 連續2個月營收年增率都大於零。避免因為業績落點差而造成假性創新高

三、低價。 例如收盤價小於50元

綜合以上五個條件,回測過去七年,停損停利設為7%,跑所有的普通股,回測報告如下圖:

勝率六成,總交易次數七千多次,代表這樣的方向去挑股票,有一定的參考價值。

有夠多的交易次數代表有很大的優化空間。

例如我會加上毛利率大於25%,每股營收大於20元這兩個條件,來找出營收創高對EPS貢獻較大的股票,然後再過濾掉營建股及金融股,回測報告如下圖:

 

 

這部份就請各位發揮創意了,祝大家今天操作順利。

===

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

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

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

 

 

過往不錯的公司落難時

要找抗跌的股票,可以找那些以往表現不錯,前陣子落難,但股價已有反映的公司。今天就來跟大家介紹我是怎麼挑這樣的公司。

首先我們先來定義什麼叫作過往表現不錯。

我同事寫了兩個腳本來作定義,

他的定義有以下幾條:

一、過去十年至少有八年有配現金股利

二、過去五年至少每年都配超過一元現金股利

這兩條的腳本如下:

value1 = GetField("現金股利","Y");
value2 = getfielddate("現金股利");

// 連續N年都有配股利
input: year_length1(8, "連續N年都有配股利");
condition1 = trueall(value1 > 0, year_length1);

// 過去N年配大於X元股利
input: year_length2(5, "過去N年配");
input: cash_threshold(1, "配至少X元");
condition2 = trueall(value1 >= cash_threshold, year_length2);




if 
condition1 
and condition2 
then
ret = 1;

outputfield(1, value1[0], 2, formatdate("yyyy", value2[0]));
outputfield(2, value1[1], 2, formatdate("yyyy", value2[1]));
outputfield(3, value1[2], 2, formatdate("yyyy", value2[2]));
outputfield(4, value1[3], 2, formatdate("yyyy", value2[3]));
outputfield(5, value1[4], 2, formatdate("yyyy", value2[4]));


三、最近一季營業利益率及毛利率跟過去幾年同期相比要維持成長

他寫了一個函數來作計算:

input: x(numeric, "季度");

settotalbar(30);

value1 = GetField("營業利益率","Q");

value11 = 0;
if value1[x] > value1[x+4] then value11 += 1;
if value1[x+4] > value1[x+8] then value11 += 1;
if value1[x+8] > value1[x+12] then value11 += 1;

ret = value11;

這個函數是來計算過去n季,有幾季是每一季的營業利益率都比去年同期高。

同樣的,他也寫了一個函數來計算過去n季,有幾季是每一季的營業毛利率都比去年同期高。

input: x(numeric, "季度");

settotalbar(30);

value1 = GetField("營業毛利率","Q");

value11 = 0;
if value1[x] > value1[x+4] then value11 += 1;
if value1[x+4] > value1[x+8] then value11 += 1;
if value1[x+8] > value1[x+12] then value11 += 1;

ret = value11;

有了這兩個函數之後,他寫了以下的腳本:

settotalbar(30);

input: score_threshold1(9, "營業利益率得分門檻");
input: score_threshold2(9, "營業毛利率得分門檻");

value10 = callfunction("過去三年營業利益率同季比較分數", 0);
value11 = callfunction("過去三年營業利益率同季比較分數", 1);
value12 = callfunction("過去三年營業利益率同季比較分數", 2);
value13 = callfunction("過去三年營業利益率同季比較分數", 3);

value19 = value10 + value11 + value12 + value13;
outputfield(1, value19, 0, "營業利益率得分");




value20 = callfunction("過去三年營業毛利率同季比較分數", 0);
value21 = callfunction("過去三年營業毛利率同季比較分數", 1);
value22 = callfunction("過去三年營業毛利率同季比較分數", 2);
value23 = callfunction("過去三年營業毛利率同季比較分數", 3);

value29 = value20 + value21 + value22 + value23;
outputfield(2, value29, 0, "營業毛利率得分");







if value19 >= score_threshold1 and value29 >= score_threshold2 then ret = 1;

 

在這個腳本裡,他用callfunction這個函數,去呼叫上述那兩個函數,然後去計算這幾季裡,營業利益率及毛利率是否有一定的季度,都優於前一年同期。

符合上述條件的公司,才符合過往表現不錯的定義。

接下來我們來定義什麼叫作落難。

他的定義有三個:

一、股價夠低。例如股價要低於30元

二、估值不高,例如本益比要小於8倍

三、現金股利殖利率夠高,例如要大於5%

最後他把上述所有條件組合成一個選股策略,就是所謂過去表現不錯,如今落難的股票。

下圖是這個策略,過去七年所有普通股,停損停利設為7%的回測報告:

這是一個很不錯的選股策略,分享給大家,祝大家今天操作順利。

===

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

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

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

 

創新高股能不能逆勢上漲?

我們今天來探討,創新高的股票,就算在空頭市場,能不能也可以逆勢上漲?

先來測一下創百日新高。

腳本如下:

if close=highest(close,100)
then ret=1;

 

回測報告如下:

看來在空頭市場依然表現沒有多好。

再來改成近60天以來第一次創百日新高:

這看起來就蠻抗跌的。

如果我們加上最近一個月營收成長率大於5%,回測報告如下圖:

 

 

勝率略增,但總報酬率穩定打敗大盤,且MDD夠小。

如果我們再加上毛利率高於15%的條件,回測報告如下:

報酬率更高,意思是在挑近六十日來創百日新高股票時,基本面蠻重要。

接下來我們再加上價值型的條件,設定股價淨值比要<1.5倍。

回測的結果如下:

總報酬率倍增,勝率也達到63%

最後,我想說如果基本面及價值標準真的會影響勝率及總報酬率,那麼我把毛利率的條件設嚴一點,設成20%以上,也把PB設嚴一點,設成1.3倍。

回測的結果如下圖:

經過這些試驗,我們可以說,基本面不錯,估值合理的股票,當股價60天來第一次創百日新高時,有不錯的勝率。

===

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

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

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

 

來自營運的現金流量創12季新高

今天要跟大家分享的八字的選股法,需要符合基本面、市場面及籌碼面合計六個條件。

基本面:來自營運的現金流量創近幾年新高,且目前月營收表現不差

市場面: 月漲幅不大,但量能在加溫中,股價沒有太高

籌碼面:代操體系明顯買超

這個選股法的核心是來自營運的現金流量創十二季新高,這代表公司的基本面有著脫胎換股的表現,來自營運的現金流量怎麼算出來的? 代表什麼意義? 可參考市場先生寫的這一篇

符合這個條件再加上月營收維持正成長,代表這家公司目前的基本面狀態是很不錯的。

這樣的公司如果月漲幅很低,代表近期股價並沒有反映其基本面的變化。

在這種情況下,如果成交量開始走高,且其主要買方來自代操或法人體系,那麼有可能是,市場終於回頭關愛這檔基本面有明顯變化的公司,根據這樣的思路,我寫的選股策略及對應的回測報告如下圖:

這個策略的特色是收益曲線很平滑,在空頭市場拉回的幅度也在可以接受範圍,挑出來的股票跟大盤走勢的相關性也較低,符合八字較硬的定義,大家可以試著再調整看看。

===

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

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

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

聚合理論在選股上的應用

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

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

這個理論叫作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)