一條公式選股術的回測報告

By | 2018-09-11

鏡週刊這一期介紹了一位教授,他用一條公式來挑股票,每年賺15%,我試著用XS來寫出這個選股公司,分享給大家。

這篇文章的連結如下

連結在此

這位淡江大 土木工程系的葉怡成教授,發展了一個叫GVI(Growth Value Index)的指數,

GVI=(B/P)×(1+ROE)^5

這個指數的意思是用淨值/股價去乘上(1+股東權益報酬率)的5次方,這個數字當然是愈大愈好。

教授認為,可以從市值超過兩百億的股票裡去篩選出GVI排名前20名的公司,然後做成投資組合,之後再根據最新的數據做再配置。

根據這樣的公式,我寫了一個函數的腳本如下

value1=GetField("股價淨值比","D");
value2=GetField("股東權益報酬率","Q");
value3=GetField("總市值(億)","D");
if value3>=200 then 
GVI=1/value1*(1+value2/100)*(1+value2/100)*(1+value2/100)*(1+value2/100)*(1+value2/100)
else GVI=0;

把這個GVI在選股時作為排行的函數

20180910

最新的排行結果如下

20180910

不過這裡要說的是,用這個方式挑股票時,要過濾掉那些因為業外獲利造成的假象,以及ROE正在變差的股票,不然像宏達電,南電這樣的公司也是會被納進來的

所以我就再加上營業利益率要大於零的條件,把腳本重新改寫如下

value1=GetField("股價淨值比","D");
value2=GetField("股東權益報酬率","Q");
value3=GetField("總市值(億)","D");
value4=GetField("營業利益率","Q");
if value3>=200 and value4>0 then 
GVI=1/value1*(1+value2/100)*(1+value2/100)*(1+value2/100)*(1+value2/100)*(1+value2/100)
else GVI=0;

改成這個腳本後挑出來的20檔股票名單如下

2018091001

我把這腳本拿去回測,持有期間是220天,過去10年的回測數據如下:

gvi

年平均投資報酬率有10%,不過倒也不是每年的年報酬率都是正的,大盤不好的時候拉回的幅度也是不小。

我試著把前二十檔改成十檔,回測報告如下

2018091002

勝率及平均年報酬率都增加,只是最大區間虧損還是太大了