把股性拿來作為過濾條件

By | 2016-05-12

我們在設定個股的買進策略時,有時候會踫到假的訊號,例如震盪型指標踫到盤整時,就容易出現假訊號,就算嚴格執行停損,還是會因為過度交易,浪費交易成本而必影響獲利,今天來跟大家考論一個概念,如果我在寫一個股性轉變的濾網,當策略出現買進訊號時,透過這個濾網來觀察股性是否真的有明顯改變,只有真的有明顯改變時才觸發訊號,這麼做應該可以避免過度交易的情況

我曾經跟大家分享過我有十二個衡量股性的標準

衡量股性的指標

我試著用計分卡的方式寫了一個衡量股性的腳本如下:

1input:day(20);
2input:ratio(10);
3var:count(0),x(0);
4value1=GetField("總成交次數","D");
5value2=average(value1,day);
6value3=GetField("強弱指標");
7value5=GetField("外盤均量");
8value6=average(value5,day);
9value7=GetField("主動買力");
10value8=average(value7,day);
11value9=GetField("開盤委買");
12value10=average(value9,day);
13value11=GetField("資金流向");
14value13=countif(value3>1,day);
15value14=average(value13,day);//比大盤強天數
16value16=GetField("法人買張");
17
18count=0;
19if value1>value2*(1+ratio/100)
20then count=count+1;
21if value13>value14*(1+ratio/100)//比大盤強的天數
22then count=count+1;
23if value5>value6*(1+ratio/100)
24then count=count+1;
25if value7>value8*(1+ratio/100)
26then count=count+1;
27if value9>value10*(1+ratio/100)
28then count=count+1;
29if truerange> average(truerange,20)//真實波動區間
30then count=count+1;
31if truerange<>0
32then begin
33if close<=open
34then
35value15=(close-low)/truerange*100
36else
37value15=(open-low)/truerange*100;//計算承接的力道
38end;
39if value15>average(value15,day)*(1+ratio/100)
40then count=count+1;
41if volume<>0
42then value17=value16/volume*100;//法人買張佔成交量比例
43
44if value17>average(value17,10)*(1+ratio/100)
45then count=count+1;
46
47if value11>average(value11,10)*(1+ratio/100)
48then count=count+1;
49x=0;
50value18=summationif(close>=close[1]*1.02,x,5);
51if value18>=2 
52then count=count+1;//N日來漲幅較大的天數
53
54
55
56value19=GetField("融資買進張數");
57value20=GetField("融券買進張數");
58value21=(value19+value20);
59value22=average(value21,day);
60if value21<value22*0.9 //散戶作多指標
61then count=count+1;
62
63plot1(average(count,3),"股性綜合分數指標");
64plot2(average(count,day),"移動平均");

從以下幾檔這個月逆勢上漲的股票,我們可以發現,股票有大行情時,股性會有明顯的變化

051201

 

051202

 

各位不妨以這個例子為基礎,發展各自不同的股性過濾腳本,這樣就可以減少過度交易及盤整時出現假訊號的機率