8.s4=minlist(s1,s2,s3)*100;//找到近3年中,最低的現金股利成長率,單位為百分比。
9.end;//結束。
10.if value1>1 and r>s4and s4>0 then begin value2=value1/(r-s4)*100;//如果近5年現金股利的平均值大於1,且最低現金股利成長率小於6%,且最低現金股利成長率大於0,則以近5年現金股利的平均值除以「預期報酬率減最低的現金股利成長率(%)」,得到合理股價。
11. if close< >0 the nvalue3=(value2-close)/ close*100;//假如收盤價不等於零,則計算折價率。
12. i f value3>10 and GetField("現金股利","Y")>GetField("現金股利","Y")[1]then ret=1;//如果折價率大於10,且現金股利成長率大於零,則選出股票。
13.outputfield(1,value3,0,"折價率");//輸出折價率。
14.outputfield(2,value1,1,"平均現金股利");//輸出近5年的平均現金股利。
15.outputfield(3,s4,1,"近年 最低股利成長率");//輸出最低股利成長率。
16.outputfield(4,value2,1,"合理股價");//輸出合理股價。
17.end;//結束。
用這個程式語言挑出來的股票共有24檔(詳見圖1)。但是,這個方法最大的缺點是,如果現金股利成長率比預期報酬率高時,分母會變成負值。不過,長期來說,現金股利成長率高於預期報酬率的機率比較低,因此,如果能算出長期的現金股利成長率,這個公式的估值對成長股比較適用。
這個選股的公式也可以和其他選股方法搭配使用,先用其他方法選出標的後,再用這個公式算一下合理價格,評估如果公司營運成長的話,市場大概會給什麼樣的估值。
最後要提醒的是,任何選股方法都有其極限,透過程式語言篩選出的股票,只是縮小選股範圍,投資人在實際投資時仍然要多方驗證。