要找抗跌的股票,可以找那些以往表現不錯,前陣子落難,但股價已有反映的公司。今天就來跟大家介紹我是怎麼挑這樣的公司。
首先我們先來定義什麼叫作過往表現不錯。
我同事寫了兩個腳本來作定義,
他的定義有以下幾條:
一、過去十年至少有八年有配現金股利
二、過去五年至少每年都配超過一元現金股利
這兩條的腳本如下:
value1 = GetField("現金股利","Y"); value2 = getfielddate("現金股利"); // 連續N年都有配股利 input: year_length1(8, "連續N年都有配股利"); condition1 = trueall(value1 > 0, year_length1); // 過去N年配大於X元股利 input: year_length2(5, "過去N年配"); input: cash_threshold(1, "配至少X元"); condition2 = trueall(value1 >= cash_threshold, year_length2); if condition1 and condition2 then ret = 1; outputfield(1, value1[0], 2, formatdate("yyyy", value2[0])); outputfield(2, value1[1], 2, formatdate("yyyy", value2[1])); outputfield(3, value1[2], 2, formatdate("yyyy", value2[2])); outputfield(4, value1[3], 2, formatdate("yyyy", value2[3])); outputfield(5, value1[4], 2, formatdate("yyyy", value2[4]));
三、最近一季營業利益率及毛利率跟過去幾年同期相比要維持成長
他寫了一個函數來作計算:
input: x(numeric, "季度"); settotalbar(30); value1 = GetField("營業利益率","Q"); value11 = 0; if value1[x] > value1[x+4] then value11 += 1; if value1[x+4] > value1[x+8] then value11 += 1; if value1[x+8] > value1[x+12] then value11 += 1; ret = value11;
這個函數是來計算過去n季,有幾季是每一季的營業利益率都比去年同期高。
同樣的,他也寫了一個函數來計算過去n季,有幾季是每一季的營業毛利率都比去年同期高。
input: x(numeric, "季度"); settotalbar(30); value1 = GetField("營業毛利率","Q"); value11 = 0; if value1[x] > value1[x+4] then value11 += 1; if value1[x+4] > value1[x+8] then value11 += 1; if value1[x+8] > value1[x+12] then value11 += 1; ret = value11;
有了這兩個函數之後,他寫了以下的腳本:
settotalbar(30); input: score_threshold1(9, "營業利益率得分門檻"); input: score_threshold2(9, "營業毛利率得分門檻"); value10 = callfunction("過去三年營業利益率同季比較分數", 0); value11 = callfunction("過去三年營業利益率同季比較分數", 1); value12 = callfunction("過去三年營業利益率同季比較分數", 2); value13 = callfunction("過去三年營業利益率同季比較分數", 3); value19 = value10 + value11 + value12 + value13; outputfield(1, value19, 0, "營業利益率得分"); value20 = callfunction("過去三年營業毛利率同季比較分數", 0); value21 = callfunction("過去三年營業毛利率同季比較分數", 1); value22 = callfunction("過去三年營業毛利率同季比較分數", 2); value23 = callfunction("過去三年營業毛利率同季比較分數", 3); value29 = value20 + value21 + value22 + value23; outputfield(2, value29, 0, "營業毛利率得分"); if value19 >= score_threshold1 and value29 >= score_threshold2 then ret = 1;
在這個腳本裡,他用callfunction這個函數,去呼叫上述那兩個函數,然後去計算這幾季裡,營業利益率及毛利率是否有一定的季度,都優於前一年同期。
符合上述條件的公司,才符合過往表現不錯的定義。
接下來我們來定義什麼叫作落難。
他的定義有三個:
一、股價夠低。例如股價要低於30元
二、估值不高,例如本益比要小於8倍
三、現金股利殖利率夠高,例如要大於5%
最後他把上述所有條件組合成一個選股策略,就是所謂過去表現不錯,如今落難的股票。
下圖是這個策略,過去七年所有普通股,停損停利設為7%的回測報告:
這是一個很不錯的選股策略,分享給大家,祝大家今天操作順利。
===
● XQ【盤後量化選股模組】($1,000) 完整介紹 ➤https://xqcom.psee.io/5hxqgl
● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,可折抵模組費用$100!
● 量化交易超值方案!購買就送:【量化積木+台股進階】(總價值$800)