Author Archives: 發財橘子

本益比位於五年低位區

前些日子,在網路上看到有人說,如果一檔股票回到五年來平均最低本益比的附近,往往就是該股的股價底部區。我試著寫了一個腳本來印證這樣的說法,經過一些調整,有打造出一個還算可接受的交易策略,來介紹給大家。

首先,先來找出股價接近五年來平均最低本益比的股票,我寫的腳本如下

value1=lowest(getField("本益比", "D"),200);
value2=lowest(getField("本益比", "D"),400);
value3=lowest(getField("本益比", "D"),600);
value4=lowest(getField("本益比", "D"),800);
value5=lowest(getField("本益比", "D"),1000);
value6=(value1+value2+value3+value4+value5)/5;
if getField("本益比", "D")<value6*1.1
then ret=1;

這個腳本的概念是找出200個交易日到1000個交易日,每隔200天作一個天期的最低本益比,然後除以五,算出其簡單平均,然後如果現在的本益比跟這個最低本益比已差距不到一成,就符合條件

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

這樣的江湖傳說,回測下來,還真的有一點可信度,勝率接近六成。

所以接下來是設計一些過濾條件了

我的想法是從基本面及籌碼面兩方面進行

一,基本面必須其月營收保持成長

二,籌碼面則是法人買超比重夠高

再過濾掉高價股,最後的選股策略如下圖

這裡我把成交量超過1000張的勾選拿掉了,因為我想以目前市場的成交量,沒啥道理一定得加上這個條件

 

下面是這個策略的回測報告

 

 

這樣的勝率及總報酬率都算是還可以接受了,當然各位可以再加以改造,把它設計的表現更好

毛利率及營收都成長的冷門股

我在挑股票時,非常喜歡留意那些毛利率創多年來新高的股票,特別是,如果毛利率創多年來新高,而股價淨值比仍然小於1時,那就有可能找到一檔基本面可能有了明顯的改善而股價依然還算便宜的個股。

這樣的公司,如果每股營收夠高,毛利率的提昇,就能明顯反應在EPS上,也就能反映在股價上。

其次,為了避免挑到在景氣頂峰的景氣循環股,所以我加上了月營收年增率大於10的過濾條件。

另外我再加上成交量小於1000張的條件,因為這種業績可能有轉機但股價淨值比不到一倍的公司,應該是乏人問津的冷門股比較有可能。

下面是符合這些描述的選股條件:

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

這是一個勝率有接近7成的選股策略,也有不錯的總報酬率,有興趣的朋友可以再加以延伸成自己的私房策略。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

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

月營收創近年新高

這個策略是去尋找月營收創五年來新高,且代操資金進場,大股東站在買方的個股,這是典型基本面與籌碼面同步的作多策略

怎麼寫呢?  先來處理基本面

系統有一個月營收創N期新高的腳本

input:N(60); setinputname(1, "期別");

SetTotalBar(3);

if GetField("月營收", "M") >= Highest(GetField("月營收", "M"),N) then ret=1;

SetOutputName1("月營收"); 
OutputField1(GetField("月營收", "M")); 




 

 

 

再來是用下面的腳本來確定營收是最近的一期

value1=getFieldDate("月營收", "M");
//取得月營收日期
value2=datevalue(date,"M");
//取得最近一根K棒的月份數值
value3=datevalue(value1,"M");
//取得月營收日期的月份數值
if value2-value3=1
//如果K棒月份數值比公佈的數值差一
then ret=1;
value4=getField("月營收", "M");
value5=getField("月營收月增率", "M");
value6=getField("月營收年增率", "M");
value7=getField("累計營收年增率", "M");
outputfield(1,value4,2,"月營收(億)");
outputfield(2,value5,0,"月增率");
outputfield(3,value6,0,"年增率");
outputField(4,value7,0,"累計年增率");
outputfield(5,value1,0,"月份");

再來就是再加上籌碼面的條件

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

 

這個策略在大多頭市場時,表現的很好。

大跌後的多頭執帶

在K線型態中,大跌後的多頭執帶,算是勝率蠻高的一種交易訊號。

先前有跟大家分享過,我寫過一個kbpattern函數,用來呼叫幾個常用的多頭K線型態,其中就包括多頭執帶這個型態

它的腳本如下

[檔名:] 多頭執帶 75[說明:] 開在最低點一路走高收在最高點附近的K棒

condition20=close>open;

condition21=(Close-Open)>(high-low)*0.9; condition22=Close>Close[1]+high[1]-low[1]; 

IF condition20  and condition21  and condition22 

THEN  bkpatterm="多頭執帶";

 

完整的說明請看這篇文章

所以根據這個腳本,我就可以寫出以下的選股策略

if bkpattern="多頭執帶"
and close*1.283<close[30]
then ret=1;

這個腳本再加上收盤價小於30元的條件後,去回測過去七年,停損停利都設為7%,回測報告如下圖

這個策略的勝率跟總報酬率都蠻好的,就是MDD大到無法接受,在系統性風險存在時,就必須先停用這個策略,在空頭市場的末期,則會有很棒的投資績效

平台整理後突破

今天來介紹一個平台整理後突破的型態選股,這個策略有著長期穩定的報酬率,空頭市場交易機會變少,且維持一定勝率,所以MDD很小,大家可以根據這樣的概念,開發自己專屬的平台整理突破的交易策略。

首先得先跟大家交代一下我寫的腳本:

input:Period(20, "平台區間");
input:ratio(7, "整理幅度(%)");
input:ratio1(3,"各高點(低點)間的差異幅度");
variable:h1(0),h2(0),L1(0),L2(0);

h1=nthhighest(1,high[1],period);
//找出區間最高點
h2=nthhighest(4,high[1],period);
//找出區間第四高點
l1=nthlowest(1,low[1],period);
//找出區間最低點
l2=nthlowest(4,low[1],period);
//找出區間第四低點

if (h1-l1)/l1<=ratio/100
//區間最高點與最低點差距小於7%
and (h1-h2)/h2<=ratio1/100
//區間最高點與第四高點間差距小於3%
and (l2-l1)/l1<=ratio1/100
//區間最低點與第四低點間差距小於3%
and close crosses over h1
//收盤價突破區間高點
and close[period+30]*1.1<h1
//整理前的第30天收盤價已有一定漲幅
and volume> average(volume,period)
//成交量大於區間均量
then ret=1;

 

每一行我都有把意思寫在該行下面,這個腳本是專找之前有漲過,從波浪理論來看,是已經完成第一波,然後接下來的第二波是以盤代跌,在過去20天裡,最高點與最低點相距不到7%,然後最近一個交易日突破區間高點,要開始走第三波主升段。

我拿這個腳本去回測過去七年,停損停利都設為7%,回測的結果如下:

1594次的交易次數,六成勝率,-14.5%MDD,這個選股策略在沒有加上任何的過濾條件,就有這樣的表現,這如果是在武術界就算是練武奇材了。

我特別回測過去一年,看看在空頭市場能否保持一樣的勝率,回測報告如下:

結果還有172個交易訊號,MDD是-20%,勝率還有65.7%,所以那位高手說的沒有錯,盤整後走主升段的股票,在空頭市場還是可以做的。

那麼接下來就是再加上其他的過濾條件。

我這裡加的是董監持股超過四成這個條件,原因是我認為這種大股東高持股的公司,如果走多頭趨勢時,比較能夠一波接著一波,所以組合起來的選股策略如下:

 

用這個選股策略的回測報告如下圖:

 

MDD只有6%,勝率是66%,算是三戰兩勝的策略。

大家可以自行調整您的過濾條件,發展出自己專屬的整理突破型交易策略。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

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

長期不受青睞,但投信開始買超

我師父當年曾跟我們說,反常必有妖,像是長期沒有成交量的股票開始有量,大盤下跌時創波段新高的個股,明明是淡季營收卻創歷史新高的公司,這些都是反常必有妖的例證,我根據這樣的思維,寫過蠻多的選股策略,今天就來跟大家分享一個很簡單但勝率蠻高的概念,這個概念是,如果一檔長期無人青睞且股價下滑的個股,竟然有投信會買進,應算就算是典型的反常必有妖
這個選股策略不用寫程式,在 #XQ選股中心 用選股條件就可以組出來,選股條件我放在附圖,這個策略的概念就是去找那些近一個月股價有明顯修正,且投信持股不多但開始買進的個股
選股條件如下

回測的結果如下

 

產業上中下游都突破月線

先前有跟大家分享我們透過個股的營運結構,把一檔股票的上游、同業及下游公司的股票,都編制成價格波動型指數,然後讓大家可以在【XQ選股中心】拿這些欄位來撰寫腳本。今天來跟大家介紹一個用這些數據寫出來的選股腳本。

先跟大家介紹這個腳本:

value1=GetField("上游股價指標","D");
value2=GetField("同業股價指標","D");
value3=GetField("下游股價指標","D");
var:count(0);
count=0;
if value1 cross over average(value1,20)
then count=count+1;
if value2 cross over average(value2,20)
then count=count+1;
if value3 cross over average(value3,20)
then count=count+1;

if count>2 then ret=1;

 

這個腳本是去計算一檔股票的上游股價指標,同業股價指標及下游股價指標,有多少個突破月線,例如上面是超過兩個,那就是三個都突破月線。

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

 

勝率是接近3戰2勝,長期打敗大盤,MDD是-16%,交易次數又多,而且空頭市場出的訊號少,進可攻退可守,算是一個不錯的選股策略,大家可以再進一步優化它。

例如我加了一個週漲幅小於3.5%的條件,回測的勝率馬上站上七成:

 

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

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

不知名買盤力量突破盤整區

我同事寫過一個腳本,尋找那些盤整後剛創新高且在盤整期間投信或外資賣超的個股,同事的想法是,如果法人站在賣方都能突破盤整區,那就代表最大賣壓被化解了,後市應該有高點。

他列出來的選股條件如下:
1. 連續5日成交量>500
2. 創盤整高點
3. 收盤接近今日高+收盤創8日高點+前日收黑K(%)
4. 股本<200億
5. 投信/主力累積至昨日為賣超

他寫的對應腳本如下

 

Input:RangeRatio(0.03),SPeriod(8); 
Var:KeyKBarLow(0),KeyKBarHigh(0),KeyKBarDate(0),KBarOffset(0); 
// 計算 

// 選股條件 
// 連續5日成交量>500 
Condition1=average(V,SPeriod)>500; 
// 創盤整高點 
Condition2=(Highest(H[1],Speriod)-Lowest(L[1],Speriod))/Lowest(L[1],Speriod)<=0.05 
and H=Highest(H,21); 
// 收盤接近今日高+收盤創8日高點+前日收黑K(%)
Condition3=(H-C)/C<=0.01 
and C>=Highest(H[1],Speriod)
and (C[2]-O[2])/O[2]<-0.01 ;
// 股本<200億 
Condition4=GetField("股本(億)","D")<200;
// 投信/主力累積至昨日為賣超
Condition5=summation(GetField("投信買賣超","D")[1],SPeriod)<0 or summation(GetField("主力買賣超張數","D")[1],SPeriod)<0;

Condition100=Condition1 and Condition2 and Condition3 and Condition4 and Condition5; 

// 篩選 
If Condition100 Then Begin 
Ret=1; 
End;

 

 

 

以下是過去七年停損停利設7%的回測報告

 

我收到這個腳本之後,想說如果法人賣散戶也賣還能創新高那才神,所以就再加上一個條件:融資餘額創8日新低

加上這條件之後,回測報告如下

 

 

雖然交易次數很少,但方向應該是對的,有興趣的朋友可以根據這個想法,發展出自己的私房策略。

 

 

 

 

大跌後的多頭母子

我先前有把一些常用的K線型態,寫成一個函數叫作bkpattern,今天來用大跌後的多頭母子線,來跟大家介紹如何用語法來描繪K線型態,並且之後可以很方便的取用。另外這個策略的勝率蠻高的,還蠻值得大家參考。

首先,先跟大家介紹什麼是多頭母子

多頭母子的重點在於昨天是一根中長黑,今天低天比昨天的低點高,今天的高點沒有過昨天的高點,但今天是一根中長紅的K棒

我先前有把這個K線型態,寫進一個叫bkpattern的自訂函數中,

詳細的腳本及自訂函數的步驟說明在這篇文章

接下來我就用這個自訂函數來寫大跌後的多頭母子這個腳本

if bkpattern="多頭母子"
and close*1.283<close[30]
and close*1.728>close[30]
then ret=1;

這個腳本就是挑出大跌後這兩個交易日呈現多頭母子型態的股票,

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

勝率達到77%,在這一波走勢中優於大盤,有興趣的朋友可以參考這樣的寫法,找出大跌後要特別注意的K線型態

 

上游價格指標空翻多

在【XQ選股中心】中,我們有嘗試運用我們公司自己維護的產業關聯數據,試著產生一些在選股上有幫助的獨特數據,今天來介紹一個透過這些數據所打造的選股策略。

這裡我們使用的是一個叫作上游股價指標的數據,這數據是把每家公司的上游供應商,包括國內及國外的公司,組成一個以2004年一月一日為基期100的股價波動指數,這個指數上漲,代表這檔股票的上游股價在上漲,反之則是下跌。

我想要挑的是那些公司上游股票的股價從下跌剛轉為上漲的股票,原因是台灣有蠻多公司是處於供應鍊的中游,當上游產品的價格下跌時,會有原料庫存的跌價損失,但當上游產品價格上漲,中游有著較低價的原料庫存,但往往售價已經隨著上游的調漲而跟著漲價,這樣毛利率就會好轉。

其次,當景氣不好時,下游的需求回升時,中上游會先清庫存,這時候業績就會上來,反之,等到上游感受到中下游叫貨明顯下降時,代表整個景氣真的要下來了。

而這些變化,都會反映在上游公司的股價上。

所以我就去尋找那些上游股價從長期下跌變成短期上漲的股票。

我寫的策略如下:

我用這個策略去回測過去七年,停損停利都設7%,回測報告如下圖:

勝率很高,達到76%,總報酬也長期領先大盤,只是在景氣循環主升段時,會比較挑不到股票。

未來XQ會嘗試把一些我們覺得對大家寫成策略會有價值的獨特數據,持續加到選股中心這個平台。

===

● XQ【盤後量化選股模組】($1,000) 六大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】➤https://utm.to/48q5pr

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