Author Archives: 發財橘子

好股票平台整理後突破

平台整理後突破,意味著原本多空的均勢出現了決定性的變化,多頭終於突破了僵持不下的格局。

2018112601

以上圖為例,南帝原本在24.7到25.7之間盤整了超過30個交易日,終於有一天站上了26元,代表著僵持不下的僵局已經被打破。

我們可以用以下的腳本來代表來挑出平台整理後突破的股票

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
 and (h1-h2)/h2<=ratio1/100
 and (l2-l1)/l1<=ratio1/100
 and close crosses over h1
 and close[period+30]*1.1<h1
 and volume> average(volume,period)
then ret=1;

outputfield(1, h1, 2, "區間高點", order := -1);

這個腳本的概念是過去一段時間,最高點跟最低點之間差不到7%,第一高點跟第四高點之間差不到3%,第一低點與第四低點之間差不到3%。

單純符合這樣條件的股票很多,但只有在多空雙方的僵持是貨真價實的,是眾多勢力參與的,那麼突破才有意義。所以我再另外加上兩個選股條件

2018112602

如此一來,就可以挑出市值前800大,且ROE表現不錯,然後最近多空僵持的格局出現改變的股票。

我拿這樣的選股策略去回測過去三年,出場點設在20天之後,回測報告如下

2018112603

 

M頭的腳本怎麼寫?

M頭的腳本怎麼寫?

我自己的寫法如下:

value1=swinghigh(high,30,10,10,1);
//這段時間的第一轉折最高點
value2=swinghigh(high,30,10,10,2);
//這段時間的第二轉折高點
value3=swinglow(low,30,10,10,1);
//這段時間的第一轉折低點
value4=swinghighbar(high,30,10,10,1);
//第一轉折高點距離現在幾根BAR
value5=swinghighbar(high,30,10,10,2);
//第二轉折高點距離現在幾根BAR
value6=swinghighbar(low,30,10,10,1);
//轉折低點距離現在幾根BAR
if absvalue(value1-value2)/value1*100<3
//兩個高點差小於3%
and value6>value4 and value6<value5
//兩個高點中間有一個這段時間的低點
and value2=highest(high,100)
//第一個高點是長期以來的最高點
and close crosses under value3
//收盤價跌破這段計算時間的低點
then ret=1;

這個腳本是 假設整個M頭的形成需要30個交易日,用這個腳本是會挑到一些有M頭的股票,甚至是到頸線又反彈後再破頸線的股票,例如下圖

2018112301

拿這腳本去回測,基本是可以找出M頭的股票,至於能找出多少個,就看其中幾個參數怎麼設,這點請參考Swinghigh及swinglow函數的用法。

估值高折價股盤整後出量

我是一個很保守的人,對於一家公司的目標價,我頂多只願意出到每股淨值加上未來五來營業利益的折現值。假設有一檔股票每年本業都賺一塊錢,每股淨值10元,不考量折現率,這檔股票我認為合理的價位就是10+1*5=15元。所以像這樣的股票,如果跌到12元,那麼我就預期它的合理上漲空間是(15-12)/12=25%。它的折價率是(15-12)/15=20%。

所以在挑股票的時候,我當然是挑那些折價率愈高的股票,那就代表上漲的空間愈大,另一方面也代表下跌的風險應該比較有限。

基於這樣的原理,我寫了以下的腳本,來挑出在這種簡單的估值下,折價高的股票

input:ratio(30,"折價比例%");
value1=GetField("營業利益","Y");//百萬
value2=GetField("每股淨值(元)","Y");
value3=GetField("普通股股本","Y");//單位:億
value4=value1*5/100/value3*10;
//用最近一年營業利益乘以五當未來五年的獲利
//算出未來五年的每股淨值增加值]
value5=value2+value4;
//以目前的每股淨值加上上述數字即是公司內含價值
//(不考慮折舊的issue)
if close*(1+ratio/100)<value5
then ret=1;
outputfield(1,value5,1,"內含價值");
outputfield(2,close,2,"目前股價");
outputfield(3,1-close/value5,"折溢價情況");

這樣挑出來的股票,都是折價率高的,但為了怕挑出那些沒啥獲利的股票,這樣加上五年的每股營業利益也沒有啥意義,所以我就加上了EPS要超過0.5元這樣的選股條件。

 

但這樣挑出來的股票,還不見得要馬上進場,最好是等到這檔股票落底之後才進場,所以我就用以下的腳本來挑出那些估值高折價且過去一段時間處於盤整階段,然後現在開始出量上揚的標的。

Input: day(10,"日期區間");
 Input: ratioLimit(5, "區間最大漲幅%");
 
 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;

結合了這兩個腳本再加上EPS超過0.5的條件,就形成了一個估值高折價且股價盤整後上漲的選股策略,我拿這樣的策略去跑回測,持有期間是40天,停利是20%,停損是10%,其結果如下

2018112201

看得出來,這個策略在空頭市場還是不靈,多頭市場則還算穩定,總的來說,勝率還有六成。

這個策略還有一些調整的空間,例如得考慮未來五年獲利變化的方向,所以如果拿來用在裕融,中保等獲利穩定的公司,可能比較合適,但這樣的公司,估值的折價不會像上述腳本中折價70%這麼高,具體要作麼做,我也還在嚐試,有比較具體的結果,再來跟大家報告。

 

夠便宜且整理結束

昨天跟大家分享了夠便宜的好公司選股策略,今天跟大家分享的是夠便宜且整理結束的選股策略,昨天是融合基本面與價值型的選股法,今天則是融合價值型與技術面的選股法。

我的選股法裡包含了兩個腳本

一個是關於估值的

if GetField("本益比","D") < 10 and
 GetField("股價淨值比","D") <1.5 and
 GetField("殖利率","D") > 5 and
 GetField("營收成長率","Q") >0 
 
 
 then ret=1;

透過這個腳本,我們挑那些本益比低於10,PB低於1.5且殖利率大於5%的標的。

另一個 則是關於整理後帶量突破的

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天裡,震盪幅度小於7%,然後今天價量都創20日以來的最高點。

把這兩個腳本用and結合成一個選股策略

這個策略回測過去三年,出場點如果設40天之後,回測報告如下

2018112101

從回測報告可以看得出來,在多頭市場及多頭市場的回檔,這個策略基本上是OK的,但如果在空頭市場,則挑到的標的極可能只是在進行跌深後的反彈,之後還是會破底。所以在空頭市場使用這個策略挑到的股票,要用停損停利機制來保護。

 

好公司,夠便宜~David Dreman的選股方法

David Dreman是一位偉大的基金經理人,他最常被津津樂道的是2000年網路泡沬時,因為挑不到低PE的股票而績效大輸同業,最後當大家虧了一屁股的時候,他的基金績效還是維持在高檔。他之所以能夠維持好的績效,秘訣就是挑到好的公司,然後在股價夠便宜時進場。

所謂的好公司,就是公司達到一定的規模,而且不管ROE或是獲利成長率都優於其同業。

所謂的夠便宜,就是不管股利殖利率還是本益比,都夠低。

我根據他的方法,列出了一個選股的策略如下

2018111901

其中所用的預估本益比腳本如下

input:peuplimit(15,"預估本益比上限");
value3= summation(GetField("營業利益","Q"),4); //單位百萬;
value4= GetField("最新股本");//單位億;
value5= value3/(value4*10);//每股預估EPS
if value5>0 and close/value5<=peuplimit
then ret=1;

這腳本是拿最近四季的營業利益來估算來自本業獲利的本益比,我拿這個選股策略去回測過去三年,回測報告如下

2018111902

這個方法在過去三年大部份的時候都有很好的勝率,直到今年七月之後,才開始失效,過去三年,勝率還是接近三戰兩勝。

 

長期盤整後的資金流向轉正

在定選股策略時,那些長期盤整後發動攻勢的股票最受青睞。但很多技術分析都要等到股價創高了才能出現訊號,所謂量是價的先行指標,所以我們試著去尋找先前區間波動不大,但近幾日佔大盤成交量開始上昇的標的,看看能不能比其他訊號早一點挑到即將要脫離盤整的公司。

以下是我設定的選股條件

2018111205

其中包含了兩個腳本,分別如下

佔大盤成交量比開始上昇

value1=GetField("佔全市場成交量比","D");

SetTotalBar(5);

if value1[4]=lowest(value1,5) and 
 value1=highest(value1,5) and 
 close crosses above average(close,5)
then ret=1;

SetOutputName1("佔全市場成交量比(%)");
OutputField1(value1);

區間波動小於N%

input:n(10,"區間波動範圍%");
input:period(30,"區間長度");

if lowest(close[1],period)*(1+n/100)>highest(close[1],period)
then ret=1;

這個腳本挑出的好例子如下

2018111204

如果去回測過去三年,出場訂在二十天後,回測報告如下

2018111206

我檢視這個選股策略裡虧錢的交易,發現

1.如果在整理前已經大漲過一段的,失敗的機率比較高。

2.如果股價在出量時離整理的底部較近,也有可能一上去馬上踫到盤整區上面的賣壓而衝不過去。

3.如果整理的時間不夠長,之前又是下降趨勢,一下去就馬上踫到解套賣壓。

所以挑出來的股票最好再參照一下先前的走勢。

 

長期未破底後創新高的選股策略

長期未破底後創新高,是空方在長期無法越雷池一步後,多方終於奮力一撃,開始發動攻勢,這樣的選股策略,在空頭市場,因為大部份的股票都會創新低,所以基本上會出現的訊號就不多,由於大部份的選股策略,在空頭市場的時候,績效都不會好,這個策略就相對比較不會出現這樣的情況。

我設的選股條件如下

2018111203

其中長時間未破底後創新高的腳本如下

input:period(90);
input:percent(25);
setinputname(1,"未破底區間");
setinputname(2,"盤整區間漲幅上限");
condition1=false;
condition2=false;
value1=lowest(low,period);
if value1=low[period-1]
then condition1=true;
if highest(high[1],period)<=value1*(1+percent/100)
then condition2=true;
if condition1 and condition2 and close crosses over highest(close[1],period)
then ret=1;

另外我加了四個條件式選股,其中兩個是避免挑到短期大漲的股票,成交量則是考慮到長期大底後的創新高,應該是要帶量才比較合理,至於ROE要大於10%,則是希望挑的股票至少有一定的基本面。

我用這個選股策略去回測過去三年,回測報告如下

2018111202

過去三年一共出現102個交易訊號,其中接近六成是可以獲利出場。

我檢視那些虧錢的交易,發現那些先前已經有不小漲幅的股票,如果又靠一根長紅上攻創新高,後面失的率比較高,特別是有些賊股票主力是靠這樣的方式在騙線,所以應用這個策略出訊號時,要特別留意股票的股性及有沒有偷拉的情況。

回檔整理後的加速上漲

在技術指標中我們常用momentum(MTM)來衡量價格的動能,MTM的算法很爽快,就是今天收盤價減n日前的收盤價,一行搞定。

這個很簡單的算術算出來的指標,它代表的意義是什麼呢?
如果股價每天都漲1塊錢,MTM會是怎麼呈現? 答案是在0以上走平,每天都跌一元呢? MTM會在0以下,也走平,不漲不跌呢?每天價格都一樣, MTM當然會等於0
所以我們可以把MTM的不同形態整理成一個表格如下:
MTM走勢 意義
在0附近走平 股價不漲不跌
在0以上走平 股價每天漲,價差一樣,或是上漲的速度跟n日前一樣
在0以下走平 股價每天跌,價差一樣,或是下跌的速度跟n日前一樣
在0以上呈上升趨勢 股價以比原先更陡的方式上漲,或是股價止跌回升
在0以下呈下降趨勢 股價以比原先更快的速度下跌,或是股價作頭下跌
在0以上呈下降趨勢 跟n日前比起來漲速變緩
在0以下呈上升趨勢 跟n日前比起來跌速變緩

那如果把MTM再計算一次動能呢?那就可看出動能是在加速還是減緩

下面的腳本,就是在找大跌後動能在加速的標的

input: Length(10, "天數");

value1 = Momentum(Close, Length); 
value2 = Momentum(value1, Length);

if value2 crosses over 0 
and close[60]>close*1.1
then ret=1;

以下就是一個不錯的例子

g73

把這個策略應用在基金投資上的回測報告如下

g72

布林值指標翻多

布林值是很常被應用的技術分析工具,布林通道的的值是股價的移動平均線再加上N個股價的標準差。這個指標是來自於統計學的概念,統計學裡,變異數是把每一點到平均線的差的平方加總起來除以計算天數,這個數字愈大,代表股價的波動愈大。標準差則是把變異數開根號,統計學上教我們,如果股價的波動是屬於一種常態分配,那麼股價的波動範圍,有超過95%的機率會在正負兩個標準差之內。

所以如果布 林值的上下兩條線在收斂,代表波動幅度在變小,股價陷入整理,這時候如果股價創高,且突破均價,那就有可能是一個多頭的起點。

根據這樣的邏輯,所寫的腳本如下

condition1=false;
 
setbackbar(20);
input:length(20);
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 linearregslope(up1,10)[1]<0
and linearregslope(down1,10)[1]>0
and bbandwidth[1]*1.1<average(bbandwidth,20)[1]
and close crosses over mid1
and close crosses over highest(high[1],2)
then ret=1;

以下的例子,就是符合上述腳本的標的

g71

這個策略在基金投資的

回測報告如下

g70

 

 

 

葛拉罕的價值投資標的

巴菲特的老師葛拉罕,曾經訂過一個選股條件 :總市值小於流動資產減總負債的2/3

意思是,如果一家公司股價跌到總市值比流動資產減總負債還低,還且還低了不少,那麼這家公司如果以目前的股價全數買下來,光拿流動資產去還債後,還有剩。

當然如果一家公司股價跌的這麼慘,通常是因為虧錢,市場預先把未來會虧的錢扣掉了。

我實際上去回測這個選股條件在台灣到底靈不靈,結果發現勝率還真的不低,有四戰三勝的戰績。

我寫了一個選股腳本來選符合這個條件的股票

value1=GetField("流動資產","Q");//單位是百萬
value2=GetField("負債總額","Q");//單位是百萬
value3=GetField("總市值","D");//單位是億
if 2*(value1-value2)>3*value3*100
then ret=1;
if value3<>0 then value4=(value1-value2)/(value3*100);
outputfield(1,value4,2,"流動資產減負債佔總市值比");

我拿這個腳本去回測過去十年的歷史數據,出場是設在180天後,回測報告如下

2018110803

十年一共有253個進場機會,其中199次可以獲利出場勝率高達78%,單筆平均報酬率接近六成。

在多頭市場,這樣的標準很難挑到股票,但在空頭市場,這樣的公司就可能出現,所以空頭市場反而應該啟動這個選股策略,以下是目前符合這個策略的股票

2018110804

各位請從中間再去挑您覺得會有東山再起機會的個股,這種股票才是這個策略挑出來的股票裡,真正會讓您賺到大錢的標的。