使用市盈率选股,被《基本面量化选股》一书证明了是一种有效的投资策略。
本文市盈率是指滚动市盈率(市盈率TTM)。
使用市盈率选股,面临两个问题:
1.市盈率多低才算低估?多高才算高估?
2.如何避免买入“低估值陷阱”的股票?
一、市盈率的市场分布
市场是有效的。市盈率的高低,不是由投资者或机构决定的,而是由股票市场决定的。
新兴市场的市盈率水平普遍高于成熟市场。欧美股市的市盈率一般在15倍左右,亚洲发展中国家的市盈率一般在30倍左右。即使优秀如苹果公司,今天的市盈率也只有25倍。
因此,利用市盈率对股票估值,应该结合本国股市的市场现实。
下表是我统计的股票市盈率的比例分布状况,时间节点为2022年9月14日。
表1 A股市盈率分组百分比
4908家股票中:
负市盈率,占比19.5%,这有点出乎我的意料;
市盈率0-15倍,占比12.1%;
市盈率15-30倍,占比24.0%;
市盈率30-50倍,占比18.9%;
市盈率50-100倍,占比15.2%;
市盈率100-200倍,占比5.9%;
市盈率200-300倍,占比1.9%;
市盈率300-500倍,占比1.2%;
市盈率500倍以上,占比1.3%。
A股的绝大部分股票,市盈率落在0-100倍之间,这点大家可记下来。改天我要利用这个数据做标准化处理。市盈率0-30倍股票占比,合计36.1%。
市盈率分组分布图,如下所示:
图1 A股市盈率分组百分比
《基本面量化选股》一书,证明了负市盈率股票收益远落后于市场整体收益。
于是,我把负市盈率股票剔除,重新计算各市盈率范围的市场分布状况。
表2 A股市盈率分组百分比(剔除亏损股)
3950家股票中:
市盈率0-15倍,占比15.0%;
市盈率15-30倍,占比29.8%;
市盈率30-50倍,占比23.4%;
市盈率50-100倍,占比18.8%;
市盈率100-200倍,占比7.4%;
市盈率200-300倍,占比2.3%;
市盈率300-500倍,占比1.5%;
市盈率500倍以上,占比1.6%。
在非亏损股票中,市盈率0-30倍股票占比合计44.8%,因此以市盈率30倍作为股票高估、低估的标准,应当是较为科学的。市盈率低于15倍,属于较严重的低估。
在熊市,市盈率30倍以下的股票数量占比偏高,当前约45%;在牛市中,市盈率30倍以下的股票数量占比会大大下降,应该会在30%上下。从这方面来说,我认为30倍也是合理的。
动态地看,如果将来中国股市市盈率20倍以下股票占比30-40%,那就应该以市盈率20倍作为股票高估、低估的标准。
二、如何避免买入“低估值陷阱”的股票?
《基本面量化选股》一书的数据回测,证明了市盈率最低的分组并不是收益最高的,市盈率第二低、第三低分组的收益率才是最高的。造成这一结果的原因,就是“低估值陷阱”。
有关“低估值陷阱”,详见这篇文章:“低估值陷阱”股票。
结合前面的结论,我以市盈率低于15倍为“严重低估”。
首先,我找到容易陷入“低估值陷阱”的行业股票,比如钢铁行业中的宝钢股份。
图2 宝钢股份市盈率历史走势
观察宝钢股份市盈率历史走势,大家可看到2017年1月-2022年9月,宝钢股份的市盈率一直都在15倍以下,市盈率低于15倍的时间占比高达100%。因此,我们可以以市盈率低于15倍的时间占比来剔除“低估值陷阱”的股票。
以上是基本的思路。
在编写指标时,我约定:过去5年市盈率低于15倍的时间占比大于30%,则是“低估值陷阱”股票。同时,约定上市时间至少为2年。
如果从《基本面量化选股》一书中的最低市盈率分组中剔除“低估值陷阱”股票,那么最低市盈率分组的投资收益应该是最高的。
利用指标对9月14日的股票进行筛选,共找出469只“低估值陷阱”股票。从数据中可看出,银行、地产、基建、煤炭、路桥、港口、资源等行业,是“低估值陷阱”的重灾区。
表3仅展示了前50只股票。
表3 “低估值陷阱”股票(2022.9.14)
以下为指标的代码:
-------------------
{公式名称:x市盈率}
{公式描述:市盈率及历史百分位}
{画图方法:副图}
{p:0,999999,1250}
days:=count(c>0,0);
除权否:=splitbars(0,0)=0;
n:=split(0,0);
rn:=1/if(除权否,1-n,1);
净利润ttm:=finvalue(276)/10000/10000;
{近一年净利润}
总股本:=rn*finance(1)/10000/10000;
总市值:=总股本*c;
ttm:=总市值/净利润ttm;
{如市盈率为负值,则赋值为-1}
市盈率ttm:if(ttm<0,-1,if(ttm=0,dynainfo(40),ttm));
cpe:=const(市盈率ttm),nodraw; hpe:=hhv(市盈率ttm,p),nodraw;
lpe:=llv(市盈率ttm,p),nodraw;
pe空间位:100*(市盈率ttm-lpe)/(hpe-lpe);
{pe时间位,仅对当日周期有效}
pe时间位:=100*count(市盈率ttm<cpe,p)/p,nodraw;
{一般推荐使用选股1条件选股}
选股1:市盈率ttm<30 and pe空间位<30,nodraw;
{懂指标的人,推荐用选股2条件选股}
选股2:市盈率ttm<30 and pe空间位<30 and pe时间位<30,nodraw;
trap:=100*count(市盈率ttm<15,p)/min(p,days),nodraw;
低估值陷阱:trap*if(trap>30 and between(市盈率ttm,0,15) and days>500,1,0),nodraw;
-------------------
图3 指标编辑器界面,请记得输入参数!
注意事项:
1.需要在通达信中提前下载专业财务数据。
2.需要利用下箭头将k线图缩小,以加载5年的财务数据。
3.市盈率时间百分位仅对当日周期有效!
4.有人问为什么昨天的指标软件提示错误?结果我发现他们没有输入参数P!请一定认真查看指标编辑器界面图片!