中证官网和wind都只提供了加权平均值(这里的加权平均值称之为市值加权值,理杏仁在2019-12-08日这天将加权平均值改成了市值加权值,因为还有权重值加权,市值加权值这个概念更加准确。为避免产生歧义,我们下面将使用市值加权值这个概念。),这里我们以PE-TTM(滚动市盈率)市值加权值为例来说明一下两者的差别所在。
首先PE-TTM的市值加权值 = ∑市值 / ∑净利润,这个定义没问题,相信大家都看的明白。但每一家上市公司的市值和利润如何定义,csIndex和wind就产生了差别。中证认为指数的计算采取的是市值分级靠档(这个详细的计算方法,可以参考官方的文档说明——沪深300指数编制方法)的计算方式,所以如果一家公司既有A股又有H股,那么该家公司的总市值应该是A股总市值,对应的净利润也就是:公司净利润 * A股总市值 / (A股当前收盘价 * 总股本)。其实不复杂,也就是对公司的市值和净利润按照其A股市值进行了加权,那么其公式就变成了:∑A股市值 / ∑A股净利润。wind的处理方式站长没有看到说明,但依照站长的计算推算,wind依旧是:∑市值 / ∑净利润。
到了这里,我相信大家再来看官方的PE-TTM计算说明文档,应该也就比较好理解了。
其次,如果一家公司的市盈率是负数怎么办?仔细读了上面官方文档的人,应该马上就能看到,中证官网直截了当的告诉你——计算过程中剔除。好了,问题来了,如果整个行业亏损怎么办?中证官网还是非常直接了当的告诉你,不予计算,显示值为NaN(大家以后无论是csIndex还是cnIndex看到这个值,就不要再惊讶了)。wind的处理方式站长没有看到说明,依照站长的的计算推算,wind是考虑了亏损股票的。
最后,比如现在2017-04-16,一个指数里有些公司发布了年报,有些公司一季报也发布了,而有些公司连年报都没有发布。那么样本的利润应该怎么算?
当然这里又有人问,如果公司只出了预报还没有出财报怎么办?确实应该按预告计算,预报的数据只有营收和净利润,可以提前计算PE-TTM和PS-TTM,但是无法提前计算PB,不过问题是预报的数据往往和最终财报数据也有出入,如果提前采取预报数据,后面又面临修正计算的问题。但是预告数据我们现在还未采集,遇到预告区间段的数据又很头疼,所以暂不做考虑。
站长用N个日日夜夜都对他们的算法进行了验证,也和大量网友进行了讨论,最后还是决定按总市值做加权,不剔除亏损公司,采用及时策略做计算。理由如下:
PS: 如果有人用iFund或者使用iChoice看到了部分数据,然后发现不一样,就不要问站长了,他们的数据站长不知道怎么算的,也没兴趣知道。至于有些程序员业余做的计算或者大V的贴出来的数据如果出现不一致,站长的建议是忽略他们算的数据,因为理杏仁的计算经过长年累月的发展,计算已经考虑到了几乎所有普通用户难以考虑到的各种情况(下面会有详细介绍),并趋向于成熟,站长和wind仔细比对过市值加权值,很多都趋于一致,有差别的,也几乎都在3%以内。
指数以及行业常见的估值种类包括三种:PE-TTM、PB、PS-TTM、股息率;每种估值包含5个数据:市值加权值、等权值、正数等权值、平均值、中位数。当然理杏仁上也提供了指数以及行业的股息率、ROE、营收增长率、净利润增长率、净资产增长率等等一系列财务数据来作为辅助参考信息。以下∑表示所有公司的累加。
下面我们再看看5个估值:市值加权值、等权值、正数等权值、平均值、中位数,以PE-TTM为例(其中N为样本总数):
最后老有人问这么多数据,我应该看哪个?站长答曰:仔细阅读了以上数据的计算方式和意思,我相信用户自然可以做判断。
另外有个问题,不少人也在问,什么分位点?分位点在估值里面是个非常常见的概念,反应的是当前估值在历史中的估值中的高低,越低代表越有价值,可以看这篇文章——分位点详细解释。
四种算法中等权PE-TTM的公式有一定的争议,理杏仁也曾两次调整算法。这里站长用尽量通俗易懂的话来讲解这个这个公式的意义所在。
以PE-TTM为例,有三家公司,PE分别为PE1、PE2、PE3,对应的市值分别是M1、M2、M3,净利润分别是NP1、NP2、NP3。我们投入3万元给三家公司,每家公司各投1万元,那么我这分组和的PE应该是多少?每家公司投入1万元,对应的每家公司产出的净利润是NP1 / M1、NP2 / M2、NP3 / M3,那么这份组合的PE-TTM就是:3 / (NP1 / M1 + NP2 / M2 + NP3 / M3) = 3 / (1 / PE1 + 1 / PE2 + 1 / PE3)。这便是这个等权值的意义。我们既然是买指数,尤其是等权的指数,比如养老产业,里面有亏损的公司我们一样是买了的,所以负数不应该剔除。
对于养老产业和医药100,因为样本经过挑选,数据基本上没有极端值,所以没有影响;但是回到沪深A股,这类反应整体市场的估值数据,就出了问题。比如我们见过一家公司的PE-TTM为-0.1,退市前因为市值跌到1亿不到。那么我们再看等权值的算法3 / (1 / PE1 + 1 / PE2 + 1 / PE3),分母就会出现一个超级大的负数,进而造成估值出现不可避免的极端值,而造成失真。
我们在2020-03-12做了相关讨论,有兴趣的朋友可以看看指数【等权平均值】改进建议。结果很简单,新增一个指标【正数等权值】; 于PE-TTM,就是剔除亏损公司(对于PB,PS-TTM以及股息率的剔除请见上节)。理由如下:
按照我们的上面的定义,算术平均值反应的是指数中绝大部分正常公司的估值情况,所以极值是要被剔除的。那么如何剔除呢?
指数以及行业计算过程中有太多的情况需要处理,这里站长将这列罗列出来供大家参考。还是以指数的PE-TTM计算为例,一般有如下一些情况需要考虑:
指数以及行业的计算过程整体简单,但计算过程需要的数据繁多,细节无数,计算量大,也容易出错。理杏仁的在计算方面也持续做了大量改进,尽量将数据做到最为精准,并将其数据图形化展示给大家;另外提供了对比各类估值和指数走势查看拟合度,还有大量的财报数据、样本信息等帮忙提供决策依据。
联系客服