Author Archives: 發財橘子

尋找阿爾發之旅系列十八

觀察市場,尋找各種特定條件,當股票符合這些特定條件,短線會有較高的機率上漲,是小弟我這些年每天的必修課,這系列講的內容,就是這些特定條件。

當初在尋找這些特定條件,有些是在很偶然情況下的意外發現,例如今天要介紹的這個條件: 主力在默默收集籌碼。

一開始我都是用主力買超幾天超過幾張這類的敘述,但效果並不穩定,後來發現:

如果近十天裡,買進家數比賣出家數少很多,且愈少愈多,可能是主力默默在吸納籌碼的徵兆。

於是寫出以下的腳本:

// 作多: 持有期間=10
//
input:period(10,"籌碼計算天期");

Value1=GetField("分公司買進家數","D")[1];
value2=GetField("分公司賣出家數","D")[1];
value3=(value2-value1);
//賣出的家數比買進家數多的部份
value4=average(close,5);
//五日移動平均
if countif(value3>50, period)/period >0.7
and linearregslope(value4,5)>0
then ret=1;

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

收益曲線穩定的領先大盤,勝率接近六成,交易次數超過1500次,完全符合我尋找的特定條件的標準。

接下來就是怎麼把這個條件搭配其他條件後變成一個可以拿來實戰的選股策略。

我對這種主力吸納籌碼的條件,通常都會加上價值型的選股條件,因為股價被低估且主力進場,算是這些年我在操作上常用的選股準則。

這裡介紹兩個不同的價值型條件。

第一個是加入pb<0.8這個條件,

回測報告如下圖:

 

另一個是加入市值營收比<1這個價值型的條件,回測報告如下圖:

這種透過當日買進券商分點數與賣出券商分點數的差異所衍生出來的條件,還有不少值得大家發掘的聖杯,有機會再跟大家作介紹,祝大家操作順利。

===

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

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

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

尋找阿爾發之旅系列十七

我們在尋找私房交易策略的過程裡,往往會因為覺得應該會不錯的想法,結果卻不如人意,莫氣餒,莫沮喪,老天爺有時候就是會跟我們開個小玩笑,把先前介紹過的這些因子加上去試試,伊人往往就在燈火闌珊處。今天就來跟大家介紹這樣的例子。

每次財報公佈後,我都會去找那些連續三季毛利率成長的股票,因為這代表公司的產品體質,經營效率,甚或是與上下游的議價能力在好轉中,這樣的好轉應該會最終反映在獲利及股價上。

以第三季的財報為例,就共有163檔股票符合這樣的情況。

但如果拿這個單一條件去回測,勝率才54%,報酬率也不如大盤,冒似是一個有道理的選股條件,但產生不了超額利潤。

我加設了月漲幅大於3.5%但小於10%的條件,找那些還沒在股價上有表現的毛利率成長股。

回測的結果勝率57%,總報酬109%,有比較好一點,但收益曲線無法每年創新高。

當我試了各種方法無效之後,我觀察到,這樣的公司之前股價沒有太亮眼的表現,可能要到法人或市場人士因著毛利率連三季回升而去研究這檔股票,然後才會出現暴量創波段新高的情況,接著才會有短多行情。

於是我就使用先前常用的暴量起漲腳本。

暴量剛起漲

腳本

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;

光是暴量起漲腳本的回測報告如下圖

交易次數非常多,小藍點也很密。

加上連續3季毛利率成長,回測報告如下圖:

勝率接近72%,收益曲線更平滑,已經是一個可以實戰的選股策略了。

單一因子,績效未必會好,但有意義的數據,往往需要搭配在特定的情勢下效果會更好,因子之間要怎麼搭,有時候是憑著對市場的觀察,之後有機會,再跟大家分享類似的例子,也祝大家找到自己超強的私房策略。

祝大家今天操作順利!

===

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

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

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

尋找阿爾發之旅系列十六

在尋找可以打敗大盤的因子過程中,我也會從學術界的文章裡偷概念,今天介紹的GVI指數就是一個例子。GVI是成長價值指數(GVI, Growth Value Index)的縮寫,是淡江大學土木工程系葉怡成教授的發明,他原本是用來挑長線股票,我發現如果這個指數是由低往上走,是一個蠻不錯的短多訊號。

關於葉教授及GVI指數,我是看這篇文章認識的。

當時我有照這個想法寫了一個腳本及介紹文章

後來我無意中發現,好像GVI指數如果由底部往上走,往往會是短多的機會,於是我寫了以下的腳本:

value1=GetField("股價淨值比","D");
value2=GetField("股東權益報酬率","Q");
var:GVI(0);
GVI=1/value1*(1+value2)*(1+value2)*(1+value2)*(1+value2)*(1+value2);
if gvi cross over 1.2 
then ret=1;

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

這樣的收益曲線及交易次數,顯示這個因子的確是可以打敗大盤,缺點是交易次數太多,MDD太大。

所以我用了其他因子當濾網。

加上總市值小於300億元,以及連續五年EPS大於0這兩個條件。

回測報告如下圖:

 

這樣勝率會提高到七成以上,缺點是總報酬率變低了。

我試著用另一個先前提過的因子: 大股東站買方。

回測報告如下:

勝率69% ,但總報酬高非常多。

在介紹了16個我認為可以打敗大盤的因子之後,這種多因子一起搭配運用的選股策略,是我在開發策略時常用的作法,朋友有興趣的話,也不妨試看看,不過千萬記得因子跟因子之間最好是完全沒有任何相關性。

我之後也會再不斷嘗試學界提出來的因子,若有不錯效果的,會再跟大家做介紹, 祝大家今天操作順利。

===

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

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

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

尋找阿爾發之旅系列十五

一般來說,營業利益率不差的公司,市值會比營收高一些,因為這樣的公司,同業如果想併它,往往會算說一年可以帶來多少業績,通常會抓個三年左右作為其合理的估值,也就是說,市值營收比的比值大約在3左右。

如果一家營業利益率不差的公司,市值營收比接近一比一,通常是因為公司的業績在衰退。

反之,如果公司累積營收在成長,且營業利益率蠻穩定,但市值營收比卻接近1:1 ,那可能就是短線上的一個機會。

根據這樣的概念,我訂了一個選股策略如下:

一、總市值營收比小於1.2

二、營業利益率大於5%

三、累計營收年增率大於5%

其中市值營收比小於N這個腳本如下:

value1=getField("總市值(億)", "D");
value2=getField("營業收入淨額", "Y");//單位:百萬
value3=(value1*100)/value2;// 總市值營收比
input:ratio(1,"總市值營收比");
if value3<ratio then ret=1;

 

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

這是一個長期可以打敗大盤且交易次數多達9800多次的選股法。

在這一系列中,我想找的數據都是單一或簡單搭配的條件就能打敗大盤,有穩定的收益曲線及夠多的交易次數,這個選股法是符合這個標準的。

代表符合這樣條件的股票,長期來看,短多是有一定的優勢的。

接下來從這些股票中,尋找最佳進場點。

這裡我用的是暴量起漲這個先前介紹過很有用的腳本:

 

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;

 

另外我把市值營收比的條件設的更嚴  ,必須<1。

回測的結果如下圖:

勝率達到68.5% 且交易次數289次。

這一系列我會持續尋找這類概念單純的選股條件及進場時機,大家可以使用這些概念作為基底,再根據個人的經驗加上各種濾網,尋找最合適您自己的交易策略。

===

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

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

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

尋找阿爾發之旅系列十四

有些因子長期表現非常穩定的領先大盤,回測起來,收益曲線穩定的成長,有些則是多頭市場表現會非常突出,平常勝率一般般,今天要跟大家介紹的散戶持股比例急遽降低就是屬於這一種。

所謂散戶持股比例急遽降低,我的定義是用集保每週六一早公佈的數據,去計算出上週五個交易日,持股佔10張以下的股東總持股,佔股本比例在一週之間降低超過20%。

這樣的條件,比較適用在那些總市值較低的個股。

所以加上總市值低於200億元的條件。

下面這張圖是過去七年,如果停損停利都設為7%,用上述的條件去回測的結果:

大家會發現,勝率其實不算高,但報酬率蠻好的。

而且收益曲線都是在行情好時有很不錯的表現。

其實這蠻合理,因為市場氣氛好散戶通常不會賣,散戶在多頭市場佔股本比例降低,表示市場有大咖的在收。

但空頭市場散戶賣股票很合理,所以散戶持股比例大跌,未必代表股票就會漲。

於是我寫了一個大盤走多頭的腳本:

value1=getSymbolField("tse.tw", "收盤價", "D");
if value1> average(value1,22)
then ret=1;

用加權指數佔在月線之上,作為上述策略的過濾條件,回測的結果變成如下圖:

交易次數變少,但總報酬率變的更大。

當然這樣的策略還是不能實戰,但至少讓我們得出一條rule: 市場走多頭時,如果小市值股票前一週散戶佔持股比例急遽下跌,是個值得留意的訊號。

至於要如何能改寫成一個勝率夠高,可以實戰的策略,小弟也還在嚐試中,如果有成果,再跟大家報告。

祝大家操作愉快,也祝大家週末愉快!

===

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

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

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

 

 

 

 

尋找阿爾發之旅系列十三

創百日新高被市場不少人視為一個多頭訊號,實際回測的結果,多日來第一次創百日新高,的確有一定的參考價值,特別是再加上其他基本面的條件,可以帶來長期穩定的獲利。

創百日新高的腳本如下:

if close=highest(close,100)

then ret=1;

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

如果把這個腳本改成是近一段時間以來第一次創百日新高的話,

腳本如下:

if close=highest(close,100)
and barslast(close=highest(close,100))[1]>60
then ret=1;

 

回測報告就如下圖:

這裡我用的參數是60個交易日以來第一次創百日新高。

從收益曲線來看,這樣的條件的確是可以帶來穩定且優於大盤的報酬率,不過交易次數很多,有進一步優化的空間。

於是我加上其他條件,包括市值要適中,毛利率高於15%,月營收年增率達兩位數,以及PB要夠低。

然後回測報告如下圖:

這已經是一個可以長期拿來應用的選股策略了。

有興趣的朋友再從您對市場的觀察,以此為基礎,打造您認為最佳的創百日新高策略。

===

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

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

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

 

尋找阿爾發之旅系列十二

繼昨天談MACD之後,今天來談KD,KD在高檔一般都認為不宜追高,但如果均線剛轉成多頭排列,這時候就算9K大於80,都還是值得留意,這種把KD與均線合起來看,找尋多頭架構剛又轉強股的作法,有蠻穩定的勝率及超額報酬。

這個我從網路上看來的觀點,寫出來的腳本如下圖:

variable:rsv1(0),k1(0),d1(0);
stochastic(9,3,3,rsv1,k1,d1);
condition1=false;
value1=average(close,5);
value2=average(close,20);
value3=average(close,60);
if linearregslope(close,5)crosses over 0
//近五日趨勢線剛剛由下跌轉成上漲
and linearregslope(value1,5)>0
and linearregslope(value2,5)>0
and linearregslope(value3,5)>0
//週線,月線及季線的斜率都是正的
and k1>80
//9K大於80
then condition1=true;

if condition1
and barslast(condition1)[1]>10
//近10日第一次符合上述條件

then ret=1;

 

最近其中一個符合這個腳本的股票是官田鋼   ,它的K線圖如下圖:

這個腳本去回測,一樣是跑所有普通股,停損停利都設為7%,回測報告如下圖:

勝率61%,交易次數3785次,顯示這是一個常見的可以打敗大盤的情況,大家可以搭配其他條件,變成自己的私房選股策略。

例如我加上因子投資常用的貝他值跟總市值夠低的條件,回測結果就變成下圖這樣:

 

有興趣的朋友可以自己再進一步做調整。

===

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

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

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

尋找阿爾發之旅系列十一

昨天跟大家有談到,可以把XQ量化交易平台是21世紀的技術分析,今天舉MACD這個老牌技術指標的應用來作例子。

我1989年入行,一開始是當外匯交易員,分析工具是OX圖跟技術指標,那時候用到的技術指標,像RSI是1978年6月由Wilder發明的,MACD也是在1970年代問市的,KD更早,是1957年發明的。

因為世界上第一部電腦是1946年才發明,第一部大量生產的個人電腦是1971年才問市,歷史最悠久的技術分析軟體MetaStock也是一直到1985年才上市,我1991年第一次接觸到Metastock,驚為天人,當年在ING銀行當外匯交易員時,都靠這個軟體作交易。

當年我們用這些軟體,也是透過各種公式計算出來的指標,尋找合適的進出場點,像是均線黃金交叉或是死亡交叉等等。

由於當年電腦運算能力有限,加上非價量數據取得的成本高,所以當年我們都是用價量來計算各種指標,後來到了元大證券後,會把TEJ的財報導進EXCEL跟價量資料作運算,但基本都是目測,憑感覺,真要寫回測,數據都不夠長,特別是當年的分點籌碼資料及三大法人的進出數據,也只能導出到EXCEL做簡單的計算。

但隨著科技的進步,我現在終於可以把MACD這種常用的技術指標,搭配其他條件,寫出我心目中理想的,可以打敗大盤的條件。

以下是我們優秀的同事,所寫出來的選股腳本。

這個腳本我稱之為盤整後MACD黃金交叉,共有三個條件:

1. 連續5日成交量>500
2. MACD黃金交叉且OSC愈來愈大
3. 90日最高與最低之幅度<10%

Input:SPeriod(5),LLPeriod(90); 
Input:FastLength(12),SlowLength(26),MACDLength(9); 
Var:difValue(0),macdValue(0),oscValue(0); 
// 計算 
MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue); 
// 條件 
Condition1=trueall(V>500,SPeriod);//1. 連續5日成交量>500 
Condition2=oscValue>0 and oscValue[1]<0 
and oscValue[1]>oscValue[2] 
and oscValue[0]>-oscValue[1];
//2. MACD黃金交叉且OSC愈來愈大 
Condition3=absvalue(100*(Lowest(L,LLPeriod)-Highest(H,LLPeriod))
/Highest(H,LLPeriod))<10;//3. 144日最高與最低之幅度<10% 
Condition99=Condition1 and Condition2 and Condition3 ;
// 篩選 
IF Condition99 Then Ret=1;

 

 

我在使用MACD黃金交叉這個指標時有觀察到,如果這訊號出現在長期盤整之後,且成交量有明顯的增加,比一般的MACD黃金交叉有著較高的勝率。

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

有蠻不錯的勝率,代表這樣的觀察是有一定的道理。

XQ量化交易平台的好處是,可以再加上其他如籌碼數據等非價量的欄位來一起運算。

所以我再加上近一日三大法人買超合計大於100張,回測報告如下圖:

 

這個選股法就很貼近我日常在看MACD黃金交叉時的考量方式了。

回測也這證明這樣的考量方式是有其道理的。

不過回測報告也突顯出,雖然勝率不錯,但總報酬率贏大盤不多,因為很多權值股符合這些條件,但常常是誤判的訊號。

所以我就再加上總市值<1000億的濾網,回測報告就有更好的報酬率了。

經過這樣的過程,我在應用MACD黃金交叉這個指標時會同時參考四個數據:

一、量

二、法人是否站買方

三、總市值不要太大

四、交叉前有一段盤整期

以上是今天跟大家分享的內容,祝大家今天操作順利。

===

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

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

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

 

尋找阿爾發之旅系列十

可能是豐XQ的名字愈來愈響亮,最近好幾家大型券商相繼成立了類似的專責單位,然後就吸引了更多的投資人接觸XQ量化平台,於是,最常被問到的一句話就是「這甘有效?」

我在回答這問題時,最常用的作法就是問他,你下決策前會看線圖,參考技術指標嗎?如果對方回答  Yes! or  Sure!,我就跟他說,XQ量化平台就是21世紀的技術分析!

今天在尋找阿爾發這系列的同時,舉個例子來跟大家說明,為何我說XQ量化平台就是21世紀的技術分析。

今天介紹的打敗大盤的因子是現金股利,這個因子學院派的論文裡用的次數頗頻繁,敝公司合作的學術機構也實證這個因子在台股是蠻有用的,於是我就寫了一個選股策略如下:

一、現金股利殖利率大於7%

二、連續2個月營收年增率都大於5%

第二個條件主要是避開今年比去年慘的公司

這個選股策略過去七年停損停利7%的回測報告如下:

效果是不錯的。

如果再加上先前介紹的大股東站在買方的那兩有條件,回測最近五年的報告如下圖:

這是一個可以加入實戰參考的交易策略。

因為股利殖利率高到連大股東都站在買方,的確是一個很符合投資邏輯的概念。

那麼這個概念是怎麼來的呢?請參考下圖:

以前我們看線圖用技術指標來挑股票,現在看到網路上有人提出一些有趣的見解時,我都會試著把計算出一個數值,然後把這個數字拿來畫線,搭配其他的指標或數據,看看有沒有不斷重覆發生的規則。

在1990年代的技術分析裡,到這邊我們就只能把這個規則記起來,每天把圖叫出來,從1101一直往下按,看看有那幾檔符合相關的條件。

XQ量化平台的功用是在於,你可以把你發現的規則寫成選股腳本或策略雷達,一方面可以回測,二方面是每天電腦自動把符合條件的股票呈現在你的面前。

如果你的策略很靠譜,或是你白天沒空盯盤,你也可以把它設成自動交易。

有些朋友說他不會寫程式,所以我們就把各種數據寫成指標,然後打造量化積木,讓大家從圖上得到的靈感,可以去量化積木裡組合對應的策略。

當然大家會說你們很多選股欄位沒有支援成指標?或是說量化積木可以組的條件不夠多?

Well,大家請用力許願,我們會持續充實這些條件,目標是只要對提高勝率有幫助的數據及條件,我們會一直增加下去。

我寫這個系列,目的就是把我跑過覺得有用的數據都跟大家報告一遍,節省大家摸索的時間。

以上報告   祝大家今天操作愉快。

===

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

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

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

尋找阿爾發之旅系列之九

學院派說估值的因子是有效的,他們通常用PB來當因子,我則嘗試了一個數字: 股價與合理價值之間的距離,今天就來跟大家介紹這個因子。

所謂的個股合理價值,就是去挑那些過往營業利益都很穩定的公司,然後以最近一年的營業利益為計算基礎 ,去計算未來十年獲利的折現值,算出每股折現值再加上每股淨值,就是每股合理價值,接下來就是計算目前股價與合理價值的比值。

下面是我同事,根據上述的概念所寫的腳本:

variable: idx(0), t(0);
input:r1(3, "假設未來十年營業利益年成長率");
input:r2(2, "未來十年平均年利率");
input:r3(100, "未來獲利折現合計淨值與市價比");

// 計算未來10年的營業利益折現值

value1=GetField("營業利益","Y"); //單位:百萬
value2=GetField("最新股本"); //單位:億
value3=GetField("每股淨值(元)","y");

value11 = maxlist(GetField("營業利益","Y"),GetField("營業利益","Y")[1],GetField("營業利益","Y")[2],GetField("營業利益","Y")[3],GetField("營業利益","Y")[4]);
value12 = minlist(GetField("營業利益","Y"),GetField("營業利益","Y")[1],GetField("營業利益","Y")[2],GetField("營業利益","Y")[3],GetField("營業利益","Y")[4]);

if trueall(value1>0,5) and (value11-value12)/value11<0.5 then begin
t = 0;
for idx =1 to 10 begin
t = t + value1 * power(1+r1/100,idx)/power(1+r2/100,idx);
end;

// t=百萬,value2=億,換成每股
value5 = t / value2 / 100;
value6=close/(value3+value5);

if value6<r3/100
then ret=1;
end;

outputfield(1, value5, 2, "估算每股營業利益");
outputfield(2, value6, 1, "市價/淨值比", order := -1);

下圖則是用這個腳本過去七年回測的結果:

早先有跟大家分享過暴量起漲是有阿爾發的,那如果把這兩個條件結合在一起,回測的結果如下圖:

交易次數少很多,勝率高蠻多。

我會陸續把這類單一因子就可以打敗大盤的各類因子都依序跟大家報告,至於您在使用上要用另外那些因子來作濾網,就看各位的交易風格及對市場的觀察心得了。

===

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

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

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