Author Archives: 發財橘子

當沖腳本1之五分鐘線狹幅整理後帶量突破

當沖的常見手法之一是,去尋找有好一陣子都在盤整的股票,然後等到它開始帶量上攻時,就進場,今天來跟大家介紹我對這個策略的研究。

 

先請大家看一張圖

五分鐘線整理後突破

江湖傳說這種線當沖賺錢的機率大,所以我就試著寫了一個簡單的腳本來試

input:Length(100); setinputname(1,"計算期數");
input:Ratio(0.5); setinputname(2,"突破幅度%");
input:RRatio(2); setinputname(3,"盤整區間幅度%");
input:TXT1("僅適用5分鐘線"); setinputname(4,"使用限制");

settotalbar(3);
setbarback(Length);


if barfreq<> "Min" or barinterval <> 5 then return;

variable: RangeHigh(0);
variable: RangeLow(0);
RangeHigh=highest(close[1],length);
RangeLow=lowest(close[1],length);

if RangeHigh[1] < RangeLow[1] * (1+ RRatio/100)
then begin
if Close cross over RangeHigh*(1+Ratio/100)
and volume>average(volume,length)*1.5 
and trueall(GetField("成交量","D")>500,10)

then ret=1;
end;

一開始用全部的股票去回測近一年,總交易次數達到2903個,勝率超過53%,但平均報酬率是負的0.14,總報酬率更是虧了一屁股,意思是雖然贏多虧少,但交易次數實在太高,賺的都被手續費及證交稅給拿光了(交易成本只設成0.2%)。

所以不應該拿所有的股票去跑,應該加點什麼?

籌碼面是大家都一直很常用的,所以就加了過去十天主力買超至少七天的條件

結果勝率是高了一點,有53%,但還是會虧錢。  仔細檢視輸錢的交易,大多發生在指數下跌的時候,所以就試著過濾掉那些加權指數下跌的日子,回測的結果如下

2017042803

終於看到超過55%的勝率跟正的總報酬率,但最大連續虧損及最大區間虧損還是很嚇人,接下來我試著不用全部的股票去跑,改成用市值適中的股票,勝率有57.65%,最大區間虧損為53.72%,這大概就是我能調到的極限了。

最後po一張最近一波多頭走勢,從去年11/14到今年3/21的回測圖

2017042804

這樣的回測數字就真的很迷人了,代表這個當沖策略在多頭市場是真的可以賺到錢,但指數在拉回的時候,必須改成用先賣後買的空頭當沖策略。

最後po一下最終版的這個當沖腳本

input:Length(100); setinputname(1,"計算期數");
input:Ratio(0.5); setinputname(2,"突破幅度%");
input:RRatio(1.5); setinputname(3,"盤整區間幅度%");
input:TXT1("僅適用5分鐘線"); setinputname(4,"使用限制");

settotalbar(3);
setbarback(Length);


if barfreq<> "Min" or barinterval <> 5 then return;

variable: RangeHigh(0);
variable: RangeLow(0);
RangeHigh=highest(close[1],length);
RangeLow=lowest(close[1],length);

if RangeHigh[1] < RangeLow[1] * (1+ RRatio/100)
then begin
if Close cross over RangeHigh*(1+Ratio/100)
and volume>average(volume,length)*1.5 
and trueall(GetField("成交量","D")>500,10)
and countif(GetField("主力買賣超張數","D")>0,10)>=7
and GetSymbolField("tse.tw","收盤價","D")
>GetSymbolField("tse.tw","收盤價","D")[1]
and GetSymbolField("tse.tw","收盤價","D")
>average(GetSymbolField("tse.tw","收盤價","D"),5)

then ret=1;
end;

我用的盤整定義是100根的5分鐘K上下波動不超過2%

 

 

 

進場點一目了然的大盤儀表板

這兩天的盤忽上忽下,朋友們對後市看法分歧,有的人覺得接下來就是五窮六絕了,有的人覺得等第一季季報醜媳婦見完公婆就要開始反應未來的i8題材。 先前跟大家報告說大部份的買進策略在空頭市場都是虧錢的,那麼有沒有一個方法, 可以很快的擁有一個快速判斷多空的標準呢?  今天就來跟大家介紹我自己開發的工具~ 大盤儀表板。

請大家先看一張圖

大盤儀表板二

在這圖上的各種不同的標記,是不同腳本出現的買進訊號位置,我把這些位置都標在加權指數的K線圖上,然後各位會發現

1.如果只是單一個訊號出現時,可能是買進訊號,但也有可能是在反彈的高點

2.如果幾天內出現兩個買進訊號,大盤翻多的機率高很高了

3.如果是三連星以上,甚至像是去年11/14日以來的五連星,那出錯的機率就很低了。

這圖怎麼來的呢?

我先來給大家看它的腳本

condition1=false;
condition2=false;
condition3=false;
condition4=false;
condition5=false;

//==========OTC佔大盤成交量比================

value1=GetSymbolField("tse.tw","成交量");
value2=GetSymbolField("otc.tw","成交量");
value3=value2/value1*100;
value4=average(value3,5);
value5=low*0.98;
if value4 cross over 20
then condition1=true;
if condition1
then plot1(value5,"OTC進場訊號");
//============內外盤量比差====================

value6=GetField("內盤量");//單位:元
value7=GetField("外盤量");//單位:元
value8=value7/volume*100;//外盤量比
value9=value6/volume*100;//內盤量比
value10=average(value8,5);
value11=average(value9,5);
value7=value10-value11+5;
if value7 cross over 0
then condition2=true;
if condition2
then 
plot2(value5,"內外盤量比差");

//===========上漲下跌家數RSI指標==============

input:period(10,"RSI計算天數");
value12=GetField("上漲家數");
value13=getfield("下跌家數");
value14=value12-value13;
value15=summation(value14,period);
value16=rsi(value15,period);
if value16 cross over 50
then condition3=true;
if condition3
then 
plot3(value5,"上漲下跌家數RSI");

//===========上漲家數突破200檔================

value17=lowest(value12,5);
value18=average(value17,15);
if value18 cross over 200
then condition4=true;
if condition4=true
then
plot4(value5,"上漲家數突破200家");

//==========上漲下跌量指標=====================
input:p1(3);

value19=GetField("上漲量");
value20=getfield("下跌量");
value21=average(value19,period);
value22=average(value20,period);
value23=value21-value22;
value24=average(value23,5);

if value24 cross over 0
then condition5=true;
if condition5=true
then
plot5(value5,"上漲量突破下跌量");

先前跟大家提過,策略不定要用開高低收等價格來計算,也可以使用別人比較不好拿到的欄位,所以我這裡拿了OTC佔大盤成交量,內外盤量比差,上漲下跌家數RSI,上漲下跌量及上漲家數等非價格的欄位來判斷大盤是否由空翻多。

這些指標的概念及應用原則,在先前寫過的文章中有作過介紹,這邊就不贅言,

我把相關的連結放在下面,有興趣的朋友再點進去看即可

內外盤量比在預測大盤後市上的應用

OTC跟上市成交量比值是股市多空指標

上漲下跌家數差RSI指標

上漲的股票有沒有200檔?

為了作成儀表板,讓我在看大盤K線圖的時候,可以看到有沒有出現進場訊號,腳本上我做了一個小小的安排: ” value5=low*0.98″

這個安排是當符合單一策略的進場條件時,就讓電腦幫我在那一根bar的最低點*0.98處標示出來,怎麼標呢?

就是在K線圖上用滑鼠按右鍵後選主圖疊圖,把上面這個指標腳本加到疊圖指標裡,然後像下圖,繪圖型式選”點”,繪圖樣式選不同的型狀,記得座標範圍要選價位座標,這樣就可以完成一個大盤的多空儀表板了。

有了這個儀表板,就可以對於現在大盤是否要翻多進場,可以一目了然。

當然各位可以發展自己的大盤進場策略,然後像上面的腳本那樣,把這些策略都放到儀表板中,這樣就可以一張圖就完成大盤的多空判斷。

不過每一個被放進來標成進場點的策略,最好還是回測一下,有一定的勝率才放進來,例如以上述放在condition1的那個策略,以下是它近三年的回測報告

大盤儀表板一

有了這個儀表板,就可以判斷何時要開始翻多提高持股比例,甚至根據有幾星連線來調整持股比例,也可以透過buy call option來作交易,也可以把它拿來作為個股進場策略的前提,這是股票程式交易一個很值得發展的武器,我自己用到現在,就下跌的b波時會出現假訊號,其餘的時候還蠻OK,特別是在長線空頭後出現這些訊號,那更是讓人義無反顧的翻多。

我拋了這塊磚,希望大家都能打造出自己最理想的大盤儀表板。

 

 

 

 

從期貨之神黃毅雄的訪談內容談XS的發展順序

昨天有用戶寫mail問我為何把XS的開發重心擺在股票,而不是現在程式交易圈最流行的指數期貨,我想借由台灣期貨之神黃毅雄先生當年受訪的文章內容,跟大家報告我的想法。

黃毅雄先生是台灣期貨界的奇人,不認識他的朋友,可以google一下,就知道他有多厲害。底下這個連結,有其完整的受訪內容
http://cgdzh.com/forum.php?mod=viewthread&tid=4256

 

這篇文章我看了非常多遍,黃先生是台灣少數股票及期貨都能賺錢的雙刀流大劍客,我把他受訪的內容分成十七個要點。

1. 操作期貨並不容易,期貨要做好一定要具備很多功力,期貨要做好必須從基本分析、技術分析,和看你是否耐力夠不夠,這很重要,一般人作期貨只是為了賺錢,大家所想的也只是這樣,而忽略了應該具備的很多的涵養和功力。通常這些涵養和功力並不是那麼容易就具備到的,最起碼要五年以上。今天整個社會的發展對年輕人來說,最有機會的地方依然是這個市場,以我來說就是個例子。這市場並不是那麼容易就能夠讓你每個人都做好,你要做期貨,要從事這行業,你一定要紮下很深的功力。

2.在期貨市場上、股票市場上看到的一些成功的範例,有辦法在這市場上賺到錢的人都是小時候苦過來的人,這耐力就是從這裡來的。他們在那種惡劣的環境下長大,自然而然的培養這種鬥志──這是很重要的。買賣能夠成功是要經過無數次的賺錢賠錢,無數次的鍛鍊,所以一定要有相當的耐力就是這個原因,這不是這麼簡單。

3. 我是從圖形去觀察,並強調型態學,型態是最重要的買賣依據。有很多人強調RSI、KD等等指標,那都是不行的,而且不要用它。買賣很多人很容易做到後來變成丐幫的弟子──丐幫的人打狗棒拿出來揮兩下,破碗公拿出來,叫著牛肉麵一碗、陽春麵一碗,拿個就趕快跑了,通常這很容易賠錢。

4.我在美國、臺灣看到大部分在期貨市場、股票市場的買賣者,通常買賣都做得很短,都做短線 ,我最否定的就是丐幫的做法,另外一種就是少林派做法,這種做法也不行,少林派的人一坐禪就坐很久,都不起來,很多買賣都是憑直覺,現在黃金是紅是黑,石油看漲看跌,都是憑直覺,去買幾張,就擺在一邊。結果MarginCall來了,他認為很便宜了,就一直補一直補,補到總有一天受不了,一定會斷頭。我本身是武當派的人,武當弟子每天出門一定揹劍,如果時機大反轉時劍就拿出來,時機如果不對小指頭就趕快剁掉。

4.我感到最得意的一次買賣是六、七年前,也就是1987年時了,T-Bond是在高價,大約在120元美金,我認定型態開始要往下,那時候正是醞釀期。而我那時剛從西班牙失敗回來,那時身上沒有錢,我的能力只能從一張做起。 我就從那一張做起,我認為那是頭部醞釀期,開始作空,一邊跌一邊加碼,沒有再從口袋裡拿錢出來。我做到了1500張。我也沒有跟朋友借資來Margin,就做這一張,從一張做到1500張,這一招就是我所謂的倒金字塔做法。很多人以為作股票是正金字塔做法,做期貨也是正金字塔做法,期貨如果是從正金字塔做法做是會很悽慘的,因為正金字塔是Margin3%,試問一邊跌一邊買,再跌在買,最終是否必死斷頭?那一邊漲一邊空,在漲再空,是否也是斷頭?所以正金字塔的做法是絕對錯誤的,而且一定要倒金字塔,倒金字塔有什麼好處?你做時要看底、看頭,看頭作空、看底做多,邊漲邊加碼,再漲再加碼,無須用到自己的錢,用的錢都是在戰場上俘虜來的,並且把它編入你的國防軍再打,借力使力,這是我最得意的一場戰爭。

5. 我不是看賺多少錢加碼,試問賺多少錢加碼能加幾張?沒能加幾張。我是看走勢、看時機加碼,但是買賣有一個要領,譬如說:你現在是做多頭加碼,你會怕回檔對否?比如你現在加20張,就必須做到隨時可以殺5張斬10張,後來你又認為行情穩住了,這時你認為可以加碼再加碼,這樣才不會再加碼時錢又不見了。所以我從一張做到一千多張。那是我花了幾個月過程去買賣,而且是每天都有買賣,有時甚至也必須花錢買保險(這動作一定要做),花錢買保險時你會猶豫說-這是要買還是要賣?有那”猶豫”時,我就先斬掉一些,等到有把握再買。這種動作通常是額外的花費,但是那是很重要的動作,假使你沒有花錢買保險,很可能情勢稍微回檔就全功盡棄,就會損失非常多的錢,所以這很重要。

6. 時間因素沒有放到型態上。我說做這買賣你本身就必須是一個機會主義者,說起來這話是不好聽,但是實際上你就是要做到這一點。你本身是一個機會主義者,才有資格投機,所以當機會出現(型態看出)你馬上就必須押下去。你若很慎重,KD、RSI等等的指標就拿出來參考,但是若參考下去,所有的買賣就不要做了──事實就是如此。我寧願進場時馬上碰到回檔,因為沒有"現在買就立刻漲,現在空行情就馬上下跌"這回事。人說做人要有量,做買賣也要有肚量,你不可能能夠算到剛剛好;所以做這買賣就要有量,買下去就必須承受它回檔,或是空股票時必須承受暫時的反彈。有人很會計較,很在意買時立刻跌幾點,空時立刻漲幾點,錙銖必較,這是不對的。你如果強調型態學,則得失不可看得太重,這很重要;若看得太重,就是丐幫弟子的做法。

7.在這市場做這麼久,我覺得我的敵人不是行情,不是研判,而是自己,這是我最大的敵人,怎麼說呢?因為人的心情會起變化。或許你今天想揮師攻下幾個城池,才願意放手,但是突然間下午一個朋友來找你:「你最近做得不錯,有賺錢了,就保守一點吧!」聽到這一句話,完了!馬上心情起了一個變化。你每天的心情都在變化,而或許你自己本身並不知道。所以我說:一個成功的買賣者,每天都必須撥出半小時給自己能夠冷靜,探討你自己(不是探討行情!),你的心情想法是否有平常心,這很重要。

8.從一張做到一千五百多張的過程確實是做長線。當時我以週線來觀察這行情是否在變化,所以是在長線佈局。在這過程中行情震盪來回,參考丐幫棍法,而基本上還是武當招式,有時長線,有時短線。簡單來說,頭部型態,可能你在頭部反轉這地方開始作空,然後一路加碼。我通常從頸線這個地方開始加碼,這裡”加碼”我通常會碰到一些煩惱;從這個地方加碼,如果碰到反彈,我可能會閃過,如果空太多MarginCall來我就減碼,再下來再空,再掃下來我翻作多,這是我的慣性。

9.做這買賣最重要事能掌握頭部、底部型態,你們一定知道並且記得,頭部和底部型態的掌握很重要,有的人只觀察不出手,通常破頸線下來他都空不到,你們若有經驗一定會知道這一點。有人參考tradingsystem電腦系統等,通常賺不到。有時候市場溫溫吞吞,很不乾脆,你要知道為什麼這地方很難做,所以我通常找尋的點通常在頭部出發的地方,一般看型態都是確定後再進場,但是有一個缺點,就是確定後反而賺不到錢。為什麼?很可能確定後空在”頸線下”,那幾天後呢?價位拉回,你抬頭一看,會看到我應該空在頭型下來這點,你自己會怕。所以我說小反彈時馬上補掉。底部型態也是一樣,當突破時,你通常賺不到,這不是期貨的點,期貨買賣的精神是在你能以小搏大,這很重要的做法就是能夠以小搏大,因為你要小錢賺到大錢,你必須在這就要看到這是一個大餅,你在醞釀期時就應該佈局,邊買邊走邊確定,一邊確定就一邊加碼,才有辦法賺到大錢。假設我在這裡買,假設拉回頸線內我就賣,既然已砍頭線了──你已經在外面磨一下午了,你還要磨回去嗎?再擦回去就不像了──這個一定殺出。我很可能在這一殺會變成不賺錢,甚至賠錢。那不要緊、我不怕、這次被騙下次再來。若是丐幫弟子,在這小賺你就跑了對不對?你做這買賣你一定要想辦法去賺大錢,因為在這買賣你沒有辦法賺大錢你就沒有辦法在市場上立足,這點你要記住。你如果一天到晚在強調牛肉麵,沒用、不會賺錢,它若不對,我就撤兵下次再打。

10.我每天除睡眠以外,每天所想的都是基本因素、技術因素那方面,及自己是不是夠冷靜,整個思緒都是這些。當時我看T-Bond應該是會下跌,我作買賣不只是看技術分析,我也看基本分析。但是我以技術分析為主,基本分析為輔,這點要記住,這點很重要,你們要記住。很多理論派做到後來都是強調基本面,技術面忽略(他們會把基本面淩駕於技街面之上),那我告訴你,這樣絕對賠錢行不通。

11.有成功的頭部型態,也有失敗的頸部型態,例如:失效的頭部型態,這是標準M型,當這頸線重返往上的時候,這個頭部型態就失敗。你說只有50%成功率,這我們不必在意。我們只看這型態是否成立,有時它會回檔再下去,但若沒沖過頸線,則是失敗的頭部型態,即然是失敗頭部型態,這種情況,我會補空,補空再反做多,既然是失敗的頭部型態,一定會重返頸線;反之亦然。

12.修練工夫須要時間。這時間培養你賺錢的經驗,也培養你賠錢的經驗,培養你時時刻刻去探討你自己。因為很多心路歷程不是你能體會,我的心路歷程只有我自己才能體會得出來,你必須自己經過無數次賺錢和賠錢你才有辦法體會。

13.  不管從事那一行業,你一定要很內行,要很專精,你到各行各業去看,各行業裡的成功者總是有限,結果有辦法成功的人一方面是機運,一方面是努力。我想我們這行業沒有機運這回事,如果說是一筆二筆的買賣,就有機運的問題;如果是長久的買賣,就沒有機運這件事,一定要靠功力。


14. 我認為一般人失敗的原因是對從那入門不瞭解,做到後來都成為了丐幫弟子,為什麼呢?因為你做趨勢作型態有時會變化,結果你做到後來都無法相信。而且作趨勢一定要有耐心,不然你看頸部醞釀期,下跌又扭扭捏捏才願意下去。所以你要有相當的耐心,而一般人對於這個都不是很瞭解。 以我的信念來講,我就是要去逮住大機會,沒有辦法去抓大機會,你就得常常賠小錢。這並不是說因為依靠型態學去做買賣很容易賠小錢,丐幫弟子也很容易賠小錢;重點差別是你要能夠發揮去賺大錢,這很重要。

15.像棉花、柳澄汁這種我沒辦法做,我一出手就幾百張幾千張,而那些市場那麼小根本沒辦法出手,所以我選擇T-Bond….,實際上這些東西比較容易拿捏,像那些小市場就沒辦法。因為我們作買賣是以線路圖為基礎作買賣,你到那些小市場一定會被小市場的POOL作手、被猶太人吃掉,所以要做成交量大且又活潑市場。

16.我最怕聽別人的見解!因為我們人作為一個trader,每天一支劍揹出來,前面是千軍萬馬,而你孤軍奮戰一個人往前殺敵心都很虛,就很容易受影響。人最怕受影響,一旦心虛,別人的一句話就會影響你;像我這種老戰將了,也很容易有這種情形,所以最怕人家告訴我他們的見解如何如何。所以我說一個成熟的劍客應該是一個孤獨劍客,越孤單越好;所以我很少出門,都躲在家裡 。我實在說,我很少出來和人討論,這18年來我都待在家裡,因為本身是作這種買賣生活,自己訓練自己已很孤單。

17.這行業最重要是佈局,佈什麼局?就是頭部型態、底部型態的佈局是最重要,你往後注意的應該是行情走否遵照你的見解在走,這樣而已。你不須要24小時盯著Monitor,不必要。 這是兩年前的事,當然錢都是從戰場上爭來的,現在我已經脫離過去那段困鬥期,已經穩定了。

 

==========================================================

這17點我時時拿出來看,看了又看,應該說這17點影響我非常的大,每次看這17點時,我都會想,要經過什麼樣的鍜鍊,才能淬鍊出這麼強大的交易風格,後來去研究黃先生的操作歷史,發現他是先從股票開始做起,最慘的時候他虧到把做生意賺來的錢都虧光還負債300萬,但因為他沒有放棄,從一張股票,一口期貨開始,最後建構出現在這麼強大的交易架構。

我相信要當一個成功的交易者,就像是黃先生說的,要經過至少五年的鍜鍊,以我自己為例,我是1987年進外商銀行當交易員,但我可是到1994年才開始能維持穩定的交易績效。所以當公司要發展程式交易平台時,我念茲在茲的是,不要讓初學者一使用這個平台,很快就被抬出去,要讓他們有時間鍜鍊,嚐試各種交易手法,飽嚐失敗的滋味,但又不會一敗塗地,這是XS的發展一直偏重在股票交易的原因,因為期貨的槓桿比股票大得多,期貨資金配置很重要,但初期我們系統能做到的很有限,我們自覺初期幫不了期貨交易者的忙,但對那些股票操作者,我們可以從選股,從交易時機的設計著手,讓我們的使用者可以有機會隨著經驗的累積,像黃先生一樣,漸漸型塑出自己的交易體系。

過去我在證券商工作時,總經理室那些每天作數據分析的高階參謀告訴我,我們的客戶長期下來,只有不到兩成的客戶賺錢,接近八成的客戶賠錢,這兩年,我認識的期貨商高管告訴我,長期下來,一個客戶從開戶入金到變成靜止戶,平均存活期間是11個月,而能活下來一直在賺錢的,只有1%。

這幾天有期貨商在大推程式交易,說程式交易玩期貨勝率比一般人高很多,這句話可能是對的,但我朋友告訴我,他們透過API下期貨的比重,這麼多年一直維持在一成,原因不是大家不用程式下單,而是下程式單的一樣被市場打敗抬出去,甚至抬出去的速度還更快。

不是我們不想推期貨的程式交易平台,以黃先生的交易策略為例,加碼的時機,資金的控管,是很重要的環節,以目前我們能提供的服務,透過程式找到可能的頭部及底部型態是可能做得到的,但一半一半的勝率只會讓每個期貨程式交易者都像上面說的丐幫一樣,重點其實在後面的加減碼及停損過程,等我們把資金控管的功能做好,等我們在股票程式交易平台的學習曲線達到我們滿意的地步,那時候再來往那個方向走。

我們發現,初學者從股票入手,成功的機率較大,受傷時傷勢較輕,所以我們從股票程式交易平台開始作。

希望用我們平台的客戶都能撐到找到自己的聖杯,沒有中途被抬出去

這是我的小小心願,為此,我們全力以赴。

 

 

打造自己的大盤多空函數

 

在前幾次的腳本中用了tselsindex這個我自訂的函數,但因為沒有再特別列出它的腳本,所以有些朋友反映腳本無法編譯成功,我想有必要跟大家介紹一下大盤多空自訂函數這樣的概念。

以前操盤時,老市場常常告戒我們,要順勢而言,不要逆勢操作,也就是多頭市場作多,空頭市場作空,當年我曾經不聽規勸,在空頭市場寫了一篇報告說EG會大漲,建議買進東聯,結果東聯一漲上去就被公司派大倒貨,這次之後我就學乖了,民國84年的空頭市場,別人輸的不要不要的,我靠放空新纖當年還能維持正的績效。 挨了一頓棍子又吃了一根大蘿蔔之後,從此我的操作策略起手式一定先問現在是多頭還是空頭?

因此當我接觸到XS這個語法的時候,我在寫交易策略時,一定會把大盤的多空方向考慮進去。所以每一個我放下去跑的策略,除了個股本身的觸發條件之外,一定會加上大盤的先決條件,例如我寫過一個整理結速的腳本如下:

input: Periods(10,"計算期數");
input: Ratio(7,"近期波動幅度%上限");
settotalbar(300);
setbarback(50);
if GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),10)
and average(GetSymbolField("tse.tw","收盤價"),5)
>average(GetSymbolField("tse.tw","收盤價"),20)
then begin
condition1 = false;
if (highest(high[1],Periods-1) - lowest(low[1],Periods-1))/close[1]
<= ratio*0.01
then condition1=true//近期波動在7%以內
else return;
if condition1
and high = highest(high, Periods)
//最高價創波段新高
and lowest(low,periods+20)*1.1<lowest(low,periods)
then ret=1;
end;

這個腳本裡,我特別加了下面這一段

if GetSymbolField("tse.tw","收盤價")
>average(GetSymbolField("tse.tw","收盤價"),10)
and average(GetSymbolField("tse.tw","收盤價"),5)
>average(GetSymbolField("tse.tw","收盤價"),20)
then begin

這一段的意思是,只有在加權指數高於10日均線且其5日均線高於牛20日均線時,才開始跑下面的程式,這就是先考慮大盤多空再來設定個股的觸發條件。

但如果每個腳本都要先寫這麼一段,感覺很煩,而且判斷大盤的多空方向有不同的方法,也不見得每次都用同樣的腳本,所以我就把這一段寫成自訂函數。

舉 tselsindex為例,我當切觀察到,這 幾年外資如果連續買超時大盤多頭的機率較高,所以我就寫了以下的自訂函數

input:length1(numeric);
input:lowlimit(numeric);
 
if countif(GetSymbolField("tse.tw","外資買賣超金額","D")>0,length1)
>= lowlimit
then value1=1
else
value1=0;
tselsindex=value1;

這個函數的概念是,如果在一段時間內外資買超的天數超過一定比例那麼tselsindex的值就=1,否則

=0 ,例如tselsindex(10,7)=1就代表過去十天至少有七天外資是買超的。

 

所以如果大家複製了我寫的腳本中有像tselsindex這樣的自訂函數,請先把這個函數加到自己的自訂函數中再來跑腳本才不會出現錯誤。

當然各位也可以自己制定自己的大盤多空策略函數,然後把它應用在自己的交易策略上。

我這幾年忙於公事,無法當一個全職的交易人,但光靠著站對邊,以及空頭市場儘量壓低持股比例這兩個原則,每年都還能混點業外收入,我深深知道順勢而為的好處,所以建議大家,在寫波段交易策略時,把大盤的多空方向考慮進去。

盤不錯的時候,冷門股量暴增到多少值得留意?

這一波不少原本默默無聞的中小型股,在出量後大漲,我想試著透過回測,去探究量要爆增到多少,才算是多頭號角已響起,回測的結果是,單日成交金額3億台幣,對一檔一整個月成交量都不到1億的公司來說,就是一個值得參考的多頭訊號。

我的測試腳本的撰寫的邏輯如下圖

單日成交值爆到三億的決策流程

對應的腳本如下:

value1=GetField("成交金額");
if trueall(value1[1]<=100000000,20)
and value1 cross over 300000000
and close > close[1]
and tselsindex(10,7)=1

then ret=1;

這當中用了一個我自己寫的大盤多空函數叫作Tselsindex,它的對應腳本如下:

input:length1(numeric);
input:lowlimit(numeric);
 
if countif(GetSymbolField("tse.tw","外資買賣超金額","D")>0,length1)
>= lowlimit
then value1=1
else
value1=0;
tselsindex=value1;

這麼寫,是讓系統在過去十天裡有七天外資買超的時候回傳1。

我這個腳本去回測中小型股的股票,出場是設在訊號出現之後的第十天出場,如果不考慮大盤(把tselsindex那一行拿掉),過去三年的回測報告如下:

07032803

過去三年共出現52次交易機會,雖然勝率五成左右,但明顯是贏的時候贏的多,輸的時候輸的少,所績效才能大漲小回。

如果考慮到大盤多頭才進場,把tselsindex=1這一行加進去,回測報告如下:

07032802

勝率明顯提昇,平均每筆交易的報酬率比不考慮大盤多空時要高出1%

如果把回測的時間拉長到從2011年初到現在,績效沒有這三年好,但也是不差的。

07032801

 

如果暴量的標準降為2億呢? 下圖是跑近三年資料的回測報告

07032804

交易的次數會多出很多,但勝率就被拉下來了。

從以下的測試,我們可以說,如果一檔過去二十個交易日,單日成交金額都不到一億的股票,如果最近一個交易日,成交金額已超過3億,那麼在多頭市場,這樣的股票,是很值得留意的,但如果單日成交金額不到3億,那就友達以上,戀人未滿了。

 

 

 

choppy market index ,ADX及噪音指標等去盤整指標

傳統的技術分析提供了兩類不同的工具,一種是趨勢指標如MA,MACD,DMI等,另外也提供了震盪指標像KD,RSI等。我在當外匯交易員時,師父教我們說有趨勢時用趨勢指標交易,盤整盤時,用震盪指標交易。 至於什麼時候是趨勢,什麼時候是盤整,因為唸的是經濟系,所以就用各種統計數據去計算多空雙方的力量,多空力量相差不大時是盤整盤,一方明顯強於另一方時是趨勢盤,股票市場可以用的數據更多,怎麼判斷現在是趨勢還是震盪,有更多的方法,可惜的是,我用了一些數據,效果都不如傳統的方法好。

目前傳統的方法,最常被提到的有三個指標

一,Choppy Market Index

這個指標的作法是以最新收盤價減去N日前的收盤價取絕對值當分子,以區間最高價減去區間最低價當分母,然後乘以100,取百分比值。

這個指標如果絕對值愈高,要嘛是分母很小,也就是區間最高價跟最低價相去不遠,這自然是盤整盤,要嘛是分子很小,那代表收盤價差距不大,也是盤整盤盤無誤,但這個指標最悶的地方在於,如果收盤價變動很小但最高最低價變動也很大時,數字可能很小,但實際上可能是尖頭反轉後的大漲。

如果是在一個原有趨勢裡,這個數字開始從高點往下走,的確是一個從趨勢走向盤整的訊號。

我把這指標改良了一下,用在加權指數上

腳本如下

input:period(10,"計算區間");
value1=(close-close[period-1])/(highest(high,period)-lowest(low,period))*100;
value2=absvalue(value1)-30;
value3=average(value2,3);
plot1(value3,"市場波動指標");

用它畫成的圖如下

07032701

從這張圖可以看出,

1.當這個指標從50以上下滑時,代表一個趨勢的休息

2.這指標踫到尖頭反轉會失真

二,ADX指標

在計算DMI時,也會算到ADX ,它的算法其實跟CMI很像,只是它是把上攻的部份佔波動區間的比率與下殺部份佔波動區間比例的差當分子,兩者的和當分母,所以如果踫到尖頭反轉時,一樣會踫到分子太小, ADX的值變小,但真實情況可能反轉後的行情正如火如荼的開展中。

下圖就是加權指數跟ADX的對照圖

07032702

從這張圖看的很清楚,如果趨勢形成後,中間遇盤整,ADX可以很清晰的透過指標值的回降而呈現,但如果是趨勢的反轉,就算新趨勢已形成,指標仍會是呈現盤整多空不明的情況。

三,噪音指標

這個指標先前我有介紹過,它是拿近N期的漲跌值當分母,拿近N期每天的高低差當分子,計算的腳本如下:

input:n1(10);
input:n2(10);
 
setinputname(1,"計算區間");
setinputname(2,"短天期移動平均");
value1=absvalue(close-close[n1-1]);
value2=summation(range,n1);
if value1=0
then return
else
value3=value2/value1;
value4=average(value3,n2);
 
plot1(value4,"短天期噪音指標");

 

這指標跟大盤的對照圖如下:

07032703

這指標的概念是指標值昇高代表噪音變大,代表阻力變大,盤整的機率大增,相反的,如果這指標在往下走,代表趨勢明顯。

 

除了上述三個指標之外,我試過用籌碼及委買委賣張數去做,效果都不好,就算用這三個,寫出來的策略,回測的數據也不大漂亮。

在趨勢市場中運用順勢交易系統,在盤整市場中運用震盪型交易系統,這樣的主張被稱為恆溫器交易系統,這種系統號稱不管在趨勢盤或盤整盤都能賺錢,這種交易系統的核心就是先判斷目前是趨勢盤還是盤整盤。

如何分辨現在是盤整還是趨勢盤,對我來說,還真是高難度的事情,目前也還沒有找到可信度高到可以直接拿來放到程式交易腳本中的策略,上面三個方法,比較像是去偵測原來趨勢是否進入多空均衡的狀態,這些方法對於如何提醒自己趨勢可能進入盤整,是有用的,但如果是尖頭反轉時,千萬別因為看到這類指標而錯過了行動的時機,這一篇算是跟大家介紹這一派別的思考方式,若真的找到好的方法,再上來跟大家介紹。

 

 

 

 

 

 

 

 

為什麼學投資要看A到A+

A到A+這本書,英文名字叫Good to Great,大部份能夠上市的公司,應該都可以算是夠 good的公司,但做為一個投資人,我們希望投資的標的,最好不僅僅只是good,我們希望挑到great的公司,特別是像現在指數都近萬點了,我們會希望投資的標的能夠長線保護短線,所以我們要挑那些好上加好,會不懼大環境,一直好下去的公司。

在A到A+ 這本書中,用了一張圖來說明這樣的概念

AA

James Collins認為,一家公司要從厚植實力到突飛猛進,要在三個方面建構六個特點,我把這樣的概念列表如下

一,對的人:

1.有第五級的領導人

2.先找對人再決定要做什麼

二,正面對決的心態

1.勇於面對嚴酷的環境

2.刺蝟原則

三,嚴謹的行動力

1.有紀律的文化

2.掌握新科技來加速成長

這六點裡最難懂的應該就是剌蝟原則,一樣有張圖來說明這個概念

hedgehog1

這張圖的意思是,那些從good往great 邁進的公司,他們把公司的重心放在以下三個的交集上

1.充滿熱情的事業

2.能達到世界水準的事業

3.可以帶動獲利引擎的事業

對於非商科背景的朋友,在這本書裡,James Collins透過研究,提出了變成偉大公司的作法,這些作法,不是用財務數字來描述,而是透過比較good的公司及great的公司,然後找到的一些great公司的共通點。

為什麼James Collins會寫這本書呢?

這要從他寫了Bulit to Last這本書談起,這本書的中文書名叫基業長青

他在這本書裡找出了18家所謂高瞻遠矚的公司,這些公司都具備一些共同的特徵,他說,如果你在1926年1月1日,各投資這18家公司一美元,到了1990年底,會增值到6356元,如果你是投到大盤指數基金,則是增長到415 元,所以Collins在這本書的序言裡,一開始就建議每一位投資人一定要看這本書。

後來有位麥肯錫的顧問跟他說,你研究做的很好,書寫的很棒,但書上只告訴我們,great的公司具有那些共同的特徵,但沒有告訴我們要如何才能讓一家公司從good變成great。

所以James Collins又花了5年的時間去研究要如何從good 變成great

然後寫了A到A+這本書。

 

這本書跟大家說明了從Good到great的進程,這些上面所提到的進程,大致可以列出幾個重點

1.有一個第五級的領導人

2.這位領導人把心思花在,不斷找到對的人進到公司

3.然後這家公司有紀律的把他們的熱情,專注在一項他們可以具有世界競爭力的產品

4.而這項產品是可以帶給他們夠豊厚的財務報酬

5.這家公司很有紀律的往這樣的方向持續前進

6.他們善有科技的創新,來加速他們往這樣的方向前進。

不曉得各位看到上面六點,腦海裡浮現的是那家公司呢??

台積電?鴻海?巨大? 巨大? 華碩? 大立光? 微星? 研華? 正新? 聯發科?

 

台灣還有那些公司,符合上述這六項原則,正一步步地在厚植實力,然後等到時機成熟的時候,會開始進入突飛猛進的階段呢?

我以前當研究員拜訪上市櫃公司的時候,感受到那種長期值得投資的公司,大都能夠維持一種不斷地迎向挑戰,專注在特定事業,持續架高進入障礙的韻律,這樣的公司,通常毛利率能維持在一定的數字,且每年營收很少會有較大幅度的衰退。

看了A 到A+這本書,才發現,這樣的韻律,正是厚植實力的過程。

所以,我推荐這本書,給所有的朋友

因為這裡頭,包含了如果挑出好公司的非量化觀察角度啊!!

 

 

非商科學投資可以參考的十本書

被問到如果不是唸商科,沒有學過會計的朋友,要學投資時,可以看那些書??

我回去看看我的書櫃,列了以下十本,也稍為寫了一下我推荐的理由,,點書名可以連到博客來,有興趣的朋友就做參考囉(這十本我都避開會計學了)

這十本書的共同特點是:

1.容易讀

2.觀念具有啟發性

3.沒有太多的財經專業名詞

 

 

一,巨波投資法

巨波投資法

這本書完整了交代了投資決策的流程,從大環境的產業到個股。

二,跨市交易思維:墨菲市場互動分析新論

跨市場

 

這本書讓您對股市,債市,匯市與商品市場的連動關係有一個輪廓,對於全球金融市場的變化及資金的流向,會更有想像力。

三,窮查理的普通常識

窮查理的普通常識

這本書可以學到生意的本質,不會因為錯誤的投資觀念而誤入魔道

四,彼得林區 選股戰略

彼得林區

這本書可以培養對於週遭所有商品的好奇心。

 

五,價值主張年代

價值主張年代

這一本把一家公司最核心的關鍵攤開來,看完這一本,看每家公司都可以直抵核心

六,平台經濟模式

平台經濟模式

 

商業模式是新經濟下的重中之重,看這本對挑股票會有啟發性

七,引爆會員經濟

引爆會員經濟

另一本談好商業模式的書,好的會員經濟會帶投資者上天堂

八,從A到A+


a到a加

天時地利人和,這本說的是人和

九,景氣循環投資法

景氣循環投資法

這本說的是天時

十,反脆弱

反脆弱

這本才是正確的風險觀念,把以前的教科書燒了,看完這一本,才知道要在金融市場上如何持盈保泰。

神奇公式的背後思維

投資大師Joel Greenblatt寫過一本書,中文翻成打敗大盤的獲利公式,最近我發現有不少文章在討論它,這個公式的概念基本上就是挑到好公司,然後在股價的相對低點區買進。

Joel Greenblatt認為,因為人們老是在發瘋,所以同一家公司,股價一下子漲,一下子跌,公司沒變,股價變了。

於是,我們可以建構一個交易策略,這個交易策略有兩個步驟

第一是: 挑到好公司

第二是:在夠便宜時買進。

實務上怎麼做呢?

Joel Greenblatt的作法步驟如下

1.列出所有殖利率的排名,由高排到低

2.列出股本報酬率的排名,由高排到低

然後把每檔股票這兩個排名相加,挑排名在前面的

我試著寫了一個選股法來做這件事

神奇公式選股法

今天選出來的股票如下:

神奇公結果

這個神奇公司,Joel Greenblatt拿它來從一萬多檔股票中過濾出一個投資組合,他認為這樣的投資組合可以打敗大盤。

我把這個神奇公司拿來應用在選股時,試著掌握住他的核心精神~ 股價變便宜的好股票,用這樣的邏輯,寫了不少的策略,後來發現,有時候以往的好公司,股價變便宜的原因,可能是因為公司不再像以往那麼好了,最有名的例子就是宏達電,如果按照ROE的排行,它過去可是連年排在很前面,也就是說,市場可能比Joel Greenblatt想像中的要有效率得多。

那麼怎麼來處理這個罩門呢?

 

 

我的作法是加上營收年增率大於零這個過濾器

然後把排行前100改成排行前200

如下圖,左上方是新增及調整的選股法,挑出來的股票在正下方。

20170311

 

我自己運用神奇公式的作法,倒沒有那麼拘限於公式本身,反而是它的精髓:  好公司踫到市場信心脆弱時。

至於什麼樣的公司才算是好公司,用ROE? ROA? ROC?  我個人倒是覺得這點大家可以各自表述。

 

 

實證真的有效的選股六大因子

XS跟其他程式交易平台,最大的差異就是把選股的邏輯放到交易策略的流程中,這麼做,跟傳統的程式交易者看法有落差,傳統的程式交易者覺得策略其實不是issue,資金管理才是issue,所以我很常被問兩個問題:1.同樣的策略,應用在不同的選股標準上,真的有差嗎?  2.什麼樣的選股策略真的會影響勝率?

要回答這個問題,得像白頭宮女話當年,有空的朋友就請聽我細細道來:

早先,我們入行的時候,約莫是1990年代初期,當年的主流意見是,你想要有比較高的收益率,就要冒比較大的風險,報酬是風險的補償,學者把一檔商品的報酬率分成兩部份,最大的部份是貝他beta,貝他就是風險的補償,但在同樣風險下硬是比別的商品多出來的報酬就稱為alpha阿法,所以我們幹基金經理人的,就是想辦法創造alpha,也就是打敗指數。

要怎麼打敗指數呢?  以前我們的做法是GOYAKOD,Get Off Your Ass and Knock on Doors,每天抬著我們的屁股去敲上市公司的門,說穿了就是賺資訊不對稱的錢。

後來學界及MSCI的研究指出,在同樣的風險底下,有幾個篩選股票的因子,可以提高報酬,也就是Alpha是可以透過選股跑出來的。

經過了無數專家學者的努力,他們發現,有六個因子可以在同樣的風險下提高報酬率,MSCI把這樣的概念畫成下面這張圖

FACTOR BETA

這六個因子分別如下:

1.基本面價值因子 Value Factor

這裡最常被用到的就是淨值市值比

2.規模因子 Size Factor

規模可以用股本來當標準

3.波動度因 子 Volatility Factor

跟一般人的想法不大一樣,要創造超額報酬,反而是波動愈小愈好

4.殖利率因子 Yield Factor

現金股利殖利率

5.經營品質因子 Quality Factor

像是穩定的營運現金流量

6.動能因子 Momentum Factor

過去一年表現比市場好的比較OK

MSCI認為,這六個因子,可以創造超額報酬,以下面這張圖為例,在雷曼事件後到2015年底裡,小型股的表現就是比大型股要好。

SMALL

這幾年,隨著量化分析的環境愈來愈完備,市場不斷有人提出新的選股因子,這些因子宣稱的是,它們雖然可能讓投資組合冒比較大一點點的風險,但帶來的報酬可能遠比增加的風險還高,晨星創造了一個名詞叫Smart beta來代表這樣的概念,市場開始出現愈來愈多的這類型基金。

這樣的趨勢發展,代表找到對的選股因子,其所組成的投資組合,確實可以創造更好的投資績效。

這樣的發展,就回答了傳統程式交易者的疑問

  1. 是的,選股策略如果寫的好,交易策略的勝率會比較高
  2. 上面六個因子是實證真的有效的,往這六個方向去訂選股策略,是可以work的,當然除了這六個之外,有愈來愈多人投入這方面的研究,也找出了更多的因子,我的一貫原則是: 實驗是檢驗真理的唯一道路,不斷的試,有效的,就留著用,沒有效的,就算人家說破嘴,照樣打槍

 


我理解市場上有大量的程式交易者,強項在寫程式,所以對於資金管理及策略優化有很強大的數理分析能力,但有的時候,不妨抬頭看看像MSCI這種請了一大堆高手在作研究的公司,他們在量化的道路上,發現了什麼有趣的事情,也許,可以產生更多的靈感。