理杏仁指数估值计算说明文档

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

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

中证官网和wind都只提供了加权平均值,这里我们以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采取的是及时策略,也就是只要公司的财报有更新,就采取最新的数据。当然这里又有人问,如果公司只出了预报还没有出财报怎么办?站长仰天吐了一口血,这个……你想让我死么?你知道数据查证有多难吗?!当然,按站长理解,预报的数据只有营收和净利润,确实可以提前计算PE-TTM和PS-TTM,但是无法提前计算PB,不过问题是预报的数据往往和最终财报数据也有出入,如果提前采取预报数据,后面又面临修正计算的问题。这个,还是等以后有预测数据了,再让站长做个验证吧。

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

站长用N个日日夜夜都对他们的算法进行了验证,也和大量网友进行了讨论,最后还是决定采取wind的计算方式。理由如下:

  • 按照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、PB、PS-TTM;每种估值包含四个数据:加权平均值、等权平均值、算术平均值、中位数。当然理杏仁上也提供了指数的股息率、ROE、营收增长率、净利润增长率、净资产增长率等等一系列财务数据来作为辅助参考信息。我们先着重介绍前面PE-TTM和PB,PS-TTM和PE-TTM类似,不过一个是营收,一个是净利润罢了,就不多说了。

  • PE-TTM 滚动市盈率。很简单,用过去12个月所用公司的净利润替代净利润,指数的计算公式变成:∑市值 / ∑滚动净利润。更多关于PE-TTM的详细信息,请参考为何选择PE-TTM?
  • PB 市净率。这个概念大家都比较好理解,指数的计算公司为,∑市值 / ∑归属于母公司的净资产。因为净资产是个动态的概念,每季度逐次变化,并不像净利润每年初始归零,因而并不存在滚动的概念。当然计算PB是个非常复杂的过程,具体请参考如何精确计算PB

下面我们再看看四个估值:加权平均值、等权平均值、算术平均值、中位数,以PE-TTM为例(其中N为样本总数):

  • 加权平均值 计算公式: ∑市值 / ∑净利润该指标意味着您按公司市值将投资资金拆分成N份投出去,最终得到的一篮子股票的PE-TTM值。
  • 等权平均值 计算公式: N / ∑(1 / (市值 / 净利润))该指标意味着您将投资资金拆分成N等份,然后投资于N加公司,最终得到的一篮子股票的PE-TTM值。
  • 算术平均值 计算公式: ∑(市值 / 净利润) / N该指标仅仅具有统计学上的意义,用以反应绝大部分正常公司的估值状态。
  • 中位数 计算公式:所有公司PE-TTM按由小到大排序,如果总数为奇数,取中间的那个数;如果总数为偶数,取中间两个数,加和除以2该指标仅仅只有统计学上意义,用以反应整个市场的估值状态。

最后老有人问这么多数据,我应该看哪个?站长答曰:仔细阅读了以上数据的计算方式和意思,我相信用户自然可以做判断。

另外有个问题,不少人也在问,什么分位点?分位点在估值里面是个非常常见的概念,反应的是当前估值在历史中的估值中的高低,越低代表越有价值,可以看这篇文章——分位点详细解释

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

四种算法中等权PE的公式有一定的争议,理杏仁也曾两次调整算法。这里站长用尽量通俗易懂的话来讲解这个这个公式的意义所在。

以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),分母就会出现一个超级大的负数,进而造成估值出现不可避免的极端值,而造成失真。

对于综合类指数而言,理应上不应该有等权值,美国那边就不存在相关的全市场等权指。加权值受大市值公司影响,等权值受小公司影响。通过上面的两段公式说明,也不应该将亏损公司剔除在外。

 

但综合类指数为什么还要做剔除处理呢?

国内因为国情大家喜欢看上证综指,而上证综指因为有大量的小市值公司和亏损公司,就会造成计算上出现超级大的正数乃至负数,进而造成图形没什么意义。我们为了解决等权平均值失真的问题,用了相对客观点的剔除方法:对于沪深A股等权值中的极端数据,我们是这样做的:

  • PE-TTM,过滤掉市值为所有股票中最低20%,同时PE-TTM介于-5到5之间的票。
  • PB,过滤掉市值为所有股票中最低10%,同时PB介于-0.5到0.55之间的票。
  • PS-TTM,过滤掉市值为所有股票中最低10%。
  • 股息率,过滤掉市值为所有股票中最低10%,同时股息率高于20%的票。
  • 整体上PB、PS-TTM以及股息率几乎没什么影响,而PE-TTM受影响较大。另外宽基类指数,比如中证500、创业板指、中小板指、沪深300等几乎没任何影响,因为这类指数会对公司有挑选,进而极少有机会出现极端的可以影响图形的公司。

    算术平均值中的极值处理

    按照我们的上面的定义,算术平均值反应的是指数中绝大部分正常公司的估值情况,所以极值是要被剔除的。那么如何剔除呢?

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

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

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

    • 样本公司停牌怎么处理?用停牌前的市值除以停牌前的净利润,但如若停牌时间超过1年,则不参与计算。这里就又会出现一个特殊情况,如果在停牌的这段时间公司出了新的财报,还为什么用停牌前的净利润?站长对此特殊情况思虑良久,主要有两个原因:1. 新的财报净利润会在公司复牌后被市场迅速消化。2. 新的财报或者重组事件对公司的新的市场价值无法确定。虽然对净利润的取值会有延迟,但两害相较取其轻,算法上也简单很多,所以就采取了停牌前的净利润。当然对停牌公司的公允价值的估算也会涉及到套利,如果公司确定是重大利好,指数里面本没有反应出来,也就可以在公司恢复上市前,做套利了。
    • 公司并购后财报同时对上期财报进行处理,以反应真实情况,需要处理吗? 答曰:不处理。并表修正是事后事件,并不对过期数据造成影响,只是证监会要求,更好的反应并购后收入、净利润、资产等的真实情况。
    • 如果公司有业绩修正怎么处理? 答曰:暂时不处理。正确的处理方式应该是:修正报告发出来以前用修正报告前的数据,修正报告发出来使用修正报告后的数据,即应该采取历史视角的算法。

    总结

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