又快到每月的十號了,依慣例,這時候我們要留意即將公佈的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;
以上這十個腳本是我應用月營收時常用的腳本,趁這次月營收要公佈前,一次跟大家分享