透過XS選股平台制訂選股策略的流程

By | 2015-12-30

因著最近的XS語法教學,與XS的使用者有了更多的互動,我發現,最常被問到的問題是:”你怎麼知道要用這樣的方式來選股? 你怎麼知道要用這個方法來制訂交易策略?”,我的方法除了經驗及看書之外,最常做的方式就是去尋找每一檔大漲過的股票的共同特點,然後用它來制定自己的選股策略。

 

在跟程式交易入門者互動的過程中,我發現,當大家學會寫程式之後,接下來所面對的問題是: 不知道要如何寫出屬於自己專屬的交易策略?

我自己的作法如同下面這張圖:

選股策略流程

根據這個流程,首先我們得找出所有曾經大漲過的股票,然後看看他們有那共同特徵。

為了作到這件事,我寫了下面這個腳本

input:aday(20150824,"漲跌幅計算起點");
input:ratio(10,"漲跌幅過濾標準");
input:trendmark(1,"1:超過標準,2:低於標準");
value1=getbaroffset(aday);
if trendmark=1
then begin
if close>close[value1]*(1+ratio/100)
then ret=1;
end;
if trendmark=2
then begin
if close<close[value1]*(1+ratio/100)
then ret=1;
end;
if close[value1]<>0
then value2=(close-close[value1])/close[value1]*100;
setoutputname1("起始日迄今漲跌幅%");
outputfield1(value2);
setoutputname2("股本(億)");
outputfield2(GetField("最新股本"));
outputfield(3,GetField("累計營收年增率","M"),0,"累計營收年增率");
outputfield(4,GetField("股價淨值比","D"),1,"股價淨值比");
outputfield(5,GetField("董監持股佔股本比例","D"),1,"董監持股比例");
outputfield(6,GetField("股利合計","Y"),1,"股利合計");
outputfield(7,GetField("投信持股比例","D"),1,"投信持股比例");
outputfield(8,GetField("公司掛牌日期"),0,"公司掛牌日期");
outputfield(9,GetField("營業毛利率","Q"),1,"毛利率");
outputfield(10,GetField("營業利益成長率","Q"),1,"營業利益成長率");

這個腳本可以很快的找到從特定日期以來,漲跌幅超過一定百分比的所有股票,並顯示出這些股票的相關統計數據

例如我想找到從今年一月一日以來,到今天為止,漲幅超過五成的股票有那些?

我就把這個腳本拿來制訂了一個選股策略,這個策略的參數設定如下圖

選股參數調整樣本

然後我就可以挑出今年以來漲幅超過五成的股票

並且由於我在腳本中用outputfield的方式,讓電腦在列出這些符合條件的股票的同時,也列出這些股票的相關數據,所以透過XS選股平台挑出來的股票,呈現方式如下:

123001

 

如上圖,今年漲幅超過五成的一共是70檔,我們可以按各個欄位的標題,電腦會根據這個標題的數據重新排序

透過這個排序的功能,我們會發現這些股票有幾個共同的特徵

1.股本最大的是85億的榮化,其中61檔股本低於30億元。

2.絕大多數累計營收年增率是大於零

3.絕大多數董監持股比例大於兩成

4.大部份是有發放股利

5.大部份毛利率超過15%

6.大部份營業利益成長率是超過兩位數

接下來我們可以把這個欄位通通再換成其他的欄位再重跑一遍,然後再觀察這70檔股票還有那些共同的特徵。

這樣子不斷的嚐試,我們就可以訂出屬於我們自己的選股策略。