Author Archives: 發財橘子

短空策略之長紅後的長黑

最近氣氛比較多空紛雜,網友們建議也不妨介紹一些空方策略,所以今天跟大家介紹一個短空策略~長紅下的長黑。

這個策略是去尋找那些前一天大漲但最近一個交易日馬上大跌的股票,然後短空。回測的結果顯示,就算是過去三年基本算是多頭市場,這個策略還是有七成以上的勝率。

先跟大家介紹一下這個策略的由來。

我的交易策略基本都是follow下面這個流程圖

2018121902

至於觀察及尋找規則,除了看書之外,我最常作的是每天看看那些漲幅及跌幅在前面的股票,他們在價量及其他數據上有那些共同點。

長紅後長黑這個短空策略,是我在看大同的K 線時所發現的。

如下圖,我發現大同這檔股票,在大漲之後如果隨之而來的是一根長黑,股價下跌的機率不小。

2018121903

所以我就寫了一個小小的程式來尋找符合大漲後隔日大跌的股票

if close[2]*1.06<close[1]
and close*1.06<close[1]
then ret=1;

我把這個程式拿去回測所有的股票過去三年,停利我設5%,最後出場日設在10日之後,以下是回測報告

2018121901

過去三年大盤基本多頭,但這個短空策略可以有七成的勝率,而且達到171%的投資報酬率。

如果回測五年,勝率是72.2%,總報酬率更高達516%

以下是這個策略跑出來的例子

2018121701

 

2018121702

這個策略的作法就是在每天收盤前去空那些符合條件的股票。

後來我把我這個發現跟一位市場老手分享,他笑著跟我說,這種股票白話文說,就是兩天套牢一堆人,如果大漲出量,隔天又殺下來,等於昨天追的今天全大套,這種現象如果出現在一段漲勢之後,確實短期下跌的機率是很大的,然後如果是實體長紅棒接著出實體長黑棒,勝率就會更高。

在用這個策略的時候,千萬別用在那些盤整後剛起漲且沒啥量的標的,例如下面這個

2018121703

所以我就修正一下腳本如下:

if close[2]*1.06<close[1]
and close*1.06<close[1]
and open[1]*1.06<close[1]
and close*1.06<open
and volume[1]>500
and close[1]*1.07<close[20]
then ret=1;

然後再去回測,結果交易次數大減,但勝率提高為八成,

2018121704

不過這條件應該是大嚴了,不適合拿來作交易,只是市場老手的話還蠻值得參考。

大家在開發自己的交易策略時,也不妨跟我一樣,多看書,多從過往大漲大跌的標的找靈感,然後,有機會的話,多跟市場老手討論,行情雖然不好做,但前往聖杯的路上,不該寂寞。

 

投資英雄傳之Seykota

 

1970年代,斯科塔受雇于一家經紀公司,在此期間,他開發了第一套“代客操盤”的電腦交易系統,用的是一台IBM電腦,當年的電腦就有一個房間那麼大。所以他被稱為是“程式交易之父”。

seykota

他一開始是使用一些模型和資金管理原則來編寫趨勢跟蹤系統。

之後他獨立門戶,在家利用電腦交易系統幫客戶及自己操作,到了1988年時,他接受金融怪傑的作者Jack Schwager專訪時,他說有位客戶在1972年時交給他5000美元,這筆錢在16年後,變成1500萬美元。這就是江湖傳說的16年2500倍的傳奇績效。

斯科塔說,關鍵是你必須開發出與你本人交易風格相容的系統。“我的交易風格基本上是趨勢追蹤,再加上一些技術形態分析和資金管理的方法。”

把系統建好後,每天花幾分鐘打開電腦程式,讓它找到新的信號。

他觀察到,許多相當成功的交易系統都是根據趨勢追蹤的理念設計的。交易系統表現優劣亦有其週期可循,交易系統表現突出時,一定會大為風行,然而當使用人數大增時,市場趨勢會變得起伏不定,導致系統交易無用武之地,於是使用的人數勢必會減少,而又促使市場行情再度恢復到可以使用交易系統掌握其脈絡的地步。

 

Seykota將自己的成功歸因於好的資金管理、能夠及時止損、以及自己研發的技術分析系統。他認為基本面分析只是一種心理遊戲,相當於把市場已經公開的資訊放到一起,讓它們能起到一點小作用而已。

 

總結他的操作手法,有幾件事很值得有志於交易的朋友作參考

 

  • 資金管理。他說,要使一套普普通通的電腦趨勢追蹤交易系統獲得優異的表現,關鍵在該把資金管理技巧融合在交易系統當中。市場上有許多經驗老道的交易員,也有許多勇敢的交易員,可是兼具經驗與勇氣的交易員卻很少。經理人不論採取系統交易方式或者率性交易方式,他都必須決定承擔多少風險,要進入那一個市場以及是否要依據資金的多寡增減持有的部位,這些都非常重要,甚至要比進場的時間還重要。
  • 不斷學習。他說,我不斷從交易學習,也不斷改善交易系統。我把自己與操作視為一套系統,總是跟隨一套法則行事,我有時候也會完全脫離這套法則,而依自己強烈的直覺行事。這樣的交易結果可能會導致虧損,但是如果我無法在交易中增添一些自己的創意,最後我可能會被壓得發瘋。因此,平衡工作心態也是登上成功頂峰的關鍵所在。
  • 他的交易系統裡,決策上所用的資訊,依其重要性的排列為⑴長期市場趨勢、⑵目前走勢型態、⑶買賣的時機與價位。至於有關基本面的訊息則排在第⑷。
  • 遵循原則但知何何時改進法則。 他的原則是⑴減少虧損、⑵乘勝追擊、⑶小量經營、⑷毫不猶豫地遵循市場法則、⑸知道何時打破交易法則。

他並不認為交易員可以長期遵循某條交易法則,除非該法則能反映他的交易風格。其實,總有一天他會發展出新的交易法則來取代既有的。我想這就是交易員必經的成長過程。

在此也分享一個應用在權值股前100檔的趨勢型的交易策略

2018121302

其中糾結均線突破的腳本如下

input: shortlength(5); setinputname(1,"短期均線期數");
input: midlength(10); setinputname(2,"中期均線期數");
input: Longlength(20); setinputname(3,"長期均線期數");
input: Percent(2); setinputname(4,"均線糾結區間%");
input: Volpercent(25); setinputname(5,"放量幅度%");//帶量突破的量是超過最長期的均量多少%
variable: shortaverage(0);
variable: midaverage(0);
variable: Longaverage(0);
variable:Kprice(0);

if volume > average(volume,Longlength) * (1 + volpercent * 0.01) then
begin
 shortaverage = average(close,shortlength);
 midaverage = average(close,midlength);
 Longaverage = average(close,Longlength);
 if Close crosses over maxlist(shortaverage,midaverage,Longaverage) then
 begin
 value1= absvalue(shortaverage -midaverage);
 value2= absvalue(midaverage -Longaverage);
 value3= absvalue(Longaverage -shortaverage);
 if maxlist(value1,value2,value3)*100 < Percent*Close then Kprice=H;
 end;
end;

if C crosses above Kprice then ret=1;

我拿去跑過去三年的回測報告如下

2018121301

 

 

 

投資英雄傳之Victor Sperandeo

Victor Sperandeo是一名神奇的期權交易員,他連續保持18年的盈利記錄,年均盈利率72%。

victor sperandeo

在投身資本市場之前,維克多是一個賭博高手,所以他十分重視“勝率”概念。他所理解的“投機藝術”是:“能夠精確地解釋當時的狀況,掌握勝算,知道如何下註,保證自己即使在輸的情況下,仍能參與下一盤賭局,遵守心理紀律,執行客觀的知識而不是由情緒主導的決策。

維克多說:“在交易中不能控制自己情緒的人,將會付出慘重的代價”。

他發現市場上存在某些規律,比如說,道瓊指數在牛市中的中級震盪通常是20%,在這20%之後波動的可能性降低。應用這些規律,他在華爾街創下了從1978年到1989年連續12年投資贏利,沒有任何一年虧損的驕人戰績,從而被華爾街金融界人士戲稱為“操盤手維克”和被《BARRON》雜誌譽為“華爾街的終結者”。

他把交易的心得寫成專業投機原理這本書,這本書在1992年被《商業週刊》評為“年度最佳商業圖書”

專業投資原理

維克多進行市場預測的方法是結合技術分析、統計方法和經濟基本面三種因素來進行的,他的概念就是在市場上找出高機率重覆發生的rule,這些rule不一定能常常發生,所以要很有耐心的等待這些rule發生時才進場。

例如他很有名的趨勢變動123法則

1.繪製正確的趨勢線被突破;

2.上升趨勢不再創新高或下降趨勢不再創新低;

3.在上升趨勢中,價格向下穿越先前的短期回檔低點;或在下降趨勢中,價格向上穿越先前的短期反彈的高點。

我根據這個法則, 寫了一個腳本如下

if linearregslope(close,90)<0 and lowestbar(close,90)<20
then begin
value1=countif(low<low[1],10);
end;
if value1=0 then ret=1;

然後再加上一個主力買超的條件

組合成以下的選股法

2018121201

我把這個腳本拿去跑中型100,回測報告如下

2018121202

過去三年才出現24個交易訊號,但總報酬率卻很高,以下是兩個典型的例子

2018121204 2018121203

 

他的另一個有名的rule是四天法則:

在中期走勢中,當市場在高點或者低點以連續四天下跌或者上漲的走勢而呈現反轉時,趨勢很可能發生變化。

最後跟大家介紹一下他的網站

https://www.victorsperandeo.com/more-about-vic

以及他有名的19條交易軍規

victors rule19

 

 

投資英雄傳~Mark D. Cook

Mark D. Cook也是一位很有名的量化交量大師,現在他主要是以當沖為主,他發明的Cumulative Tick Indicator是市場廣為人仿效的指標。

不過一開始  Cook虧得一塌糊塗,有次帳戶甚至出現負值,幾天的時間帳戶從165,000美元變成-350,000美元,再加上他在家庭帳戶裡的虧損,最多的時候他虧掉了815,000美元。

Cook不是輕易放棄的人,5年後開始轉虧為盈,他自行研製的指標Cook累計點數指標(Cumulative Tick Indicator)帶來了很大的財富。該指標分析上漲股票和下跌股票數量和區間、以及大單買賣盤的動向,來確定市場超買還是超賣。

1989年Cook拿下了美國股票投資大賽季軍,1992年轉向期權交易並以563%的盈利率拿到冠軍。

我模仿了累計點數指標的精神,也寫了三個對應的指標如下

主力買超天數指標

value1=GetField("主力買進金額");
value2=GetField("主力賣出金額");
value3=value1-value2;
var:count(0);
count=0;
input:days(20,"計算天期");
var:x(0);
for x=1 to days 
begin
if value3[x-1]>0
then count=count+1;
end;
plot1(count,"主力買超天數指標");

大盤內外盤差天數指標

value1=GetField("內盤量");
value2=GetField("外盤量");
value3=value2-value1;
var:count(0);
count=0;
input:days(20,"計算天期");
var:x(0);
for x=1 to days 
begin
if value3[x-1]>0
then count=count+1;
end;
plot1(count,"內外盤差天數指標");

大盤上漲下跌家數差指標

value1=GetField("上漲家數","D");
value2=GetField("下跌家數","D");
value3=value1-value2;
var:count(0);
count=0;
input:days(20,"計算天期");
var:x(0);
for x=1 to days 
begin
if value3[x-1]>0
then count=count+1;
end;
plot1(count,"主力買超天數指標");

這三個指標除了引用的數據不一樣,計算的方式都一樣,都是計算一段期間裡符合條件的天數有幾天 以下是把這三個指標跟加權指數合在一起看的圖

2018121101
看起來用這三個指標來掌握大盤的多空轉折及趨向,還是不錯的。

 

投資英雄傳~Marty Schwartz

一般人心目中,最有名的投資大師是巴菲特,他是價值型投資的代言人,也是媒體的寵兒。他有一句名言: 如果你不打算持有一檔股票十年,那就連十分鐘也不要持有。今天我想要跟大家介紹的,是那些市場上經常只有持一個部位十分鐘的技術分析與量化交易高手,有趣的是,這些人也是富比士富豪榜的常客喔

今天第一篇先來介紹Marty Schwartz

舒華茲一開始是股票分析師,但是厭倦了為其他定價過高的公司撰寫看漲投資建議,他自行研究並結合多個技術指標來決定進場點,剛開始用了9年的基本面分析,但是直到換成技術分析後,才開始享受交易的成功和資金的飛速累積。

“在8年的證券分析後,我感到極度厭倦。我的朋友教我怎樣分析市場行情,於是我總是關上辦公室的門,獨自觀察市場。不久後,帶著70,000美元的資金,我轉行做了場內交易員。”。

於是,舒華茲開始訂閱多份股市資訊和雜誌。把自己當成一具合成器,無須設計新的交易策略,只是把別人的優點融合於自己的交易策略中。後來發現有一個名叫泰瑞·蘭迪(Terry Laundry)的人。他發展出一套與眾不同的交易方法,名為“魔術T預測法”。他是麻省理工學院機械工程系畢業的高材生,頗具數學背景。這套方法的中心理論是:股市上漲與下跌的時間其實是一樣的,只是漲幅與跌幅不同而已。因為股市下跌之前,總有一段抗跌的階段,上漲之前,也總有一段凝聚動力的階段。計算時間時,就要從這段期間開始,並不是等到股價到達高檔或低檔才開始計算。這套理論與舒華茲以前所學的完量全不同,但是它對舒華茲幫助很大。

1979年成為專業交易員之後,平均每年投資報酬率一直高得令人難以置信,而且平均每月虧損從沒有越過其資產價值的3%。他從40,000美元起家,後來把資本變成了2000萬美元。當時華爾街的交易員都將舒華茲視為偶像,許多人都在觀察、學習他的投資方法,他曾9次贏得全美期貨、股票投資大賽。

 

 

舒華茲有兩個挑股原則

1.股價要在均線之上,也就是要站在趨勢對的那一邊

2.指數創新低,股票未破底

我照了上面的描述寫了一個腳本如下

if GetSymbolField("tse.tw","收盤價","D")=lowest(GetSymbolField("tse.tw","收盤價","D"),10)
then begin
if trueall(low>low[1],5)
and close cross over average(close,10)
then ret=1;
end;

回測報告如下

2018121101

他認為資金管理很重要,您的資本增加兩倍或三倍,否則不要擴大您的部位。大部分的人一旦開始賺錢,就立刻擴大自己手中的部位,這是一個嚴重的錯誤,嚴重得足以使您傾家蕩產。

另外,持續學習很重要,他說”可能到斷氣的那一天,我還是在尋找更好的交易方式”

 

最後,用他的一段話來作總結: “交易員們寧願虧錢也不願承認自己錯了……在我決定‘去他的自負,賺錢才是最重要的’後,開始成為盈利的交易員了。”

 

 

 

 

總市值前300大繼續型態突破

在研究型態學的時候,我有觀察到,像繼續型態突破這樣的概念,可以轉化成底部愈墊愈高,然後一舉突破高點的概念,然後另一個我觀察到的是,如果是小型股,比較容易受特定力量的操控,出現假突破,如果是總市值高的股票,假突破的機率就比較低。

根據上述的觀察,我訂了一個選股策略如下

2018120506

其中的突破繼續型態腳本如下

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
//有一定的成交量
then ret =1;

我把這選股策略拿去回測過往三年,出場設為二十個交易日之後,回測報告如下

2018120501

這是一個勝率接近六成的選股策略,而且MDD在可以接受的範圍,空頭市場具有一定的防禦能力,不會出了一堆之後虧錢的交易。

以下是這個策略曾經出現過表現比較不錯的交易

2018120505 2018120504 2018120503 2018120502

另外我研究了那些失敗的交易,有兩大特點,一是那些標的原本就是市場上有名的賊股,大股東或主力騙線的惡績已斑斑可考,另一種則是先前的漲幅很大,最後一次的拉升是多頭力竭的第五波,我設二十天後出場,剛好進入初跌段。大家用這個選股法挑出股票後,切記這兩種股票要過濾掉

 

基本面創佳績的公司放量起漲

如果最近這一季財報本業創下近幾年的最好水準,但大盤不好,股價之前沒有什麼表現,一旦大盤好轉,這些股票開始放量起漲,這樣的公司,會不會是值得留意的標的呢? 今天就來跟大家介紹這樣生不逢時但苦盡甘來的選股法。

根據上面的邏輯,我設的選股法如下

2018120406

這個選股法的前三項代表本業的營運創下很久以來的最佳成績,最後一項的腳本如下

if TrueAll( GetField("營業利益率","Q")>0,4) and
 TrueAll(GetField("稅後淨利率","Q")>0,4) and 
 average(volume,5) > 200 and
 C> 10 and
 volume > average(V[1],20) *3 and
 GetField("法人持股","D")- GetField("法人持股","D")[5] >GetField("最新股本")*10
 then ret=1;

符合這個腳本的股票,本業及稅前都是賺錢的,有一定的成交量,而且成交量是過去二十日均量的三倍,然後最近這幾天法人買超佔股本一定的比例。

我把這個選股策略拿去回測過去兩年,回測報告如下

2018120402

勝率一般,報酬率不差,而且很顯然的,是屬於空頭市場沒有表現,但多頭市場表現會打敗大盤的選股策略。

之前比較典型的例子如下

2018120405

前陣子觸發的股票則有以下兩檔

2018120404 2018120403

這個腳本,在昨天大漲之後,出現的訊號如下

2018120407

 

 

有價值型投資概念的成長股投資法

價值型投資與成長型投資,原來是截然不同的概念,但如果我們去尋找那些低本益比,低PB的股票,然後如果這些股票的殖利率與累計營收成長率都在所有股票中的前300名,而且開始呈現出量起漲的走勢,那麼這種具有價值型概念的成長股,從回測的數字上看,波段持有,有頗高的勝率,是一個值得深入研究的選股策略。

要符合上述的要求,我訂的選股條件如下

2018120303

其中用到的兩個腳本分別如下

本業推估本益比低於N

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;

暴量剛起漲

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;

用上述的選股策略去回測過去三年及過去十年所有的普通股,60天後出場,回測報告分別如下

2018120301

 

2018120304

交易次數不多,但勝率及報酬率都頗高。

以下就是這個選股策略挑到的其中一檔

2018120302

這種營收成長排在前1/5且低本益比,低PB,高殖利率的股票,當量能開始成長時,往往是不錯的波段進場時機。

 

籌碼集中度大增的股票

關於勝率一般般,但常能找到飆股的選股策略裡,籌碼集中度大增算是蠻具代表性的一個。

這個選股法的概念是,找過去十天主力買超張數佔成交量超過四分之一的股票,然後這些股票還要符合股本不大,非雞蛋水餃股及五日均量超過五百張等條件,我列的選股條件如下

2018113001

其中籌碼集中度篩選的腳本如下

input:day(10,"天數");
input:ratio(20,"最低百分比");

settotalbar(day);
value1=GetField("主力買賣超張數","D");
if volume<>0 then 
 value2=summation(value1,day)/summation(volume,day)*100
else
 value2=0;
if value2>=ratio then ret=1;
outputfield(1,value2,2,"籌碼集中度");

用這個選股策略去回測,出場設十個交易日後,回測報告如下

2018113003

如果把籌碼集中度的比例拉高到25%,把持有天數改成二十天,回測報告如下

2018113002

交易次數少,勝率過六成,且平均報酬率高。 因為這麼嚴格的篩選之下,能夠挑出來的,常常都是短線的飆股,例如以下幾檔

2018113007 2018113006 2018113005 2018113004

這個策略平均一年只出10多個訊號,但符合條件的,有六成的機會漲勢會比較兇猛,供大家參考。

殖利率高且法人大買的股票

我們在投資價值型股票時,最常見的困擾是,明明這檔股票殖利率很高,但不知道什麼原因,股價就是不會動。由於殖利率是拿過去的配息數據當基準,所以最有可能的就是這家公司未來的獲利能利可能會不若以往,所以股價在反映未來獲利的衰退。又或者是大環境或該產業的特定情況,讓市場充滿悲觀的氣息。

為了在高殖利率的股票中,過濾出這些市場已經不再樂觀看待的股票,我想以法人為師,加上一個三大法人開始進場的過濾條件。 我假設高殖利率的股票,如果法人連日大買,代表法人也認同這檔股票目前的股價是值得進場的。

根據上述的思考邏輯,我設了以下的選股條件

2018112902

我想挑出殖利率大於10%而且近五天裡三大法人合計買超大於5000張的股票,我認為這是夠便宜且市場認同的標的

我把這個選股策略拿去回測所有股票,設二十個交易日後出場,過去三年的回測報告如下

2018112901

從報酬率的走勢圖來看,在空頭轉多頭時,這個選股法可以狠狠的打敗大盤。

不過由於這個選股法的勝率不算高,所以我特別檢查所有回測裡虧錢的交易,發現虧錢的交易裡,有不少是景氣循環的權值股,是外資常交易的,這種可能要過濾掉,另外就是出訊號前如果價位短線大漲過的,法人大買反而會套牢。

比較典型的,是像下面這檔旺宏這種出訊號前漲幅不大且標的本身不算法人常用來跟指數連動的權值股

2018112903