從最新公佈月營收挖寶的十個方法

By | 2016-09-08

又快到每月的十號了,依慣例,這時候我們要留意即將公佈的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;

以上這十個腳本是我應用月營收時常用的腳本,趁這次月營收要公佈前,一次跟大家分享