Author Archives: 發財橘子

尋找阿爾發之旅系列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)

 

 

尋找阿爾發之旅系列21

投信第一天大買這個現象,從回測中發現,原本投信持股不到500張,但最近一個交易日投信買超佔成交量超過兩成,是一個有不錯勝率的條件。今天來跟大家討論這個現象,以及衍生出來的交易策略。

根據上述的條件,我原本寫的腳本如下:

腳本

input: v1(500, "投信估計持股上限(張)");

value1=GetField("投信持股","D");
value2=GetField("投信買賣超","D");

if value1 < v1 and value2 > VOLUME*0.2
then ret=1;

 

過去七年,跑所有普通股,停損停利都設為7%,回測報告如下圖:

如果放寬持股標準到1000張,加上價值型因子BP<1.5,回測報告如下:

這個策略的表現不差,但我一直對MDD有點介意。

所以在腳本上加上一行字,找出大買超是近期第一天的個股:

input: v1(500, "投信估計持股上限(張)");

value1=GetField("投信持股","D");
value2=GetField("投信買賣超","D");

if value1 < v1 
and value2 > VOLUME*0.2
and barslast(value2 > VOLUME*0.2)[1]>100
then ret=1;


用這個腳本去回測,MDD小了一些,勝率也較高,但因為符合條件的股票變少,所以總報酬就變低了。

但這樣的收益曲線,其實是更令人安心。

不過要特別強調,這個腳本抗大跌的能力不高,也就是說,真的踫到市場重挫時,這個策略找到的股票,一樣會跌,要留意執行停損。

這也不難了解,畢竟投信如果可以更低價買到這些股票,是絕對不會追高的。

以上是今天跟大家分享的,我覺得有不斷重覆發生的高勝率現象,祝大家今天操作愉快。

===

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

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

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

尋找阿爾發之旅系列20

在這個系列的前面幾篇,常用到創期間新高這個條件,特別是整理後創期間新高這樣的現象,一般人都不喜歡追高,但我從回測中發現,整理後創區間新高的回測效果都不錯,我有發現嘉義幫及虎尾幫追漲停的股票,也有一些是屬於這一類的,今天就舉另一個選股策略來跟大家討論這個情況。

先讓大家看一張回測圖:

這是一個很典型的,有超額報酬的選股策略。

其中用到的腳本我列在下面:

input:day(10);
input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");
variable: difValue(0), macdValue(0), oscValue(0),Kprice(0);

settotalbar(100);
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
if absvalue((average(close,20)-close)/close)*100<2
//股價距離月線不到2%
and absvalue((average(close,60)-close)/close)*100<2
//股價距離季線不到2%
and close=highest(close,day)
//股價創10日高點
and macdvalue>macdvalue[1]
and macdvalue>0
and difvalue>0
then ret=1;


 

這個腳本要符合四大條件:

一、股價收十天最高點

二、股價距離月線不到2%

三、股價距離季線不到2%

四、MACD處於多頭架構中

用這個腳本去回測,回測報告如下:

這個策略的勝率達到68%,而且交易次數高達4464次,代表在停損停利都設7%的情況下,過去七年,出現這種股價與月線季線糾結後創十日新高的公司,是具有穩定的高機率上漲的機會。

因為交易次數蠻多,實戰的時候可能會過度交易,所以我設了幾個濾網:

一、收盤價小於50元

二、近一日三大法人合計買超達到成交量兩成以上

三連續兩年EPS都大於0.5元

這樣出來的回測圖就是最上面那一張。

濾網大家都可以自己設,關鍵的核心在於整理後創新高這樣的核心概念。

在這系列先前也有幾個腳本有類似這樣的概念。

像是上一期的CMI加上乖離率限制就有這樣轉強但還不到強弩之末的概念。

這系列最常拿出來搭配其他條件的暴量起漲腳本,三個條件中,也是有距離區間低點不遠且今日收盤創區間收盤最高價這兩個條件。

系列13中介紹的百日來第一次創百日新高,也是類似的概念。

這些腳本都證明了,整理後剛剛轉強,是一個很不錯的策略基礎。

如果再考慮其他條件,往往能形成一個可以實戰的交易策略。

有興趣的朋友,不妨自己嘗試設計看看。

祝大家今天操作順利!

===

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

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

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

 

尋找阿爾發之旅系列十九

用技術指標來追求超額報酬,是一項流傳已久的技術,我有位優秀的同仁用CMI市場波動指標來作這件事,效果蠻好,來跟大家分享他的作法。

先給大家看他寫的策略的回測圖:

接下來跟大家說明他的思路。

所謂的CMI指標,是用一段區間的最高價減最低價作為分母,用區間的收盤價差額當分子,然後再乘以100。

這個數字愈高,代表現在的收盤價離區間高點愈高,反之則是目前的股價愈接近區間的底部區。

其次,他也用到了乖離率這個指標。

所謂的乖離率,是以收盤價減去特定期間的移動平均作為分子,用特定期間的移動平均作為分母,再乘以100。

乖離率代表股價跟移動平均線的距離。

我同事發現,如果CMI近三天都在65以上,且6天的CMI移動平均超過81  但七天的乖離<4。

意思是股價離10天的高點很近,但這陣子都收接近區間高點,但股價還沒有噴發。

這樣的股價表現,作短多的時候會有不差的勝率。

以下是他寫的腳本:

Input:Period(10); 

Var:CMI(0),AvgCMI(0); 

// 計算 
CMI=100*(C-C[Period-1])/(Highest(H,Period)-Lowest(L,Period)); 
AvgCMI=average(CMI,6); 

// CMI趨勢向上 
if trueall(CMI>=65,3) and AvgCMI>=81 and Bias(7)<4

and Average(GetField("成交金額(億)","D"),5)>=0.2

then ret=1;




 

這腳本過去七年停損停利設7%的回測報告如下:

交易次數2200次且勝率有61.7%,代表這樣的作法確實有超過報酬。

接下來我同學加上收盤價小於50元及近一日三大法人買超大於5% 這兩個條件。

他說他覺得50元以下的股票如果法人也進場,在技術面上出現上述的情況,會有較大的機率短線還有續漲高間。

這就是最上方回測圖所有的條件。

要加上什麼條件,每個人的看法未必相同,像我就喜歡挑高毛利且低總市值的股票,所以我設的濾網是毛利率大於30%,且總市值<200億,回測的結果如下圖:

勝率還好,但總報酬很迷人,只是今年下半年績效不大優。

大家不妨試試,自己來設條件,找出您的私房策略。

===

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

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

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