又快到每月的十號了,依慣例,這時候我們要留意即將公佈的8月份營收,過去我曾經介紹過不少用月營收挑股票的方法,今天我想做個比較完整的整理,列出十個我用這個數字選股的方法。
在XS選股平台中,可以被拿來運算的關於月營收的數據一共有三個
1.月營收(單位:億)
2.月營收月增率(%)
3.月營收年增率(%)
要拿這三個數據來運算,我們也是用Getfield的語法,另外系統提供了Getfielddate的語法,可以呈現最新月營收公佈的期別。
例如我們想要挑出月營收年增率大於零的股票,我們就可以寫出以下的腳本:
value1=GetField("月營收年增率","M"); value2=GetFieldDate("月營收","M"); if value1>0 then ret=1; outputfield(1,value1,2,"月營收年增率"); outputfield(2,value2,0,"最新公佈的月份");
用這個腳本,就可以找出所有月營收年增率大於零的股票,也可以排序,並且知道這裡的數據是那一個月份的營收數字。
比較遺憾的是,目前XS系統裡的月營收,為了考慮排行的功能,都必須等到大部份的公司公佈最新營收時才會一起更新,其實如果有Getfielddate的語法,user可以自己清楚目前所引用的營收是那個月份的營收,應該是要可以做到公司在10號之前公佈,就可以馬上被更新。
(我有建議系統修改這個功能,希望很快就可以提供這樣的服務。)
有了月營收等三個數字,我們可以在每個月透過不同的運算法,檢視公司的最新營運狀況,我列了十個自己常用的方法,供大家參考。
一,月營收創一段期間以來新高
input:N(37, "期別"); value1=GetField("月營收", "M"); value2=GetField("月營收月增率","M"); value3=GetField("月營收年增率","M"); value4=GetFieldDate("月營收","M"); if value1=Highest(value1,N) //月營收創37期新高 and trueall(value2>0,2) //月營收月增率近兩個月都>0 and trueall(value3>0,2) //月營收年增率近兩個月都>0 then ret=1; outputfield(1,value4,0,"最新月份");
為了避免因為入帳時間的差異而造成假性新高,所以加上最近兩個月營收月增率及年增率都需大於零的條件
二,月營收創一段時間以來新低
input:N(37, "期別"); value1=GetField("月營收", "M"); value2=GetField("月營收月增率","M"); value3=GetField("月營收年增率","M"); value4=GetFieldDate("月營收","M"); if value1=lowest(value1,N) //月營收創37期新低 and trueall(value2<0,2) //月營收月增率近兩個月都<0 and trueall(value3<0,2) //月營收年增率近兩個月都<0 then ret=1; outputfield(1,value4,0,"最新月份");
設計的概念如第一個腳本
三,月營收年增率加速
這個概念是去計算月營收年增率的12個月平均及四個月平均,當短期平均線突破長期平均線時,代表月營收年增率增加的速度在加快當中
腳本的寫法如下:
value1=GetField("月營收年增率","M"); if average(value1,4) crosses over average(value1,12) then ret=1;
短期平均用四個月的目的在於消彌掉季節性因素的影響
四,總市值月營收比值在翻轉中的股票
總市值月營收比值代表市場對個別公司的信心度,這個比值如果開始穩定翻轉且搭配營收回昇,代表的是市場的信心及公司的基本面同步回復中
我寫的參考腳本如下:
value1=GetField("總市值","M");//單位:億元 value2=GetField("月營收","M");//單位:億元 if value2<>0 then value3=value1/value2 else value3=0; if trueall(value3>value3[1],3)//過去三期都上漲 and value3[3]<value3[4] and value3[4]<value3[5] //之前兩期是下跌 and value2>value2[1]//月營收成長 then ret=1; outputfield(1,value3,2,"總市值/月營收"); outputfield(2,value3[1] ,2,"前1期值"); outputfield(3,value3[2],2,"前2期值"); outputfield(4,value3[3],2,"前3期值"); outputfield(5,value3[4],2,"前4期值");
這個數值如果在回昇,代表股價回昇的速度比營收成長的速度還快,不過這個腳本是用月當頻率,如果很在意日股價的變動的,可以改成以日頻率來運算。
五,月營收推估出來的低本益比股
這是假設公司的最新單月營收會持續維持12個月,且未來十二個月的營業利益率都不變,以最新單月營收來推估EPS,進而推算出來的本益比
參考的腳本如下:
value1=GetField("月營收","M");//單位:億元 value4=GetField("營業利益率","Q"); value5=GetField("最新股本");//單位:億元 condition1=false; condition2=false; input:peraito(12,"預估本益比上限"); if value5<>0 then value6=(value1*value4*12)/(value5*10);//單月營收推估的本業EPS if value6<>0 then value7=close/value6; if value7<peraito and value7>0 then ret=1; outputfield(1,value7,0,"推估本益比");
六,連續N個月單月營收比上一個月成長
如果一家公司能夠連續好幾個月營收都比上個月成長,通常代表有了新的動力,由於我們有二月農曆春節放假的因素,所以公司不大可能連續12個月成長,所以我N通常都設在4-6之間。
參考的腳本如下:
input:period(5,"計算區間"); if trueall(GetField("月營收月增率","M")>0,period) then ret=1;
七,月營收三個月的年增率平均呈兩位數成長
單個月的營收年增率兩位數成長,可能是入帳的落差,但如果連續三個月的平均能維持兩位數成長,那就代表這家公司確實今年表現的比去年好
參考的腳本如下:
input:period(3,"計算區間"); if average(GetField("月營收年增率","M"),period) >=10 then ret=1;
八,累計營收年增率在加速中
公司的營運如果漸入佳境,愈來愈好,累計營收年增率會一個月比一個月好。
參考的腳本
input:period(6,"計算區間"); value1=GetField("累計營收年增率","M"); if trueall(value1>value1[1],period) then ret=1;
九,營收月增率優於歷年平均
營收月增率歷年平均,代表的是一家公司成長的步伐,如果營收月增率可以優於這樣的步伐,代表公司的營運有加快成長的可能。
參考的腳本如下:
value1=GetField("月營收月增率","M"); value2=average(value1,36); if value1>10 and value1>value2*1.3 then ret=1;
//input:TXT("僅適用月線"); setinputname(1,"使用限制"); setbarfreq("M"); If barfreq <> "M" then raiseruntimeerror("頻率設定有誤"); settotalbar(23); value1=GetField("月營收年增率","M"); value2=average(GetField("月營收年增率","M"), 3); value3=linearregslope(value2,20); value4=linearregslope(value2,5); if value3 < 0 and value4 crosses above 0 then ret=1;
以上這十個腳本是我應用月營收時常用的腳本,趁這次月營收要公佈前,一次跟大家分享