Author Archives: 發財橘子

股價低於平均股利法估值

市場有一種傳說,說如果股價在過去五年平均股利的16倍以下,就很可以注意它的抄底時機。 我優秀的同事寫了一個腳本,加上各種過濾條件,希望把這樣的想法落實成一個可以實戰的抄底策略。

他設定的條件有以下幾條:

一、股價低於平均股利的16倍

二、而且官股近期買超佔成交量的比重達到一定的水準

三、短期均線黃金交叉

四、成交量有出量,但沒有暴出太大量

五、過去五年合計EPS大於1元

六、最近兩個月營收成長

他的目標是找出勞退基金可能開始在抄底特定的價值型股。

他寫的腳本如下:

Input:SPeriod(10); 
Input:N1(5); 
Input:N2(16); 
Var:Amount(0),Ratio(0); 

// 計算 
Amount=GetField("官股券商買賣超張數","D"); 
Ratio=100*Summation(Amount,SPeriod)
/Summation(V-GetField("當日沖銷張數"),SPeriod); 
value1=GetField("股利合計","Y"); 
value2=average(value1,N1);

// 條件 

ConditIon1=C>Average(C,8)
and Average(C,8)>Average(C,8)[1] 
and l>l[1]*1.02; 
Condition2=Average(GetField("成交金額(億)","D"),10)
>=0.1 
and V<=2*average(V[1],5); 
Condition3=close<value2*N2; 
Condition4=Ratio>1; 

if Condition1 and Condition2 and Condition3 and Condition4 
Then Ret=1;

完整的選股策略:

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

 

===

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

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

股價低於歷年股價低點平均值

蠻多公司的大股東,對於自己公司的股價心目中都有一個絕不能跌破的馬其諾防線,這個防線可能是某次增資時的價格,可能是老板對員工的承諾,我們可以找出過去十年每年的最低價,然後算出這十年最低價的平均值,一旦股價低於這個數字,可能就是股價開始要接近大股東心目中的防線了

腳本

value1=(lowY(1)+lowY(2)+lowY(3)+lowY(4)+lowY(5)
+lowY(6)+lowY(7)+lowY(8)+lowY(9)+lowY(10))/10;
var: pr("");
if close<value1
then ret=1;

完整選股策略

把這個策略拿去回去過去七年,停損停利都設為20%,回測報告如下圖

股價遠低於證券價值

有一種抄底的方式是去計算一檔股票的證券價值,再比較股價是否遠低於證券價值。

證券價值的計算公式先算出企業總價值。

企業總價值是最近四季的來自營運的現金流量合計 乘上評價倍數再打八折(折現的概念)

這裡評價倍數市場上通常是用10倍。

算出企業總價值之後,(企業總價值-長期負債)/股本就是每股證券價值。

當股價遠低於每股證券價值就是股價可能超跌了。

 

 

腳本

value1=getField("來自營運之現金流量", "Q")+getField("來自營運之現金流量", "Q")[1]
+getField("來自營運之現金流量", "Q")[2]+getField("來自營運之現金流量", "Q")[3];
value2=getField("長期負債", "Q");
//以上單位百萬元
value3=getField("股本(億)", "D");//單位:億元

input:vm(10,"評價倍數");

value4=value1*vm*0.8;
//企業總價值

value5=(value4-value2)/value3/10;
//每股證券價值

input: discount(30,"折價率%");

if close<value5*(1-discount/100)
then ret=1;
outputField(1,value5,0,"每股證券價值");
outputfield(2,close/value5,2,"折價率");

 

完整選股策略:

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

 

===

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

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

股價低於歷年最低股價淨值比

每年股價淨值比最低值,可以說是當年度整體市場對該個股的評價最低值,如果是過去十年這個數值的平均值,可以說是長期下來,市場對該股評價最低點的共識值,一旦現在的股價淨值比低於這個十年低點平均值,而且營收還在成長,那就很有可能目前的股價是進到超跌區了。這個策略就是基於這樣的假設所發展出來的。

函數腳本:

SetBarMode(2);

Input: 
Series(numericseries), // 價格序列
Ago(numericsimple); // K棒相對位置,和序列引用定義相同,0表當年度、1表前一年...依此類推。

Var:
StartBar(0),
EndBar(0),
StartDate(0),
EndDate(0);

SetBackBar(260*Ago);

// 起訖日期判斷
StartDate=EncodeDate(Year(Date)-Ago,1,1); // 相對年度第一日
EndDate=EncodeDate(Year(Date)-Ago,12,31); // 相對年度最後一日

StartBar=GetBarOffset(StartDate);
EndBar=GetBarOffset(EndDate);
// 起訖K棒位置判斷
If Year(Date[StartBar])<Year(StartDate) Then StartBar=StartBar-1;
If Year(Date[EndBar])>Year(EndDate) Then EndBar=EndBar+1;

// 計算區間極限值
// 若判斷後之起訖時間不在範圍內(新股/資料異常):不顯示
If Year(Date[StartBar])<>Year(StartDate) or Year(Date[EndBar])<>Year(EndDate) Then 
AnnualLowest=0
Else
AnnualLowest=Lowest(Series[EndBar],StartBar-EndBar+1);



腳本:

value1=getField("股價淨值比", "D");
value2=(annuallowest(value1,1)
+annuallowest(value1,2)
+annuallowest(value1,3)
+annuallowest(value1,4)
+annuallowest(value1,5)
+annuallowest(value1,6)
+annuallowest(value1,7)
+annuallowest(value1,8)
+annuallowest(value1,9)
+annuallowest(value1,10))/10;
if value1<value2
then ret=1;

 

 

完整選股策略:

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

 

===

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

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

股價低於每股自由支配現金加淨值

每股自由支配現金的公式是:

(稅前息前折舊前淨利-資本支出金額)/股本

如果每股自由支配現金+每股淨值比股價還高,那就代表股價委屈了,如果比股價高很多,那就是股價超跌了,這個選股策略是去找出這種非常超跌的股票。

我寫的腳本如下:

value1=getField("稅前息前折舊前淨利", "Q");
value2=getField("資本支出金額", "Q");
value3=getField("股本(億)", "D");
value4=(value1-value2)/(value3*10);
//每股自由支配現金
value5=getField("每股淨值(元)", "Q");
if (value4*4+value5)>close*1.5
and value4>0
then ret=1;

outputfield(1,value4*4+value5,1,"每股淨值+自由現金");
outputfield(2,value4*4,1,"每股自由現金");
outputfield(3,value5,1,"每股淨值");

 

把這個條件搭配其他條件後的綜合選股策略如下:

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

這個策略的勝率接近八成,且交易次數蠻多的,不過通常都是在市場大跌之後,喜歡抄底的朋友還蠻可以參考的。

===

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

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

營收成長籌碼佳趨勢向上

每個月初,在營收公佈前後,如果今年累計的營收成長率夠高,且法人或主力買超,均線帶大量黃金交叉,代表這家公司的月營收依然是一個可以帶動買氣的因子,是短多值得觀察的標的

 

以下是根據上述精神寫的腳本

 
Input:SPeriod(3); 
Input:SMALen(5),LMALen(13); 
//每月初一到15之間
Condition1=dayofmonth(Date)>1 and dayofmonth(Date)<15; 
// 營收連續成長 
Condition2=GetField("累計營收年增率","M")>20
and GetField("累計營收年增率","M")[1]>20; 
// 相對大量 
Condition3=V>=Highest(V[1],SPeriod)*1.2; 
// 籌碼四選二(外資/投信/主力/控盤) 
Condition4=CCT_Chip(1)>=2; 
// 股本<100億 
Condition5=GetField("股本(億)","D")<100; 
// 均線黃金交叉 
Condition6=average(L,SMALen) Cross Over average(H,LMALen) ; 
// 個股條件 
Condition100=Condition1 and Condition2 and Condition3 and Condition4 and Condition5 and Condition6; 

If Condition100 Then 
Ret=1;

 

 

 

其中有一個函數的腳本如下

Input:Days(numericsimple);
Var:ChipCount(0);
ChipCount=0;
CCT_Chip=0;
If summation(GetField("投信買賣超"),Days)>0 Then 
ChipCount=ChipCount+1;
//Else 
//ChipCount=ChipCount;
If summation(GetField("外資買賣超"),Days)>0 Then 
ChipCount=ChipCount+1;

If summation(GetField("主力買賣超張數"),Days)>0 Then 
ChipCount=ChipCount+1;

If summation(GetField("控盤者買賣超張數"),Days)>0 Then 
ChipCount=ChipCount+1;

CCT_Chip=ChipCount;

 

 

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

 

勝率雖然不高,但長期可以貢獻穩定的報酬率

盤整趨勢化操作

我的同事發現,當一檔中型股,在盤整一段時間後,股價開始出現明顯的上昇趨勢,就會有短線作多的機會,他的作法是去計算一個短期區間裡,價格的波動情況,當近期沒有大漲大跌,且每天都是小跌小漲,一旦開始出量且股價突破近期高點的移動平均線時,後市往往有行情。

他寫了如下腳本

Input:n1(10),n2(4); 

Value1=absvalue(C-C[n1-1]); 
//近n日收盤價價差的絕對值 
Value2=summation(range,n1); 
//近n日價格差的總和

If Value1=0 Then 
Return 
Else 
Value3=Value2/Value1; 
//近n日波動區間總和除以價差
Value4=average(Value3,n2);
//取這比例的短期平均值
//---------------------------------------- 

// 盤整區間 
Condition1=Value4<=9 and Value4>0; 
// 強勢穿越均線 
Condition2=C Cross Over average(H,30) and C>O*1.01 and C*1.01>H; 
// 股本>12E 
Condition3=GetField("股本(億)","D")>12; 
// 個股條件 
Condition100=Condition1 and Condition2 and Condition3 ; 

//---------------------------------------- 
// 選股條件 

// 均成交金額>0.13E且非暴大量 
Condition101=Average(GetField("成交金額(億)","D"),4)>=0.13
and V<=1.8*average(V[1],5); 

If Condition100 and Condition101 Then 
Ret=1;

 

 

再加上其他條件

回測報告如下

算是一個MDD不大,穩定獲利的交易策略

 

盤整跳空法人買超股

蠻多人都喜歡那種盤整幾天後跳空上漲的個股,我同事發現,如果這樣的股票追高的買氣是來自法人,那麼短線上漲的機率就高很多。

要符合這種情況的個股,需要具備下列條件

一,近期呈現盤整格局

二,最近一個交易日開盤跳空向上

三,股本超過12億

四,法人買超張數佔成交量扣除當沖的張數比重要非常的高

以下是我同事寫的腳本

Input:SPeriod(2); 
Input:Len(12); 
Var:Amount(0),Ratio(0); 

// 計算 
Amount=GetField("法人買賣超張數"); 
Ratio=100*Summation(Amount,SPeriod)/Summation(V-GetField("當日沖銷張數"),SPeriod);

Value1=Highest(H[1],Len); 
Value2=Lowest(L[1],Len); 
//---------------------------------------- 
// 選股條件 

// 盤整區間 
Condition2=Value1<1.045*Value2; 
// 開盤跳空 
ConditIon3=O>1.015*H[1]; 
// 股本>12E 
Condition4=GetField("股本(億)","D")>12; 
// 個股條件 
Condition100=Condition2 and Condition3 and Condition4; 

//---------------------------------------- 
// 選股條件 

// 法人區間買超 
Condition101=Ratio>=1.8; 
// 個股條件(籌碼相關) 

// 篩選 
If Condition100 and Condition101 Then 
Ret=1; 


 

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

這是一個勝率及績效都算穩定的交易策略,大家可以再看看怎麼優化它

近期大跌且大股東積極買超的股票

大跌後,那些股票值得抄底? 我覺得大股東也跌到受不了,開始進場買的股票最值得抄底

根據這樣的想法,寫了以下的選股策略

 

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

 

這是一個有很高勝率且長期維持穩定報酬的交易策略

低本益比成長股

要挑低本益比的成長股,有一個方法是透過盈餘成長係數這個數據。

盈餘成長係數的公式是

本益比/盈餘成長率 *100%

盈餘成長率=(1-股利合計/EPS)*ROE

保留盈餘愈高,代表公司的股東權益愈高,乘上股東權益報酬率( ROE),就是保留盈餘所能創造出來的盈餘,也就是帳面上的盈餘成長率,本益比愈低,盈餘成長率愈高,盈餘成長係數就愈大,這樣的公司就愈具有投資價值

以下是我用盈餘成長係數所組出來的選股策略

 

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

這樣的策略有蠻不錯的勝率跟總報酬率,MDD也不到20%,推荐給大家。