Author Archives: 發財橘子

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

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

這個策略的選股腳本如下

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

代操看上的股票

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;

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

 

xqlite banner

高勝率價值型交易策略

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

一,選股策略

這個策略的選股條件很單純,就是本益比低於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的好處就是讓我可以在這平台上不幾探索各種交易策略,並且慢慢累積成一套專屬的劍譜,面對起伏不定的市場,讓我可以見招拆招。

xqlite banner

 

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

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

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

一,選股策略

我的選股策略條件如下

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

二,策略雷達

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

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

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蠻大的,用這個策略在空頭市場必須保守應對。

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

xqlite banner

 

 

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

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

這個策略的概念就是在布林上下軌道收窄後,如果收盤價突破布林軌道線的上軌後,股價創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個交易機會,差不多天天有股票可以進場,勝率在三戰兩勝左右,但因為交易次數實在太多,交易成本吃掉了獲利,年平均報酬率只有一成左右,如果是自己要用的朋友,可以再加一些過濾條件來提高勝率及報酬率。

xqlite banner

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

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

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

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

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

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的交易策略。

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

 

xqlite banner

一個長期維持七成以上勝率的交易策略~高護城河股暴量起漲

近期台商有不少資金回台,證券交割戶的存款餘額達1.9兆,連創新高,這些資金會買什麼股票呢? 一般大家普遍的看法都是傾向那些配息穩定且企業競爭優勢夠強大,不受景氣影響的公司。所以我來跟大家分享我自己常用的一個交易策略~高護城河公司暴量起漲。

這個策略分成兩部份,首先透過XS選股平台按以下的選股條件,選出符合高護城河定義的股票

這些條件裡,一定要符合的是連續六年每年的每股獲利都要超過3元,代表這家公司有一定的獲利能力。

接著我列了六個我認為高護城河股通常會有的特徵,然後要符合其中至少五個才能符合標準

以今天為例,在1700檔股票裡,符合條件的只有50檔

然後我把這個選股策略設為每日自動執行之後

每天在策略雷達用以下的腳本來跑這個選股策略選出來的股票

 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%

以下是不同天期的回測報告

 

 

 

 

綜合不同天期,我們會發現,勝率都超過七成,幾乎可以達到四戰三勝的水準,每年平均交易次數不多,大約就十多次,但年報酬率有兩成的機會,績效遠遠比大盤好,也比台灣50好。

這個交易策略我都放給系統自動跑,有跑出標的我會留意一下它的基本面有沒有什麼情況,沒有的話我都會很有紀律的進場且嚴格執行停損停利,有興趣的朋友也可以參考看看。

xqlite banner

基本面投資策略系列之二: 股價夠低估的股票暴量起漲

我們在計算一檔股票的估值時,最常用到的是本益比,股價淨值比與殖利率這三個標準,今天來跟大家分享一個基本面的交易策略: 當股價夠低估且開始暴量起漲的股票。

這個交易策略如下圖

這個交易策略由兩個腳本所組合而成,分別如下

低本益比低PB高殖利率

{本益比小於 15 倍 股價淨值比小於 2 倍 殖利率大於 3%}

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


then ret=1;

暴量剛起漲

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%,回測報告如下

這是一個還算蠻穩定獲利的交易策略,平均一年交易次數約有50次,最大回撤不到一成,顯示如果等到個股的估值跌的夠低之後,等到量能回昇再進場,是一個不錯的交易策略

 

xqlite banner

基本面投資策略系列之一

在XS選股平台中有不少的基本面選股欄位,這些欄位包括了歷年股利,股本,月營收等等,跟財報欄位搭起來,可以組合出不少從基本面出發的選股策略,再搭配由價量所組合而成的交易時機觸發條件,就可以組合成為各式各樣的進場策略,接下來有機會就來跟大家分享我常用的一些基本面的投資策略。

在我常用的基本面策略裡,有很大一類是股價遠低於合理評價,然後價量上出現明顯回昇的情況,今天先跟大家介紹的是,從平均現金股利的標準,股價偏低的中小型股,出現暴量剛起漲的情況。

下面是完整的選股條件

這個策略是用來尋找那些過往現金股利都有一定水準,但股價目前跟其現金股利水準相比,明顯估值偏低的中小型股,其中股價低於N年平均股利的N倍這個條件的腳本如下

input:N1(5);
input:N2(16);
setinputname(1,"股利平均的年數");
setinputname(2,"股利的倍數");
value1=GetField("股利合計","Y");
value2=average(value1,N1);
if close<value2*N2
then ret=1;

 

暴量剛起漲的腳本如下

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%,勝率超過7成,最大區間虧損只有6%

,交易次數是多了點,平均一年的交易次數有100次,所以交易成本吃掉不少的獲利。

有興趣的朋友可以把這個策略拿去加濾網,降低交易次數,應該可以得到更好的報酬率

xqlite banner

 

飆股的長相如何寫成選股程式

網友寄來今週刊的一篇文章,林則行的飆股的長相,問我能否寫成腳本及回測,這篇文章中提到林則行先生列舉了幾個選擇飆股的方法

一,平穩期之後急漲

二,成交量很重要

三,嚴守8%停損線

我寫了幾個,都沒有把其中的精神寫的很精準,後來請公司的高手出馬,寫了一個腳本如下

settotalbar(30);

array:attack[10](0);
variable:i(1);
stochastic(9,3,3,value1,value2,value3);
//計算KD
condition1=value2>value3;
//K>D的時候
if H>value4 and condition1 
//K>D的時候且創新高(抓高點)
then begin
	value4=H;
	attack[1]=value4;
end;
if condition1[1] and not condition1
//KD死亡交叉的時候統計攻頂的戰果
then begin
	for i=10 downto 2 attack[i]=attack[i-1];
	//在陣列中依序發生順序向後排
	value4=0;
end;
///////////////
value5=attack[1];
value6=attack[1];
for i=2 to 4
begin
	if attack[i]>value5 then value5=attack[i];
	if attack[i]<value6 and attack[i]>0 then value6=attack[i];
end;
//////////////最近5次攻頂戰果的最高與最低
if value6>0 then value7=value5/value6-1;
condition2=value7<0.05;
///攻頂戰果最高與最低不超過5%
if condition2[1] and not condition2 and H>attack[2]
and volume>2000
and GetField("主力買賣超張數","D")>2000
and GetField("法人買賣超張數","D")>1000

 then ret=1;
///脫離攻頂戰果5%的區間而且本次還創攻頂戰果的新高

根據這個腳本,如果去跑所有的股票,停損停利都設為8%,回測報告如下

看起來效果不錯

今天挑到的股票是這一檔

 

以上算是回覆網友的提問,抱歉拖的有點久,原因是我自己寫的腳本都不夠好。

歡迎各位把看到的文章分享給我來寫腳本及回測

我如果寫不出來會去請教公司的高手

xqlite banner