十九年前,我第一次到證券商研究部當研究員時,部門有三位同仁輪流負責解盤,但大家用的分析工具不一樣,對盤勢的看法常常今天A君說多,明天B君卻翻空。我去分公司時,常被虧說你們研究部像月亮,初一十五不一樣。
後來我跟他們三位老兄分別聊了一下,學景氣燈號的作法,把他們用的分析工具,在EXCEL上作了一個表,每個工具都給一分,用來計算大盤的多空燈號。
後來這件事因為小弟EXCEL功力太差,每次作出來的結果都沒有太大的參考性,加上我又被叫去自營部工作,所以也就無疾而終了。
XS上線後,我一直想再試試重編大盤景氣燈號,研究了一陣子,今天來跟大家報告我的研究結果。
我一共用了以下的數據來當判斷分數的標準
1.外資買賣超
2.投信買賣超
3.自營商買賣超
4.融資餘額
5.融券餘額
6.上漲量
7.外盤量
8.RSI
9.MACD
10.KD
11.DMI
12.主力買賣超
13.AR
14.ACC
15.TRIX
16.SAR
17.MA
每個數據我都訂了一個多頭條件,例如RSI我就訂5日RSI比10日RSI高且低於80
如果符合條件就加一分,然後每天歸零,重新計算,最後再取十日移動平均。
在語法上,寫法大致如下:
input:P1(30);setinputname(1,"先前法人未接觸天數"); variable: XData(0),YData(0),ZData(0),Z(0); if currenttime > 180000 or currenttime < 083000 then Z =0 else Z=1; XData = GetField("外資買賣超")[Z]; YData = GetField("投信買賣超")[Z]; ZData = GetField("自營商買賣超")[Z]; value6=GetField("上漲量"); value7=GetField("外盤量"); variable:count(0); if date<>date[1] then count=0; if xdata>0 then count=count+1; if ydata>0 then count=count+1; if zdata>0 then count=count+1; if value4-value4[1]<20000 then count=count+1; if value5-value5[1]>20000 then count=count+1; if value6/volume>0.00001 then count=count+1; if value7/volume>0.5 then count=count+1; value8=rsi(close,5); value9=rsi(close,10); if value8>value9 and value8<90 then count=count+1; variable: Dif_val(0), MACD_val(0), Osc_val(0); MACD(Close, 12, 26, 9, Dif_val, MACD_val, Osc_val); if osc_val>0 then count=count+1; value10=mtm(10); if value10>0 then count=count+1; variable:rsv1(0),k1(0),d1(0); stochastic(9,3,3,rsv1,k1,d1); if k1>d1 and k1<80 then count=count+1; variable:pdi_value(0),ndi_value(0),adx_value(0); DirectionMovement(14,pdi_value,ndi_value,adx_value); if pdi_value>ndi_value then count=count+1; value12=GetField("主力買賣超張數"); value13=average(value12,5); if value13>0 then count=count+1; value14=ar(26); value15=linearregslope(value14,5); if value15>0 then count=count+1; value16=acc(10); if value16>0 then count=count+1; value17=trix(close,9); value18=trix(close,15); if value17>value18 then count=count+1; value19=SAR(0.02, 0.02, 0.2); if close>value19 then count=count+1; if average(close,5)>average(close,12) then count=count+1; value11=average(count,10); plot1(value11);
最後的分數要取幾天的移動平均,用10天,原因是我一直覺得兩週是多空的一個循環。
另外我會這麼寫的原因是有點認為市場參與者都有觀察市場的方法,我把大家常用的方法列出來計算分數,當分數愈高代表愈多人使用的工具會建議偏多,反之亦然。
所以當分數從五分以下往上走,代表會有愈來愈多人使用的工具開始由空翻多。
也因此,這樣的方法用在小型股就會不大適用,因為參與者不是一般大眾,其多空太容易受特定勢力的左右。