理杏仁指数以及行业估值计算说明文档

作者:Bing   最后编辑于:2020-03-22
本篇文章主要目的在于阐明以下几个重要问题:
  1. 当前市面上主要的指数估值公司中,CSIndex(中证官网)和wind计算值为何有差异,我们该如何取舍。
  2. 指数以及行业的估值种类和计算方法。
  3. 指数以及行业计算过程中的特殊情况处理方式。

中证官网的计算和wind产生差别的主要原因

中证官网和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,一个指数里有些公司发布了年报,有些公司一季报也发布了,而有些公司连年报都没有发布。那么样本的利润应该怎么算?

  • 中证官网简单明了——等所有公司年报和一季报发布完后的5月1号开始统一采用一季报;而在此之前统一采用2016年的三季报
  • 国证官网和中证官网给出的计算方法一致。
  • wind的处理方式站长没有看到说明,依照站长的的计算推算,wind采取的是及时策略,也就是只要公司的财报有更新,就采取最新的数据,所以wind的数据在年报预告这段时间里,其PE-TTM值与理杏仁有一定的区别。

当然这里又有人问,如果公司只出了预报还没有出财报怎么办?确实应该按预告计算,预报的数据只有营收和净利润,可以提前计算PE-TTM和PS-TTM,但是无法提前计算PB,不过问题是预报的数据往往和最终财报数据也有出入,如果提前采取预报数据,后面又面临修正计算的问题。但是预告数据我们现在还未采集,遇到预告区间段的数据又很头疼,所以暂不做考虑。

中证官网和wind的数据应该如何取舍

站长用N个日日夜夜都对他们的算法进行了验证,也和大量网友进行了讨论,最后还是决定按总市值做加权,不剔除亏损公司,采用及时策略做计算。理由如下:

  • 按照A股市值加权值,这个不公允。因为它违背了同股同权的基本道理。我想我可能得再强调一遍同股同权是估值核心(以张裕B为例),我不会因为张裕有B股(2017-04-16收盘价A股36.30元、B股20.97港币;股本A股4.53亿股,B股2.32亿股),而判断张裕A的时候认为市值只有207.3个亿(4.53 * 36.30 + 2.32 * 20.97 * 0.88 (港币对人民币汇率)),而不是248.8个亿((4.53 + 2.32) * 36.30);我也不会因为张裕B有A股,而认为张裕B的市值是有207亿,而不是126.4亿((4.53 + 2.32) * 20.97 * 0.88)市值。分开考虑股权的模式会在计算PE的时候,会让A股的投资者舒服一点,因为市值变小了,但在大股东眼里,不因为贵会更有价值,也不会因为便宜而没有价值,在大股东眼里只有股权比例,所以2015年的中信大股东卖A买H,这才是核心。
  • 剔除亏损股,有失公允。比如一个行业,我们以煤炭行业2015年5月为例,煤炭行业90%的股票亏损,只有中国神华盈利不错,而极少部分还在赚钱,其余全部亏损,如果剔除亏损股,那么结果是什么?PE和中国神华差不多。这个不合理是其一;其二,我们买的是指数,指数已经包含所有这些企业,指数并不剔除亏损股,已经反应市值,为什么计算PE要剔除亏损股?
  • 净利润和净资产不采取及时策略,有失公允。财报和年报是从1月份到4月底陆续发布的,比如沪深300里面中国平安的财报出来,其估值对应的价格马上会反应到指数中,而财报数据需要等到5月1号后再做更新,这样估值数据其实是有延后。根据站长的测试,当指数按照及时策略——即财报发后马上更新指数估值数据,PE-TTM加权值的曲线要明显更加平滑。

PS: 如果有人用iFund或者使用iChoice看到了部分数据,然后发现不一样,就不要问站长了,他们的数据站长不知道怎么算的,也没兴趣知道。至于有些程序员业余做的计算或者大V的贴出来的数据如果出现不一致,站长的建议是忽略他们算的数据,因为理杏仁的计算经过长年累月的发展,计算已经考虑到了几乎所有普通用户难以考虑到的各种情况(下面会有详细介绍),并趋向于成熟,站长和wind仔细比对过市值加权值,很多都趋于一致,有差别的,也几乎都在3%以内。

等权值为何不应该剔除负数?

四种算法中等权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为负数,代表一家公司亏损,其实是一个远远大于正数的公司,剔除。
  • 如果出现一些超大的PE怎么办(比如有的公司PE-TTM达到一两千)?站长通过大量实践,最后选取了四分法作为剔除算法,简单有效。大家可以看这篇文章详细了解四分法的计算方式——如何用四分法剔除极值。对于指数的计算,PE-TTM的剔除率大约在3%到8%,PB和PS-TTM大约在0%到6%之间,剔除后的曲线锯齿结构也比较少。
  • 被剔除后的样本计算公式(∑(市值 / 净利润) / N)中的N需要做相应减少,以反应样本被剔除的情况。

指数以及行业计算过程中的特殊情况处理方式

指数以及行业计算过程中有太多的情况需要处理,这里站长将这列罗列出来供大家参考。还是以指数的PE-TTM计算为例,一般有如下一些情况需要考虑:

  • 样本公司停牌怎么处理?用停牌前的市值除以停牌前的净利润,但如若停牌时间超过1年,则不参与计算。选择1年的时间主要基于以下几点考虑:
    1. 指数一般6个月更新一次样本,央视50是1年更新一次,只有非常少量的行业指数,比如证保以及银行,可能会有一段时间没有新公司纳入,更新频率会超过1年。而一般情况下这种长期停牌的公司会在指数更新样本的时候被剔除。
    2. 对于因为突如其来的重大事件,比如财务造假一类,指数往往临时剔除,换上备用公司。
    3. 长达一年停牌时间的,往往意味着对公司的重大事件的影响,并且公司至少有一次年报,加上市场本身的波动,停牌前的估值不足以反应当前的估值,所以继续沿用其停牌前估值数据意义不大,计算时按剔除处理。
  • 这里就又会出现一个特殊情况,如果在停牌的这段时间公司出了新的财报,还为什么用停牌前的净利润?站长对此特殊情况思虑良久,还是决定采用停牌前的净利润以及净资产作为估值依据。主要有以下几个原因:
    1. 指数的点位计算用的是公司停牌前的价格及市值,所以为准确反应估值本身,采用停牌前的估值。
    2. 新的财报净利润会在公司复牌后被市场迅速消化,其变化会影响指数点位,也涉及到套利操作,不适合提前反应停牌期间的估值。
    3. 采用停牌前的估值数据,理杏仁的从算法上考量也要简单的多。
  • 公司并购后财报同时对上期财报进行处理,以反应真实情况,需要处理吗? 答曰:不处理。并表修正是事后事件,并不对过期数据造成影响,只是证监会要求,更好的反应并购后收入、净利润、资产等的真实情况。
  • 如果公司有业绩修正怎么处理? 答曰:暂时不处理。正确的处理方式应该是:修正报告发出来以前用修正报告前的数据,修正报告发出来使用修正报告后的数据,即应该采取历史视角的算法。

总结

指数以及行业的计算过程整体简单,但计算过程需要的数据繁多,细节无数,计算量大,也容易出错。理杏仁的在计算方面也持续做了大量改进,尽量将数据做到最为精准,并将其数据图形化展示给大家;另外提供了对比各类估值和指数走势查看拟合度,还有大量的财报数据、样本信息等帮忙提供决策依据。