以前在做股票基本面量化选股的时候,常遇到一个问题,有些公司的季报,年报里的财务数据很不错,但是公司的股票却不见上涨,说明市场对公司公布的财报数据并不感兴趣。那如何能够选到被市场认可的并且基本面优良的股票呢?
《股票魔法师》一书,给出了一种相当不错的方法,该方法论述如下:
《股票魔法师》把这种模式称为净利润断层。所谓净利润断层,包含两个内容,一个是净利润高,另一个是断层(断层也就是我们常说的跳空上涨缺口)。净利润高说明公司质地优良,跳空上涨缺口说明公司的净利润增长获得了市场的认可。
这种模式通常是在公司公布的季报,半年报,年报时使用。比如券商析师跟踪的XXX公司,并且他们公认季度每股利润是0.60元,如果公司公布的数据是0.70元,那就有0.1元的超预期,也就是净利润超过了分析师的预期,如果此时股票出现了跳空缺口,这种情况就称之为 净利润断层。
净利润断层模式的要点
1-业绩公布当天涨幅最好大于7%,涨停最佳
2-股价一年新高,伴随大量上涨强度一定要好换手充分
3-最好刚刚走出底部反转形态
4-净利润增长最少大于50%,若是历史新高最佳
5-基金和北向都要看看,是否有机构看好
6-行业是否是朝阳产业,有无板块效应
7-缺口后可以回调,但是最好不要回补缺口
8-成交量最好连续几天放量,不能一天就完了
9-业绩是否能持续看有无新产品,新服务
10-平台突破+放量拉升+跳空缺口+强度+业绩超预期+朝阳行业。
净利润断层模式的选股公式如下:
{净利润断层}
高开缺口 := LOW>REF(HIGH,1) OR CLOSE/REF(CLOSE,1)>1.08;
{高开缺口 := LOW>REF(HIGH,1);}
当前日期 := DATE-1000000;
SV := -1;
EV := IF(WEEKDAY=1,3,2);
{DIFF := 70;}
DIFF := IF(MONTH=3 AND DAY=1, 72, IF(MONTH=3 AND DAY=2, 73, 70));
DIUP := 70;
DIDOWN := 75;
{业绩预告}
预告下限 := FINVALUE(285);
预告上限 := FINVALUE(286);
预告中值 := (预告上限+预告下限)/2;
预告日期 := FINVALUE(313);
预告日期差 := (当前日期-预告日期>SV) AND IF(RANGE((当前日期-预告日期),DIUP,DIDOWN),(当前日期-预告日期)-DIFF,(当前日期-预告日期))<EV;
预告断层 := (预告中值>0) AND 高开缺口 AND 预告日期差;
{业绩快报}
快报净利润 := FINVALUE(287);
快报日期 := FINVALUE(315);
快报日期差 := (当前日期-快报日期>SV) AND IF(RANGE((当前日期-快报日期),DIUP,DIDOWN),(当前日期-快报日期)-DIFF,(当前日期-快报日期))<EV;
快报断层 := (快报净利润>0) AND 高开缺口 AND 快报日期差;
{财报}
财报净利润 := FINVALUE(95);
EPSRATE := FINVALUE(184);
财报日期 := FINVALUE(314);
财报日期差 := (当前日期-财报日期>SV) AND IF(RANGE((当前日期-财报日期),DIUP,DIDOWN),(当前日期-财报日期)-DIFF,(当前日期-财报日期))<EV;
财报断层 := 财报净利润 > 0 AND EPSRATE > 0 AND 高开缺口 AND 财报日期差;
{最近日期断层}
最近日期断层 := 预告断层 OR 快报断层 OR 财报断层;
{指定日期1}
指定日期1 := 1;
{指定日期1业绩预告}
指预告上限1 := FINONE(285,0,指定日期1);
指预告下限1 := FINONE(286,0,指定日期1);
指预告中值1 := (指预告上限1+指预告下限1)/2;
指预告日期1 := FINONE(313,0,指定日期1);
指预告日期差1 := (当前日期-指预告日期1>SV) AND IF(RANGE((当前日期-指预告日期1),DIUP,DIDOWN),(当前日期-指预告日期1)-DIFF,(当前日期-指预告日期1))<EV;
指预告断层1 := (指预告中值1>0) AND 高开缺口 AND 指预告日期差1;
{指定日期1业绩快报}
指快报净利润1 := FINONE(287,0,指定日期1);
指快报日期1 := FINONE(315,0,指定日期1);
指快报日期差1 := (当前日期-指快报日期1>SV) AND IF(RANGE((当前日期-指快报日期1),DIUP,DIDOWN),(当前日期-指快报日期1)-DIFF,(当前日期-指快报日期1))<EV;
指快报断层1 := (指快报净利润1>0) AND 高开缺口 AND 指快报日期差1;
{指定日期1财报}
指财报净利润1 := FINONE(95,0,指定日期1);
指EPSRATE1 := FINONE(184,0,指定日期1);
指财报日期1 := FINONE(314,0,指定日期1);
指财报日期差1 := (当前日期-指财报日期1>SV) AND IF(RANGE((当前日期-指财报日期1),DIUP,DIDOWN),(当前日期-指财报日期1)-DIFF,(当前日期-指财报日期1))<EV;
指财报断层1 := 指财报净利润1 > 0 AND 指EPSRATE1 > 0 AND 高开缺口 AND 指财报日期差1;
{指定日期1断层}
指定日期1断层 := 指预告断层1 OR 指快报断层1 OR 指财报断层1;
{指定日期2}
指定日期2 := 2;
{指定日期2业绩预告}
指预告上限2 := FINONE(285,0,指定日期2);
指预告下限2 := FINONE(286,0,指定日期2);
指预告中值2 := (指预告上限2+指预告下限2)/2;
指预告日期2 := FINONE(313,0,指定日期2);
指预告日期差2 := (当前日期-指预告日期2>SV) AND IF(RANGE((当前日期-指预告日期2),DIUP,DIDOWN),(当前日期-指预告日期2)-DIFF,(当前日期-指预告日期2))<EV;
指预告断层2 := (指预告中值2>0) AND 高开缺口 AND 指预告日期差2;
{指定日期2业绩快报}
指快报净利润2 := FINONE(287,0,指定日期2);
指快报日期2 := FINONE(315,0,指定日期2);
指快报日期差2 := (当前日期-指快报日期2>SV) AND IF(RANGE((当前日期-指快报日期2),DIUP,DIDOWN),(当前日期-指快报日期2)-DIFF,(当前日期-指快报日期2))<EV;
指快报断层2 := (指快报净利润2>0) AND 高开缺口 AND 指快报日期差2;
{指定日期2财报}
指财报净利润2 := FINONE(95,0,指定日期2);
指EPSRATE2 := FINONE(184,0,指定日期2);
指财报日期2 := FINONE(314,0,指定日期2);
指财报日期差2 := (当前日期-指财报日期2>SV) AND IF(RANGE((当前日期-指财报日期2),DIUP,DIDOWN),(当前日期-指财报日期2)-DIFF,(当前日期-指财报日期2))<EV;
指财报断层2 := 指财报净利润2 > 0 AND 指EPSRATE2 > 0 AND 高开缺口 AND 指财报日期差2;
{指定日期2断层}
指定日期2断层 := 指预告断层2 OR 指快报断层2 OR 指财报断层2;
{指定日期3}
指定日期3 := 3;
{指定日期3业绩预告}
指预告上限3 := FINONE(285,0,指定日期3);
指预告下限3 := FINONE(286,0,指定日期3);
指预告中值3 := (指预告上限3+指预告下限3)/2;
指预告日期3 := FINONE(313,0,指定日期3);
指预告日期差3 := (当前日期-指预告日期3>SV) AND IF(RANGE((当前日期-指预告日期3),DIUP,DIDOWN),(当前日期-指预告日期3)-DIFF,(当前日期-指预告日期3))<EV;
指预告断层3 := (指预告中值3>0) AND 高开缺口 AND 指预告日期差3;
{指定日期3业绩快报}
指快报净利润3 := FINONE(287,0,指定日期3);
指快报日期3 := FINONE(315,0,指定日期3);
指快报日期差3 := (当前日期-指快报日期3>SV) AND IF(RANGE((当前日期-指快报日期3),DIUP,DIDOWN),(当前日期-指快报日期3)-DIFF,(当前日期-指快报日期3))<EV;
指快报断层3 := (指快报净利润3>0) AND 高开缺口 AND 指快报日期差3;
{指定日期3财报}
指财报净利润3 := FINONE(95,0,指定日期3);
指EPSRATE3 := FINONE(184,0,指定日期3);
指财报日期3 := FINONE(314,0,指定日期3);
指财报日期差3 := (当前日期-指财报日期3>SV) AND IF(RANGE((当前日期-指财报日期3),DIUP,DIDOWN),(当前日期-指财报日期3)-DIFF,(当前日期-指财报日期3))<EV;
指财报断层3 := 指财报净利润3 > 0 AND 指EPSRATE3 > 0 AND 高开缺口 AND 指财报日期差3;
{指定日期3断层}
指定日期3断层 := 指预告断层3 OR 指快报断层3 OR 指财报断层3;
{指定日期4}
指定日期4 := 4;
{指定日期4业绩预告}
指预告上限4 := FINONE(285,0,指定日期4);
指预告下限4 := FINONE(286,0,指定日期4);
指预告中值4 := (指预告上限4+指预告下限4)/2;
指预告日期4 := FINONE(313,0,指定日期4);
指预告日期差4 := (当前日期-指预告日期4>SV) AND IF(RANGE((当前日期-指预告日期4),DIUP,DIDOWN),(当前日期-指预告日期4)-DIFF,(当前日期-指预告日期4))<EV;
指预告断层4 := (指预告中值4>0) AND 高开缺口 AND 指预告日期差4;
{指定日期4业绩快报}
指快报净利润4 := FINONE(287,0,指定日期4);
指快报日期4 := FINONE(315,0,指定日期4);
指快报日期差4 := (当前日期-指快报日期4>SV) AND IF(RANGE((当前日期-指快报日期4),DIUP,DIDOWN),(当前日期-指快报日期4)-DIFF,(当前日期-指快报日期4))<EV;
指快报断层4 := (指快报净利润4>0) AND 高开缺口 AND 指快报日期差4;
{指定日期4财报}
指财报净利润4 := FINONE(95,0,指定日期4);
指EPSRATE4 := FINONE(184,0,指定日期4);
指财报日期4 := FINONE(314,0,指定日期4);
指财报日期差4 := (当前日期-指财报日期4>SV) AND IF(RANGE((当前日期-指财报日期4),DIUP,DIDOWN),(当前日期-指财报日期4)-DIFF,(当前日期-指财报日期4))<EV;
指财报断层4 := 指财报净利润4 > 0 AND 指EPSRATE4 > 0 AND 高开缺口 AND 指财报日期差4;
{指定日期4断层}
指定日期4断层 := 指预告断层4 OR 指快报断层4 OR 指财报断层4;
净利润断层 := 最近日期断层 OR 指定日期1断层 OR 指定日期2断层 OR 指定日期3断层 OR 指定日期4断层;
BARSSINCEN(净利润断层, 3)=0;
{净利润断层公式结束};
净利润断层模式也是陶博士很推荐的一种模式。但是使用这种模式还是要分辨出业绩超预期的是否真的是公司主营业务的超预期。不能简单的迷信利润断层,要从公司实际利润,未来业绩的持续性,股价目前所处的位置进行综合的判断。
本公众号主要记录本人的实盘分析,复盘总结及学习过程。所涉及标的不作推荐,据此买卖,风险自负。
联系客服