大盤多空對策訊號

By | 2015-05-26

ls3
十九年前,我第一次到證券商研究部當研究員時,部門有三位同仁輪流負責解盤,但大家用的分析工具不一樣,對盤勢的看法常常今天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天,原因是我一直覺得兩週是多空的一個循環。

另外我會這麼寫的原因是有點認為市場參與者都有觀察市場的方法,我把大家常用的方法列出來計算分數,當分數愈高代表愈多人使用的工具會建議偏多,反之亦然。

所以當分數從五分以下往上走,代表會有愈來愈多人使用的工具開始由空翻多。

也因此,這樣的方法用在小型股就會不大適用,因為參與者不是一般大眾,其多空太容易受特定勢力的左右。