Author Archives: 發財橘子

看盤用的腳本

看盤是大學問,從盤面中挑股票作短線是另外一門大學問,我認識的大戶們,都是這兩門學問的高材生。我試著用XS把他們的智慧轉化為警示腳本,供大家參考。

過去在證券商及投信服務時,有些機會,認識了一些大戶級的朋友,也有機會坐在他們的貴賓室,陪他們看盤,我整理了不同大戶的看盤邏輯,可以分成看大勢及挑股票兩種不同的心法。

 

先說看大勢,基本上大戶只要今天的盤不會大跌就願意進場,我留意到他們在研判今天的盤會不會大跌,主要是看幾個部份

1.大架構是不是處於多頭走勢。

2.人氣有沒有潰散。

3.指標股能不能帶動追價

 

再來看挑股票,基本上一個原則: 愈強愈好。從盤面上,則可以留意以下幾個特徵

1.一直在外盤成交

2.掛委買的張數明顯積極

3.佔大盤成交比重明顯成長

4.開盤委買張數及均張都明顯變大

根據上述的邏輯,我寫了兩個腳本

一個用來看大勢

condition1=false;
condition2=false;
condition3=false;

if average(close,5)>average(close,22)
then condition1=true;//週線在月線之上

if estvolume>average(volume,20)
then condition2=true;//預估量高於20日均量

value3=q_UpLimitSecs;//漲停家數
value4=q_UpSecurities;//上漲家數

if value3>15 or value4>250
then condition3=true;//漲停夠多或上漲的夠多

if condition1 and condition2 and condition3
then ret=1;

另一個用來挑可以繼續盯著看的股票

value1=q_InSize;//內盤量
value2=q_OutSize;//外盤量
value3=q_SumBidSize;//總委買
value4=q_BidAskDiff;//委買賣差(張)
value5=q_CashDirect;//佔大盤成交比重
value6=q_BoughtLotsAtOpen;//開盤委買張數
value7=q_BoughtAverageAtOpen;//開盤委買均張

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

input:r1(1.5,"外盤量/內盤量的比值");
input:q1(1000,"外盤量-內盤量");
input:q2(300,"總委買下限");
input:q3(200,"委買賣差下限");
input:r2(20,"佔大盤成交比重成長下限");
input:q4(300,"開盤委買張數下限");
input:r3(20,"開盤委買均張成長率下限");

if value1<>0
then value8=value2/value1;
if time>090500 and value8>=r1
then condition1=true;//外盤是內盤的 1.5倍以上

if value3>=q2 and value4>q3
then condition2=true;//總委賣夠大且買賣差也夠大

value9=average(value5,20);
if value5>=value9*(1+r2/100)
then condition3=true;//佔大盤成交值比重明顯回昇

if value6>q4 and value7>average(value7,20)*(1+r3/100)
then condition4=true;//開盤委買張數及均張都夠迷人

if condition1 or condition2 or condition3 or condition4
then ret=1;

在設定策略雷達時,我用第二個腳本,並且在參照參數的地方,我選擇加權指數,並且使用第一個腳本。

021901

透過這樣的設定,我們就可以在盤中只有大勢還可以作多時,把那些值得盯盤的股票,透過策略雷達,一檔檔送到我們面前來,這麼一來,應該就不必再盯著電視牆了。

運用趨勢性指標時,透過股性做確認趨勢是否成形

當趨勢指標(如MA,MACD出現買進訊號時,我們最忐忑的是,這把下去不知道會不會又踫到盤整盤所出現的假訊號,偏偏老手們常說一年裡頭三個月漲,三個月跌,六個月盤,所以摃龜的機率還蠻大的。我試著在趨勢指標出現買進訊號時,再加上一個濾網,看看是否當上昇趨勢成形時,股性是否也明顯變好,如果兩者同步,代表脫離盤整的機會比較高。

基於上述的精神,我寫了一個腳本如下:

 //先預計兩個前提假設都不存在
condition1=false;
condition2=false;

//定義趨勢明確的條件

// MACD 黃金交叉 (dif向上穿越macd)
//
input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數");
variable: difValue(0), macdValue(0), oscValue(0);

SetBarBack(maxlist(FastLength,SlowLength,6) + MACDLength);
SetTotalBar((maxlist(FastLength,SlowLength,6) + MACDLength) * 4);


MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);

if difValue Crosses Above macdValue
then condition1=true;

//定義有足夠的證據顯示股性出現轉變


input:day(66,"股性指標的移動平均天數");
input:ratio(10,"股性指標超出均值比率");
variable:count(0);


value1=q_TotalTicks;//總成交次數
value2=average(value1,day);
value3=GetField("強弱指標");
value4=average(value3,day);
value5=GetField("外盤均量");
value6=average(value5,day);
value7=GetField("主動買力");
value8=average(value7,day);
value9=GetField("開盤委買");
value10=average(value9,day);
count=0;
if value1>=value2*(1+ratio/100)
then count=count+1;
if value3>=value4*(1+ratio/100)
then count=count+1;
if value5>=value6*(1+ratio/100)
then count=count+1;
if value7>=value8*(1+ratio/100)
then count=count+1;
if value9=value10*(1+ratio/100)
then count=count+1;

if count >=3 then condition2=true;

//當上昇趨勢成形且股性明顯轉變時

if condition1 and condition2
then ret=1;







這個腳本就是使用了強弱指標,外盤均量,主動買力,總成交次數及開盤委買張數等五個指標做為衡量股性的工具,任何MACD出現黃金交叉的股票,都必須在上述五個股性指標中,有三個以上能夠出現比平均值高出一成以上的表現。

我試著用這樣的方法,來避開趨勢性指標出現太多假訊號,造成過多停損的後果。

當然也有朋友會透過選股的方式,先找出原本就認為比較有上漲機會的股票,這也是一種方式。

找形成上昇趨勢的股票,並且努力濾掉那些假訊號,是一個值得長期Study的topic

 

 

 

用XS寫籌碼集中度的選股策略

網友想要直接有籌碼集中度的欄位可以拿來用,在XS改版前遠水救不了近火,所以我就寫了一個自訂函數來算籌碼集中度,並且拿它來選那些籌碼集中度高且股價還沒有大漲的股票。

我的函數寫法如下:

input:days(numericsimple,"計算天數");
value1=GetField("主力買賣超張數");
value2=summation(volume,days);
value3=summation(value1,days);
if value2<>0
then value4=value3/value2*100;
bs=value4;

我把這個函數的名稱取為BS,是Buysell(買賣超)的簡寫,各位可以取不同的名字

接下來我用這個函數寫了下面這個腳本:

 input:days(10,"天數");
input:ratio(5,"最低百分比");
input:percent(10,"漲幅上限");
value1=bs(days);
if close[days-1]<>0 and close>close[days-1]
then value2=(close-close[days-1])/close[days-1]*100;
if value1>ratio and value2<percent 
then ret=1;
outputfield(1,value1,0,"籌碼集中度");
outputfield(2,value2,1,"區間漲幅%");

這個腳本可以找出在N日內,籌碼集中度高於多少百分比,且漲幅低於多少百分比的股票

我用這個腳本來跑今天的資料,挑出的股票如下圖

021801

 

如果想要更改區間,只要點選下圖的調整參數按鈕

021802

就會跳出以下的視窗,調整不同的天期或百分比了

021803

高毛利低獲利高成長的股票~選股起手式

選股的招式百百款,有一招是當年入行時師兄們的入門款~高毛利低獲利但開始高成長的股票,這種股票因為低獲利,所以股價通常不高,但因為高毛利,一旦營收成長,對獲利的貢獻度就很明顯,等到最新財報公佈,數字經常會優於預期,挑股票就要挑會優於預期的,不然要挑什麼? 您說是吧(對不起,裝年輕,學一下泛舟哥!)

 

小弟剛入行的時候,call公司的時候,會遇見這領域的大咖研究員,從他們問上市公司的問題裡,偷學到很多,其中有一位大哥,別的研究員在問EPS之類的數字時他都很不屑,他問的都是那些今年再花多少資本支出?準備把錢花到那邊去?某個新產品的開發進度?等等很細的事情。

在有了一起抽過幾根煙的交情之後,有次趁一起抽煙的時候,我就很抖膽的請教他為何不問EPS?老是問那些很細的事情。

這位大哥跟我說,大家都知道的資訊無法創造比別人好的績效,要比別人強,就必須比別人看的早,他說我們CALL的這些公司,很多老闆都是看到時機來了,準備擴張,這樣的公司,之前在拼研發及佈局的時候,有很多的研發支出或行銷支出,這些支出都是營業費用,但因為營收還沒有達到經濟規模,所以會造成高毛利,但低獲利。可是一旦營收上來,而且不必再隨營收規模一直去作研發及行銷支出時,獲利就會很明顯的跳上來,我問的那些問題,就是想要找出這些公司裡有那一些公司已經開始進到這個階段,因為進到這種階段的公司,如果押對產品,後面的營收成長速度維持一定速度,但獲利會一直往上跳,這種公司何必去問下一季的EPS。

自從抽完那根煙,我覺得我的功力好像增加了一甲子,後來我自己也學著去尋找這種十年寒窗,但風生水起的公司。這類的公司,先前EPS不好,股價不高,所以我進場的價位都不算貴,但後來營收一跟上來,獲利三級跳,股價也跟著明顯上揚,那幾年我的績效裡,主要都是靠這類的股票在貢獻,反而是那些跟著上市公司發言人起舞的股票,總是來得快去的也快。

這些年離開了投信業,我基本上還是比較關注這樣的公司。

我最常以葡萄王為例,以前這家公司其實業績表現平平,但因為行業特性,毛利率一直都維持在三成以上,1997年它開發靈芝王,基本上就算開始要轉生技食品了,到了1998年它開始成立葡眾作直銷,這兩件事對它來說都是新的嚐試,也就是要花錢且短期看不到回報的事,所以它的財報裡到了1999年到2000年,本業其實都虧錢。

021702

這樣的情況一直在持續,2001年到2003年它的營收從10億成長到12億,但EPS都是在五毛錢左右,even到了2004到2006年,營收也才再成長到14.9億,不過這時候EPS也明顯拉高到2.13元,這就是高毛利的好處,這家公司在最慘的時候毛利都還有三成,雖然營業利益率在2004年低到只有2.26%,但一旦後面營收衝上去,營益率很快跳到兩位數。

作為一個投資人,其實對我們最大的回報,就是這種高毛利低獲利的公司開始展開高成長的第一時間點,就被我們掌握住

021701

去追蹤這樣的公司的好處是,因為先前獲利太差,所以沒有法人會來跟你搶,它的股價其實是到了2007年營收年增率明顯跳上去之後,才開始大漲。

為了不斷地尋找有這種可能的股票,我寫了以下的腳本

input:gr(45,"毛利率下限");
input:epsy(0.5,"最近一季每股稅後EPS上限");
input:gwr(10,"最近三個月營收yoy平均成長率下限");
value1=GetField("營業毛利率","Q");
value2=GetField("每股稅後淨利(元)","q");
value3=GetField("月營收年增率","M");
value4=average(value3,3);

 
if value1>= gr 
and value2<=epsy 
and value2>0
and value4>=gwr
then ret=1; 
outputfield(1,value1,0,"營業毛利率");
outputfield(2,value2,2,"最近一季EPS");
outputfield(3,value4,1,"最近三個月營收yoy平均成長率");

這個腳本要設定的參數如下圖

021704

參數各位可以自行設定,資料讀取,最大引用及指定頻率這三項則千萬不要改錯。

用這腳本及設定,透過XS跑選股,今天挑出來的股票有53檔,毛利率較高的股票如下圖

021705

這其中證券股及營建股因為營收的落點懸殊,應該濾掉,其他的股票值得我們後續持續去追蹤及研究。

 

 

急漲拉回轉強三部曲

我那些現實的朋友們,剛過完年,見面不說恭喜,也不慰問一下我這被地震搖的花容失色的災民,劈頭就問:"這台股能買呢? 要買什麼?",今天就來跟大家分享一個市場老手在大跌後的選股策略: "急漲拉回轉強三部曲"。

每次大盤回檔比較多之後,股市稍一轉強,就常被問:"買什麼?"

以前我也是問這問題的人。

後來有次問到一個我們營業檯的"自營商",他教了我一招

當年電腦軟體不普及,他攤開財訊快報那一疊很厚的K線圖,然後叫我去挑那些

1.先前急漲

2.後來拉回

3.現在轉強

的股票

我把他的意思畫成下面這張圖

急漲拉回轉強

他說,根據他多年的觀察,很多後來基本面有所轉變,股價大漲數倍的股票,都先出現急漲,代表買的人知道未來會很好,所以很敢追價,但後來因為大盤不好,開始出現拉回,但拉回的幅度不會太大,且跌勢會比漲勢和緩,這種股票,一旦大盤好轉,開始轉強時,就要很留意。

我跟他說,當年我在當外匯交易員時,有稍稍學了點波浪理論,他的說法,很像五波中的第一跟第二波,他說: 孺子可教也。

事隔多年,我只記得他跟我說,先前急漲如果愈急且放量,愈要留意。

現在有了XS,我試著寫了一個腳本:

//波段高點距今一段時間
//起算點到波段高點不算長且漲幅不小
//波段高點到昨日收盤有一定的拉回幅度
//今天開高,出量且相對走強
var:period(20);//波段天期
input:up(25,"上漲幅度");
input:down(15,"上跌幅度");
value1=highest(high,period);
value2=highestbar(high,period);
value3=q_CashDirect;//成交比重
value4=q_OrderRatio;//委託買賣差佔總委託比
condition1=false;
condition2=false;
condition3=false;
for period=20 to 60
begin
if value1>=close[period-1]*(1+up/100)
then condition1=true;
//波段漲幅不小
if value2>period/3
then condition2=true;
//起算點到波段高點時間不算長
if close[1]<value1*(1-down/100)and close[1]>close[period-1]
then condition3=true;
//波段高點到昨日收盤有一定的拉回幅度
if condition1 and condition2 and condition3
and open>=close[1]*1.015//開高
and value3>average(value3,5)//量增
and value4>average(value4,5)//委買增

then ret=1;
end;

這個腳本其實沒有太考慮先前是否是急漲,只是挑出那些先漲後拉回再轉強的股票,如果要精確地挑出那些先前是急漲的股票,還需要作更多的定義,不過我想拋磚引玉,大家不妨以這個腳本為樣本,再自行調整修改成勝率更高的第三波主昇波起漲點腳本。

 

大盤多空轉換點之探討系列三: MFO資金流震盪指標

在尋找研究大盤多空趨勢的過程中,有市場老手跟我提醒:” 量是價的先行指標”,甚至如果要研判大盤的方向時,量比價還重要。

所以我一直在尋找那種同時考量到價與量的指標。

後來我在去年十月的 Technical analysis of stocks & commodities雜誌上,看到介紹當紅指標: the money flow oscillator時,我就非常興奮,因為這是一個同時考量價與量的指標。

這個指標的XS腳本如下:

input:period(20,"計算天期");
value1= ((high-low[1])-(high[1]-low))/((high-low[1])+(high[1]-low))*volume;
value2= summation(value1,period)/summation(volume,period);

plot1(value2,"MFO資金流震盪指標");

它的原理是先算出近兩日多頭與空頭各自的戰果,然後找出多頭戰果佔兩者合計的比例,再拿這個比例去乘以成交量,最後再計算這二十天以來這樣算出來的成交量佔這二十天總成交量的比例是多少。

怎麼去計算多頭與空頭的戰果,我用下面這張圖來說明

mfo資金流震盪指標的原理

 

從這張圖可以看得出來,這個指標的特別之處,是用了兩根K棒最高點與最低點的相對位置,來衡量多頭與空頭的力量。

我把這個指標應用在台股,日股及Nasdaq上頭

012803 012802 012801

我個人覺得這樣的指標,頗值得參考,不愧是老美會在雜誌上拿出來特別介紹一遍的當紅指標。

內外盤量差指標

在XS裡頭有提供兩個欄位,一個是內盤成交量,另一個是外盤成交量,當您把這兩個欄位應用在加權指數這個商品時,系統所提供的這兩個欄位數據是整體市場普通股合計的內盤成交量及外盤成交量,而這兩個數字,可以讓我們清楚了解整體市場追價(外盤成交量)與殺低(內盤成交量)的力道。

今天要介紹的第二個大盤指標,就是用來計算這樣的力道,我稱之為”內外盤量”

它的腳本如下:

input:period(5);
input:period1(20);
setinputname(1,"短期移動平均天數");
setinputname(2,"長期移動平均天數");
value1=GetField("內盤量");
value2=getfield("外盤量");
if value1<>0
then value3=value2/value1;
value4=average(value3,period);
value5=average(value3,period1);
value6=value4-value5;
plot1(value6,"長短天期差");

 

這個腳本的演算邏輯如下:

1.先算出內外盤比: 外盤量/內盤量

2.分別算出內外盤比的五日平均及二十日平均

3.把五日平均減去二十日平均

從計算方法我們可以了解,這數字會在零上下游走,大於零代表近五日的外盤與內盤量比,優於近二十日的平均情況。

所以如果目前大盤屬於盤整格局,這數字應該會在零上下游走,如果大盤是多頭走勢,追價積極,這數字就會很明顯是正的,如果是下跌走勢,追價意願不大,則會是負的。

它的好處是,因為是五日均值與二十日相比,所以在大漲大跌之後,容易出現高檔或低檔鈍化的現象,進而形成一個領先指標。

大盤多空轉換點之探討系列一: 上漲的股票有沒有200檔?

這次的下跌,有些透過XS作程式交易的朋友跟我討論,XS是不是能夠協助建構一套大盤的多空判斷機制,讓User可以有一個多空的明確基準,這樣才不會在空頭市場仍然一直使用作多的策略在操作。

我自己使用xs這兩年來的經驗,確實必須有一套控制多空比例的機制,不能一味地使用作多的策略,我自己就曾經看空大盤,但策略出現作多訊號就跳下去搶短,而被套牢,最後不得不含淚停損。

這樣的慘痛經驗,讓我在進行程式交易時,開始建構一套系統化調整多空比例的機制,

在這個機制裡,我創建了一些是否持續作多? 還是轉而放空的檢查點,接下來到封關前,我想就來跟大家分享這些檢查點的形成過程及思考的方式,大家可以也試著建構自己的持股比例調整機制。

 

今天第一個跟大家介紹的,是一個簡單的經驗法則:

1.整個大盤如果近幾天,最差的情況下,上漲的股票數還有200家以上,那基本上作多是有空間的。

2.如果上漲的股票家數沒有200家,我們千萬不要覺得自己的股票是那少數的股票之一,這時候最好空手或是使用空頭操作策略。

3.如果上漲的家數跌到100家以下,那麼就是屬於很空頭的情況,這時候反而可能出現反彈。

這樣的法則,是來自於我寫的一個自訂指標,它的腳本如下:

input:shortterm(5);
input:midterm(15);
setinputname(1,"短期均線");
setinputname(2,"中期均線");
value1=GetField("上漲家數");
value2=lowest(value1,shortterm);
value3=average(value2,midterm);
 
plot1(value3,"中期均線");
plot2(200);
plot3(100);

 

這個腳本的概念是

1.先尋找近五日裡,上漲家數最低的那一天的上漲家數是多少家

2.再把這個數字取20日移動平均

這樣的算法就可以找出這最近20天上漲家數最低的時候大約是落在什麼地方?

下面這張圖就是這個指標跟大盤對照的長期走勢圖

大盤上漲指標

透過這張圖我們可以發現,如果這樣算出來的數字在200以下,基本上指數是在下降趨勢,反之,指數則屬於上昇趨勢。但如果這數字跌到100以下,代表整個空頭的恐佈氣氛已經到了無以復加的地步,離反彈不遠了。

以今天為例,很接近100了。

上漲家數指標

這個指標的應用很明確

1.在200以上,使用多頭交易策略

2.跌破200,改成使用空頭交易策略

3.跌破100,空頭平倉,觀望,等待反彈

 

接下來幾天我還會陸續介紹一些機械式判斷大盤多空的方式。

這時候我們能做點什麼?

以前師父常說,不確定因素是股市多頭最大的敵人,但不確定因素所造成的重挫,當不確定性因素消失後,跟在後面的是急遽的報復性上漲。

最近的不確定性因素不少

1.520之前,老共對於回到92共識這件事到底新總統得做到什麼地步,才不會發生地動山搖,這是個不確定性因素。

2.油價破底帶動的全球股市回檔,會不會進一步惡化,這是個不確定性因素。

3.中國原本幣值緩貶,利率緩昇,股市多頭,新經濟抬頭的正向循環,已經打破,各個泡沫看來是非擠不可,這是個不確定性因素。

這些不確定因素造成這段時間以來的下跌走勢。

這時候我們能做點什麼?

過去的經驗告訴我們,在不確定的時代,我們應該尋找的是,不受不確定因素影響,確定會成長的企業。

所以這時候是我們做功課的時候。

做什麼功課呢?

我們不妨從時間的長河中,尋找各上市公司目前所在的位置,然後錨定那些正處於正向循環的公司,等待這些公司股價的修正及落底。

正向發展

就像上面這張圖一樣,我們不妨從各公司歷年來的營收變化,來判斷目前各企業是屬於企業生命週期中的那一個階段,然後把那些在正向發展中的企業放進觀察名單中。

XQ個股分析的營收追蹤項目裡,有三個TAP,第一個是營收走勢,當您把頻率切換成年,再把區間拉到最長時,會出現像下面這張圖

年營收走勢

屬於正向循環的企業,有兩個特徵

1.過去幾年的年營收年增率是正的

2.累計月營收年增率也是正的

至於這些企業是屬於上面那張圖裡的那一種企業,還是看其市佔率,營收成長率等其他因素而定。

底下我舉一些例子,大家可以透過這個方式,看看不同企業,目前是處於企業生命週期的那一個階段?

和大年營收走勢 三芳年營收 六角 瑞昱的年營收走勢圖 崑鼎年營收走勢

 

火箭後拉回

火箭後拉回

 

火箭後拉回

input:TXT1("僅適用1分鐘線"); setinputname(1,"使用限制");

if barfreq ="Min" and barinterval =1 and
 close[1]/close[2]>1.015 and //上個1分鐘線單分鐘拉超過1.5%
 q_dailyhigh > high and //高不過高
 Close < q_dailyhigh*0.99 and //自高檔回1%
 Close > Low[1]
 then ret=1;

 以上腳本請參考