Author Archives: 發財橘子

高殖利率股週線突破月線

昨天跟市場賢拜聊天,問了一下他的核心持股,全部都是高現金股利,且目前殖利率還算可以的公司,他說今年全球走向零利率甚至低利率,獲利穩定配息穩定的公司會受到青睞,我剛好有寫過一個策略,回去一試,近一年多來表現確實很不錯,跟大家分享。

選股腳本

這個選股腳本就是挑殖利率還有5%,過去五年每年股利都有超過兩元的,而且今年以來累計營收年增率還很強的。

警示腳本

input: Shortlength(5); setinputname(1,"短期均線期數");
input: Longlength(20); setinputname(2,"長期均線期數");

settotalbar(8);
setbarback(maxlist(Shortlength,Longlength,6));

If Average(Close,Shortlength) crosses over Average(Close,Longlength) then Ret=1;

這個股本是系統內建腳本,名稱是短期均線突破長期均線,我這裡用的參數是5跟20

回測報告

停損停利都設為7%,五年及兩年的回測報告如下

從回測報告來看,勝率是有三戰兩勝的水準,近兩年的績效比之前三年好,年平均報酬率有超過16%

顯示這兩年隨著利率水準的降低,卻時高殖利率的股票有特別受到青睞。

用系統內建價值衡量數據所衍生出來的交易策略

先前介紹過一個本益比低於10及市值營收比低於150%的價值型投資策略,有網友問到價值型投資的衡量工具很多,比較實用的有那些? 今天我想跟大家分享一個用PE,PB,殖利率綜合建構的交易策略。

 

選股策略

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


then ret=1;

這個選股策略是找出殖利率大於5%,而且本益比低於10且PB小於1.5但季的營收成長率還是向上的股票。

警示腳本

 Input: day(60,"日期區間");
Input: ratioLimit(14, "區間最大漲幅%");

Condition1 = H=highest(H,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

if Condition1 And Condition2 And Condition3
then ret=1;

警示腳本用的是常用的暴量剛起漲

以下是過去兩年及五年的回測報告,這裡停損停利都是用7%

年報酬率大約是11-12%,勝率接近三戰兩勝,MDD大了一些,但還在可忍受範圍

這個策略的概念是當股價被低估的公司股價開始暴量起漲時,往往是最佳的進場點。

 

 

 

 

大股票的交易策略

自從一系列介紹各種不同交易策略之後,有網友希望能提供大股票的交易策略,他說如果是小股票,一來不熟悉,二來怕流動性太差。所以我今天來跟大家介紹一個用在總市值前五百大公司的交易策略。

這個策略的選股策略就是用排行的功能找出總市值前500大的公司

警示腳本如下

variable:iHigh(0); iHigh=maxlist(iHigh,H);
variable:iLow(100000); iLow=minlist(iLow,L);
variable:hitlow(0),hitlowdate(0);
if iLow = Low then 
begin
hitlow+=1;
hitlowdate =date;
//觸低次數與最後一次觸低日期
end;

if DateAdd(hitlowdate,"M",2) < Date and//如果自觸低點那天1個月後都沒有再觸低
iHigh/iLow < 1.3 and //波動在三成以內
iHigh = High
//來到設定日期以來最高點
and average(volume,100)>500
and volume>1000
//有一定的成交量
then ret =1;

 

這個腳本的目標是找到那些繼續型態完成整理後的公司,也就是底部一段時間沒有破底而股價創了高點

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

MDD不到一成,年平均報酬率約12%,遠遠打敗同樣是以大型股為投資目標的0050

 

當好公司無量變有量就是好的進場時機

如果好公司開始出量往上走,應該就是個不錯的進場訊號吧? 這是同事提出來的觀察,我把這樣的想法形諸於交易策略,回測的結果,這兩年還蠻好用的,分享給大家。

 

好公司的選股腳本

value1=GetField("營業利益","Q");//單位百萬
value2=GetField("稅前淨利","Q");//單位百萬
value3=GetField("來自營運之現金流量","Q");//單位百萬
value4=GetField("資本支出金額","Q");//單位百萬
value5=GetField("利息支出","Q");//單位百萬
value6=GetField("所得稅費用","Q");//單位百萬
condition1=false;
condition2=false;
condition3=false;

if value2>0 then begin
if value1/value2*100>80
then condition1=true; //本業獲利佔八成以上
end;

if value3-value4-value5-value6>0 //自由現金流量大於零
then condition2=true;

value7=GetField("利息保障倍數","Y");
value8=GetField("股東權益報酬率","Y");//單位%
value9=GetField("營業利益率","Q");//單位%
value10=GetField("本益比","D");
value11=GetField("殖利率","D");
value12=GetField("每股淨值(元)","Q");
value13=value12*value8/8;//獲利能力比率

if value7>20 and value8>8 and value9>0 and value10<12 and value11>6 and close<value13
then condition3=true;

if condition1 and condition2 and condition3
then ret=1;

outputfield(1,GetField(“股東權益報酬率”,”Y”),2,”ROE”);
outputfield(2,GetField(“殖利率”,”D”),2,”殖利率”, order := 1);

無量變有量的警示腳本

 Input: day(60,"日期區間");
Input: ratioLimit(14, "區間最大漲幅%");

Condition1 = H=highest(H,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

if Condition1 And Condition2 And Condition3
then ret=1;

拿這個策略雷達去回測,停損停利都設為7%,回測過去三年,報告如下

 

MDD不到8%,平均一年約有20個交易機會,每年平均報酬率為19%

 

尋找代操資金在佈局的交易策略

昨天跟法人聊天,他們提到今年勞退一路釋出蠻多資金交給投信代操,所以如果投信代操體系看好的股票,往往會有一段漲幅,但這些代操資金的進出,不會出現在投信買賣超的清單中,由於代操體系的下單都在券商總公司的法人部,所以我用前十大券商總公司總體買賣超這個數字,來偵測代操資金的動向,然後把它寫成一個交易策略,今天就來跟大家分享這個勝率蠻高的策略。

這個策略的選股腳本如下

這個選股策略包括了兩個腳本

代操看上的股票

value1=GetField("綜合前十大券商買賣超張數","D");
value2=value1*close/10;//成交值單位萬元
if trueall(value2>2000,3)
and value2>10000
and close cross over average(close,10)
then ret=1;

EPS N年內至少有一年看到四元

input:a3(4,"EPS曾經到過的高點");
value1=GetField("每股稅後淨利(元)","Y");
if trueany(value1>a3,7)
then ret=1;

這樣的選股策略,下去跑回測,過去兩年的回測報告如下

如果時間拉的更長,回測三年,回測報告如下

這個策略如果把它改成策略雷達

選股的腳本可以修改如下

input:a3(4,"EPS曾經到過的高點");
value1=GetField("綜合前十大券商買賣超張數","D");
value2=value1*close/10;//成交值單位萬元
value3=GetField("每股稅後淨利(元)","Y");
if trueany(value3>a3,7)
and trueall(value2>2000,3)
and value2>10000
then ret=1;

然後策略雷達再使用收盤價突破十日均線的腳本即可。

 

高勝率價值型交易策略

大部份的人喜歡成長股,喜歡強勢股,喜歡熱門股,我長期把這些股票寫成腳本去回測後發現,多頭市場這樣的作法會賺錢,空頭市場時會大賠,所以要用這種方法,最好是具備看懂大盤多空大勢的能力,反倒是如果學價值型投資人,不管多頭空頭,只有在股票的價位跌到合理的估值水準時才進場,反而長期下來能維持穩定的勝率與獲利,今天就來跟大家討論一個還算蠻單純,但其實很穩健的交易策略。

一,選股策略

這個策略的選股條件很單純,就是本益比低於10  ,以及市值營收比低於150%。

二,觸發腳本

我用的是暴量起漲股的腳本

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;

把選股策略與觸發腳本結合成一個策略雷達,然後去作回測,如果我停損停利都設為7%,過去兩年與五年的回測報告分別如下

 

 

這樣的交易策略有不錯的勝率,比較大的缺點是報酬率不夠高

建議大家可以進一步的調整參數或再加上其他的濾網,這樣就能找到估值夠便宜且股價開始發動的股票。

從基本面出發的交易策略~ 十年寒窗股

在推廣XS交易平台的過程中,常常被問到XS跟Mutichart,HTS,Tradestation最大的差別是什麼? 我的答案是,這些產品博大精深,如果純粹用價量來建構交易策略,XS還有很長的路要走,但如果是聚焦在台股市場,XS可以拿來撰寫交易策略的數據,比這些產品要豊富的多。今天來跟大家介紹一個透過基本面與盤中價量所共同建構的交易策略,作為XS平台特色的一個例證。

 

我師父以前教我擬定觀察名單時,很重要的一個標準是市研率,也就是研發費用佔營業額的比重,師父說買股票是買未來,只有不斷研發新產品的公司才有未來。

其次是,研發的產品要有一定的獲利能力,如果公司屬於毛三道士,獲利能力很低,研發的成果所能轉換的稅後淨利就很有限。

當市研率夠高,本業的獲利率夠高,一旦營收開始成長,代表研發成果在變成實質的獲利。

這時候如果股價開始呈現暴量起漲的情況,往往就是一個進場的機會。

 

根據這樣的思維,我寫了一個交易策略

一,選股策略

如上面的說明,我的選股策略如下

這個腳本以最新的數據來計算,符合條件的有67檔,

 

二,警示腳本

這部份我用的是暴量剛起漲這個腳本

 Input: day(60,"日期區間");
Input: ratioLimit(14, "區間最大漲幅%");

Condition1 = H=highest(H,day);
//今日最高創區間最高價

Condition2 = V=highest(v,day);
//今日成交量創區間最大量

Condition3 = highest(H,day) < lowest(L,day)*(1 + ratioLimit*0.01);
//今日最高價距離區間最低價漲幅尚不大

if Condition1 And Condition2 And Condition3
then ret=1;

我把選股策略跟警示腳本結合成一個策略雷達,然後回測過往的績效,停損停利我都設為7%

過去二,五,七年的回測報告分別如下

 

 

 

這樣的交易策略,算是有通過時間的考驗。

我自己非常習慣透過這樣一個一個擬定的交易策略,讓電腦每天幫我在盤中跑出一些標的,這些策略不會只是單純透過價量所型塑,而是透過各種不同數據如籌碼,如基本面數據所打造而成,只要它有道理,回測的績效OK,我就會納入。

隨著時間的累積,我所擁有的,有不錯勝率的策略,會愈來愈多,我每天可以交易的標的及交易的機會,也就愈來愈多。

每個人都有自己的交易風格

而XS的好處就是讓我可以在這平台上不幾探索各種交易策略,並且慢慢累積成一套專屬的劍譜,面對起伏不定的市場,讓我可以見招拆招。

 

一個關於千張大戶的交易策略

坊間常有媒體或老師在介紹千張大戶這個籌碼數據,以及其所衍生出來交易策略,我想拋磚引玉,跟大家分享一個相關的交易策略,回測的結果勝率及年平均獲利率都不錯,大家可以像這樣的方式,發展出自己專屬的千張大戶策略。

我的千張大戶策略分成兩部份

一,選股策略

我的選股策略條件如下

不用寫程式,用大戶持股及主力買超這兩個數字來挑股票,因為大戶持股是週資料,週一公佈,週二到週五可以利用主力是否買超這樣的條件,來尋找那些主力持續在買進的股票

二,策略雷達

有了選股策略之後,我設定的盤中觸發腳本很簡單: 兩日均線突破十日均線

這個短期均線突破長期均線的腳本如下

input: Shortlength(2); setinputname(1,"短期均線期數");
input: Longlength(10); setinputname(2,"長期均線期數");

settotalbar(8);
setbarback(maxlist(Shortlength,Longlength,6));

If Average(Close,Shortlength) crosses over Average(Close,Longlength) then Ret=1;

只是把參數調為2跟10

所以這樣我們就可以完成一個包括選股及觸發時機的策略雷達

我這這個策略去回測,停損跟停利都設為7%

以下分別是兩年及五年的回測報告

 

交易次數不算多,一個月差不多兩次左右,但勝率還不錯,超過三戰兩勝,年平均報酬率約是兩成,缺點是MDD蠻大的,用這個策略在空頭市場必須保守應對。

這個交易策略可以改觸發條件,可以改選股條件,大家可以自己作實驗。

 

 

高週轉率高勝率穩定報酬交易策略系列介紹之二: 布林交易法則

昨天介紹的高週轉率交易策略,業代的反應不錯,希望我介紹更多這種交易次數很多,但多賺少賠的策略。今天我想跟大家介紹一個有不少市場老師在教,大家對概念很熟悉,我把這樣的想法完全寫成腳本來自動執行。

這個策略的概念就是在布林上下軌道收窄後,如果收盤價突破布林軌道線的上軌後,股價創20日來新高,就是一個作多的時機。

以下圖為例

在8/13日那天,股價創20日新高

而在前一個交易日,股價突破布林值的上軌,且當時上下軌的寬度低於3

之後台汽電展開了一趟多頭的走勢。

接下來我們就來試著把這樣的概念,用程式碼,讓電腦每天把符合條件的股票自動通知我們

首先是先完成選股策略,我設的選股策略如下圖

其中兩個選股腳本分別如下

K棒突破布林值上緣

Input: Length(20), UpperBand(2);

SetInputName(1, "期數");
SetInputName(2, "通道上緣");

settotalbar(3);

Ret = close >= bollingerband(Close, Length, UpperBand);

布林值帶寬小於N

input:length(20,"計算天期");
input:width(3,"帶寬%");
variable:up1(0),down1(0),mid1(0),bbandwidth(0);
up1 = bollingerband(Close, Length, 1);
down1 = bollingerband(Close, Length, -1 );
mid1 = (up1 + down1) / 2;

bbandwidth = 100 * (up1 - down1) / mid1;
if bbandwidth <width
then ret=1;

加上成交量大於1000張這個條件,組合成選股的策略

至於雷達的觸發策略,則是用股價創20日新高這個腳本

if close=highest(close,20)
then ret=1;

把選股策略跟盤中洗價策略組合而成的交易策略,如果停損停利都設為7%,三年的及五年的回測報告分別如下

 

 

從回測報告來看,一年大約有200個交易機會,差不多天天有股票可以進場,勝率在三戰兩勝左右,但因為交易次數實在太多,交易成本吃掉了獲利,年平均報酬率只有一成左右,如果是自己要用的朋友,可以再加一些過濾條件來提高勝率及報酬率。

一個高週轉率且穩定獲利的交易策略

剛好有業代來訪,問我有沒有那種週轉率蠻可以,但長期穩定獲利的交易策略,他想要自己試試看。我手邊剛好有一個交易策略還蠻符合,今天來跟大家分享這個策略的設計概念,大家可以參考並優化之。

這個策略分成兩部份,一部份是選股,一部份是盤中觸發的條件,先說選股策略

這個選股策略挑的是那些估值偏低,但其實業績還可以的公司,會符合這種條件的,絕大多數都非熱門股,因為一旦熱門,根本沒有機會可以估值這麼低。

其中本業推估本益比低的選股腳本如下

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

這個腳本的作法是用最近一季的營業利益乘以四來當預估EPS的基準,所以使用時要過濾那些景氣循環股及業績季節性因素很明顯的公司。

第二部份的盤中觸發策略,其腳本如下

input:period(100,"計算天數");

value1=highest(high,period);
value2=highest(volume,period);
if high=value1 and volume=value2
then ret=1; 

這個腳本是當價量同步創百日新高時就觸發。

把這兩部份組合成一個策略雷達,如下圖

我用這個策略去跑回測,停損停利都設為7%,回測報告如下

過去三年一共有332個交易的機會,平均每年都有110個交易機會,勝率接近三戰兩勝,三年報酬是78%,平均每年都有超過兩成,最重要的是,這個策略的MDD只有9.87%,這應該算是風險還OK的交易策略。

這個策略符合高週轉率,風險可接受及獲利不差等三個特色,大家有興趣的話可以再加以修改成更符合自己想法的交易策略。