【读书笔记】股市真规则(二)——股票估值


第九章 估值(基础篇)

9.1 投资和投机

估值就是去评估一个公司的合理股价

即使是好公司,也要看股价去买,要是股价很高,虽然公司很好,也会亏损,所以对公司估值很重要。

股票上涨带来的收益有两种:

  • 投资回报(Investment return):因为公司变强了,股价上涨了,但还是合理股价。这样得到的回报就是投资回报。
  • 投机回报(Speculative return):公司没有变强,仅是情绪推动或谣言等推动股价上涨,股票出现溢价。这种属于投机回报。

个人认为,投资回报和投机回报会并存。例如:某公司2022年股价为10元,合理价格为12元,我花10元买了一股。到2024年,该公司股价为20元,合理价格为16元(公司变强了些)。此时我将股票卖掉,盈利10元,其中6元为投资回报,4元为投机回报。

区分投资回报和投机回报的方式:看市盈率。如果一个公司随着股价上涨,市盈率越来越高,说明是投机回报。但如果股价上涨市盈率不变,则为投资回报

9.2 股票估值方法

9.2.1 市销率估值(P/S ratio)

市销率(Price-to-Sales ratio)衡量的是主营业务收入和总市值的比例关系,不考虑利润率。

市销率公式:

==

市销率意味着:主营业务收入多少年可以覆盖当前市值

市销率的特点:

  • 市销率越低越好
  • 优点:市销率不受毛利率影响,永远为正数
  • 优点:市销率相比市盈率,市销率不容易造假,数据波动不大,更适合用来估值。
  • 缺点:不考虑利润率。要是主营业务收入多,可能成本也多。
  • 市销率不能孤立的看,需要结合行业分析。利润率低的(薄利多销)行业市销率较低。例如:零售业;利润率高的行业市销率较高。例如:医疗器械

9.2.2 市净率(P/B ratio)

市净率(Price-to-book ratio)公式为:

市净率==

若市净率为n,表示你花了n元买了价值1元的东西。

市净率的特点:

  • 市净率越低越好
  • 仅考虑最近一期的资产负债表
  • 缺点:有很多无形资产会影响市净率。例如:专利、商标等。
  • 缺点:不适用于服务业公司,因为它们没什么固定资产。
  • 缺点:公司的优良特点无法体现在市净率中。例如:优秀的员工、良好的信誉、健壮的客户关系、高效的内部流程等。
  • 市净率和ROE结合看。通常PB高,ROE也会高,因为借债加杠杆了。但如果PB高,ROE低,说明是垃圾公司。但如果PB低,ROE高,有可能是潜在好公司。

9.2.3 市盈率(P/E ratio)

市盈率(Price-to-earnings ratio)公式:

市盈率==

市盈率的值意味着该公司多少年可以赚一个市值出来。

市盈率的特点:

  • 市盈率越低越好
  • 优点:市盈率考虑了公司的盈利能力
  • 缺点:市盈率没有考虑公司的盈利能力增长情况
  • 市盈率不能孤立的看,需要找一些基准进行比较

市盈率的使用(比较)方式:

  • 其自身的历史市盈率比较:如果一个公司当前市盈率看起来很低,但相比它的历史有可能是处在高位。这种可能是因为它的股价高估,也可能是公司盈利能力变差。例如:假设一个公司当前市盈率是6,但历史市盈率是4。6看起来很低,但如果你买了,那市盈率回调到4,其他条件不变的情况下,你相当于亏损了 (4-6)/6 = - 33%
  • 与同行业的其他公司比较:不同行业市盈率差别较大,所以通常不同行业的公司比较没有意义。但注意:某个行业可能会整体高估或低估,所以不要一看某个公司在行业内市盈率低就买,有可能整个行业都不行了。
  • 与整个市场的平均市盈率及其历史比较:个股会受大盘影响,所以要看整个行业的平均市盈率处在什么水平。若整个市场都高估了,那个股风险也会跟着增大。

市盈率高低的情况:

  • 高市盈率高成长性的公司通常伴随着高市盈率。因为投资者买的是对该公司未来的预期,因此以当下的盈利情况来看的话,市盈率就会很高。例如:科技公司、新型行业公司(新能源、光伏、半导体刚出现时)。
  • 适中市盈率:成熟型,发展稳定的行业和公司
  • 低市盈率:① 高风险行业/公司:虽然公司盈利很大,但可能是通过借债加杠杆带来的,随时可能崩盘。例如:房地产。② 高资本需求行业/公司:对于需要大量资本的公司,通常债务也很高,因此也属于高风险。例如:银行、债券等金融公司

市盈率的其他注意事项:

  • 注意利润来源:市盈率的利润是包含一次性收入的。所以要搞清楚利润来源。自己在计算市盈率的时候,可以把一次性收入去掉,再算算看。
  • 注意行业周期:市盈率升高有可能是因为该行业进入了下行周期。此外,因为市盈率依赖财务报表,有延迟,所以要去预测市盈率。

由于市盈率未考虑公司盈利能力增长的特性,因此人们又发明了一种指标本益成长比(Price/Earnings to Growth Ratio, PEG)。公式为:

PEG=

其中“相对盈利增长比率”就是对未来盈利增长率的预测,因为是预测,所以出错可能大。PEF应用案例:某公司当前市盈率为50,看起来高估。但市场预测其净利润未来每年平均能增长20%,则PEG=50/20=2.5,看起来就没那么高了。注意:高成长的公司同时意味着高风险,因为它的高成长很难持续。

9.2.4 收益率(Earnings yield)

如果将市盈率倒过来,就可以得到收益率。公式为:

=1市盈率=

收益率可以理解为公司一年可以带来百分之多少的利润。例如:市盈率为20,则公司每年可以带来5%的理论。市盈率为10,则是10%的利润。

收益率估值的特点:

  • 优点,可比性强:通过收益率,可以和一些其他投资标的进行比较,例如:银行存款利率、债券利率等。但注意考虑风险溢价,要考虑股价本身涨跌会带来的风险。
  • 缺点,收益率不稳定:公司每年盈利的数额不是固定不变的。有可能明年就亏损了
  • 缺点,收益是公司的收益:收益率算的是“公司近一年的收入”,那是公司的收入,又不是分给投资人的收入。

TODO:cash return.

第十章 估值-内在价值

使用PE、PB、PS这些估值,必须要找参照物,例如:同行业公司、市场平均值等。但通常整个行业和市场都不会处在一个非常理性的价格,因此我们很难通过这些指标确定当前价位值不值得买。

股票对内在价值进行估值,就是估它的内在价值(Intrinsic value),也就是要估出一个具体的价格,然后看当前股价和估出来的价格的差距。

10.1 基础概念

股票的价格 = 未来现金流的现值 :即预测该公司未来可能会带来多少现金流,然后将这些现金流折算到现在,看看以多少钱买该公司股票比较合理。

类比债券:假设有一张7年后到期的面值100元的零息债券(到期之后拿着可以换100元),现在在算这张债券价值时,就需要综合考虑市场利率、风险等因素,得出一个折现率n%,然后按该折现率将100元折算到现在的价格。假设是85元,那也就意味着,该85元按照n%的利率进行复利,7年后可以得到100元。

想要求出股票的价格,需要几个重要的参数:

  • 未来的自由现金流(future free cash flows):公司未来能为股东赚的钱。但这个钱不是净利润或营业收入,而是自由现金流。因为只有自由现金流会使股东受益,自由现金流会被用于分股利(股东得钱)、回购股票(股东持股比例增大)、再投资(未来产生更多的自由现金流)等。
  • 折现率(Discount Rates):按多少利率来将未来的钱折算到现在。折现率包含两部分:市场无风险利率和风险超额收益率。
    • 市场无风险利率:通常按照美国长期国债收益为准,一般为5%
    • 风险溢价率(Risk premium):股票毕竟是有风险的,而且未来的自由现金流毕竟是估算出来的,未来不一定能兑现。基于这些风险,投资者一定希望可以获得比无风险利率更大的回报率。风险越高,要求的回报率也就越高。
    • 总结:假设目前市场无风险利率为5%,根据该公司的具体情况信息,风险收益率设为5%,那么折现率就是10%。

风险与折现率估算的原则:

  • 风险越大,折现率越高
  • 股票价格相比市场波动越剧烈,风险越大、折现率越高。
  • 公司越小,抗风险能力越弱,风险越大,折现率越高
  • 财务杠杆(Financial Leverage)越大,则债务越高,风险越大,折现率越高。
  • 周期性行业的未来现金流难预测,因此折现率需要高一点。
  • 护城河越高,竞争风险越小,折现率越低,反之,风险大折现率高。例如:英伟达护城河高,同行竞争小,风险小。
  • 业务越复杂,未来现金流预测的偏差就会越大,折现率越高。

折现率没有准确的值,全凭经验。

10.2 贴现现金流模型(DCF)估值

贴现现金流(Discounted Cash Flow, DCF)模型:将未来公司预计获得的现金流贴现到现在,看看值多少钱。得出的价格就是公司的总市值,然后再除以公司的流通股数,就是该公司的合理股价。

公式为:

总市值=C1(1+R1)+C2(1+R2)2+C3(1+R3)3+=n=1Cn(1+Rn)n

其中:

  • C_n:表示未来第n年预计可以挣到的自由现金流。
  • R_n:表示未来第n年的折现率。不过通常来说,Rn取同一个值即可。但个人认为,可以随着时间的递增,逐渐增大Rn,毕竟时间越久远,对未来的预测结果越不准。
  • :公司理论上是无限存续的,因此DCF模型也是要算未来无限时间的现金流的。

公式解释:假设我们存了100元,利率为5%,那么5年后的利息就是:100(1+5%)5=127.6。那反过来,按照5%的利率,我存多少钱可以在5年后得到100元呢?答案就是:100/(1+5%)5=78.35。 因此:DCF模型就是把未来的现金流按照期望的折现率折现到现在,看看值多少钱。

10.3 使用DCF模型预测股价

要使用DCF模型估算股价,我们需要按照以下步骤:

  1. 预测公司未来“十年”的自由现金流:虽然DCF模型需要预测公司未来无限时间的现金流,但是通常认为未来十年的预测是比较精准的,再往后就不太准了。因此在计算时,通常将近十年和十年后分开计算。当然,“十年”这个参数可以根据实际情况调整。
  2. 计算近十年的现值:使用DCF模型公式,先把近十年的现值计算出来。
  3. 计算十年之后的未来现金流,折算到未来第十年的价值,称为永续年金折现值(Perpetuity Value):未来十年之后现金流由于难以预测,所以直接放在一起算,然后折算到第十年价值。公式为: PV=C10(1+g)(1+R)+C10(1+g)2(1+R)2+C10(1+g)3(1+R)3+=C10(1+g)Rg 其中 g 为预测的十年之后的自由现金流增长率,通常取GDP增长率。R为折现率。C10为第10年的自由现金流。(该公式推导较为简单:会使用到“求极限”和“等比数列求和”两个公式即可)
  4. 将十年后的现金流折算到现在:第3步求的PV是十年后未来的现金流折算到第十年,这步是要把它们折算到现在。公式为:DPV=PV/(1+R)10。(DPV=Discounted Perpetuity Value)
  5. 将两个现值加在一起,得到公司的估算总市值:第2步求得了近十年的未来现金流的现值,第4步求得了十年后的未来现金流的现值,将它们加在一起就是该公司估算的总市值。
  6. 将估算总市值(Total Equity Value)除以流动股数(Shares Outstanding)就得到了该公司的每股股价(Per Share Value):公式为:=/

10.4 安全边际(Margin of Safety)

在估值后,若估的股价低于现价,是否就应该买入呢?答案是否定的。因为人们在估值时,通常对未来都是充满乐观的。因此通常会高估股价。为了不让自己亏损,还要为自己设置一个安全边际(Margin of Safety)

安全边际很简单,就是在预测的股价上再减去n%的价格,当达到该价格后再买入。例如:我们预测的结果是50元,设置20%的安全边界,那么当股票跌到 50*(1-0.2)=40元 时,再买入股票。这样即使我们预测的不对,也还有20%的缓冲空间,不至于亏损太多。

安全边际选取原则:

  • 稳定的公司:安全边际通常取20%
  • 大部分公司:安全边际通常取30~40%
  • 高风险公司:安全边际通常取60%+

第十一章 估值实战

11.1 对茅台进行估值

书中对AMD和Biomet两家公司进行了估值。我这里尝试对茅台进行估值,小试牛刀一下。

按照“10.3节 DCF估值”6步来对茅台进行估值。(以下数据均来源于“东方财富”)

1.首先要估算出茅台未来十年的自由现金流。以下列出了贵州茅台近几年的财务报表(年报):

指标(现金流量表) 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014
经营活动产生的现金流量净额 665.9亿 367.0亿 640.3亿 516.7亿 452.1亿 413.9亿 221.5亿 374.5亿 174.4亿 126.3亿
购建固定资产、无形资产和其他长期资产支付的现金 26.20亿 53.07亿 34.09亿 20.90亿 31.49亿 16.07亿 11.25亿 10.19亿 20.61亿 44.31亿
自由现金流(亿元) 639.7 313.93 606.21 495.8 420.61 397.83 210.25 364.31 153.79 81.99

自由现金流是一个较为模糊的概念,企业的财报里并不会纰漏。且每个人有每个人的理解,这里我简单的使用经营活动产生的现金流量净额 - 购建固定资产等花费 作为自由现金流

根据过去十年的年报来预测未来十年的自由现金流,我的预测如下(拍脑袋想的,并没有太多依据):

指标 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033
自由现金流(亿元) 650 700 750 800 850 900 950 1000 1050 1100

考虑到目前经济下行,且以后喝白酒的人越来越少,我估计的非常保守,按照每年增加50亿的速率。

2.计算近十年的现值:

首先要取一个折现率,茅台在国内是一个比较成熟的企业,且品牌护城河较高,风险相对较小。并且我对未来现金流的估值较为保守,因此就取 5% 的折现率把。

指标 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033
自由现金流(未来值) 650 700 750 800 850 900 950 1000 1050 1100
自由现金流(折现值) 619.05 634.92 647.88 658.16 666.0 671.59 675.15 676.84 676.84 675.3

例如:对2027年的计算为:800/1.054=658.16

将近十年的现值加在一起,得到近十年的现值:

近十年现值=619.05+634.92+...+675.3=6601.73

3.计算永续年金折现值。

首先,需要估算估算未来GDP增速,作为公司自由现金流的增速。过去我国平均gdp增速有点快,现在发展的差不多了,以后增速肯定不会太快,就取4%这个保守值吧。

其次需要估算永续年金的折现率,以后喝白酒的肯定会越来越少,要不估7%吧。

永续年金折现值为:

PV=C10(1+g)Rg=1100(1+0.04)0.070.04=38133.3`

4.将永续年金折现值折算到现在。

第三步算出的永续年金是折算到第十年的,现在要把它折算到现在。公式为:

DPV=PV(1+R)10=38133.3(1+0.07)10=19385

5.将两个现值加在一起,得到公司的估算总市值:

将近十年的现值和永续年金现值加在一起,就是预估的公司总市值了。即:

公司总市值=6601.73+19385=25986.73 亿元

6.使用公司总市值除以流通股数,就能得到茅台的估值了:

每股股价==25986.73亿125619.78=2068.68

最终我估出的茅台股价为2068.68元。目前,茅台的实际价格为1422.72元(2024-08-20)

按照我的估值结果,目前茅台低估了 (1422.72 - 2068.68) / 2068.68 = 31.2%

按照安全边际,对于成熟的公司,留20%的安全边际即可。所以,现在可以买入茅台了。(哥们,可别别真买,我的那些参数和未来收益啥的都是拍脑袋想的)

11.2 Python实现

使用Python代码表示上述过程为:

```python
def valuation_DCF(
        next_decade_fcf: list,
        next_decade_dr: float,
        future_gr: float,
        future_dr: float,
        n_shares: float,
) -> float:
    """
    Value the given stock by the DCF model. The return value is a estimated
    stock price of the stock.

    Parameters:
    ----------
    next_decade_fcf: The estimated free cash flow in the next decade. The unit is "亿元".
    next_decade_dr: The estimated discount rate for the next decade. For example, 0.05.
    future_gr: The estimated growth rate in the future. Usually, the GDP growth speed rate will be as the value.
    future_dr: The estimated discount rate after the next decade.
    n_shares: Number of shares outstanding. The unit is "万股".
    """
    assert len(next_decade_fcf) == 10, "The length of the parameter 'next_decade fcf' is not equals 10."

    pv = 0
    # Compute the present value with the future values of the next decade.
    for i, fv in enumerate(next_decade_fcf):
        pv += fv / (1 + next_decade_dr) ** (i + 1)

    # Compute the discounted present value of perpetual annuity.
    pv += next_decade_fcf[-1] * (1. + future_gr) / (future_dr - future_gr) / (1 + future_dr) ** 10

    return round((pv * 100_000_000) / (n_shares * 10000), 2)


if __name__ == '__main__':
    price = valuation_DCF(
        next_decade_fcf=[650, 700, 750, 800, 850, 900, 950, 1000, 1050, 1100],
        next_decade_dr=0.05,
        future_gr=0.04,
        future_dr=0.07,
        n_shares=125619.78,
    )

    print(price)
```

输出为:

```
2068.69
```

第十二章 筛选值得分析的股票

上市公司那么多,不可能做到一个个的分析。因此需要把精力放在一些值得分析的股票上,过滤掉不值得分析的股票。

看公司是否值得分析,遵循以下原则即可:

  • 不分析垃圾公司:一般以下几种不值得分析:① 市值极小;② 予以警告的(ST股票);③ 财报披露不全的;④ 刚刚上市(IPO)的
  • 不分析亏损公司:如果一个公司的营业利润(Operating profit)持续为负数,就不要分析。即便它们编了一个像样的故事。例如:乐视汽车、恒大汽车等。
  • 该公司是否可以持续产生营运现金流:利润可以造假,但营运现金流很难。如果一个公司的营运现金流一直是负的,就不要分析它了。
  • 杠杆合理情况下,ROE是否能持续大于10%:若干一个公司ROE连10%都到不了,买它还不如去买债券。通常5年至少要有4年得超过10吧(周期性行业除外)。此外,上杠杆到10%的公司不行。
  • 盈利是否稳定增长或难以预测:如果盈利上下波动无法预测,那也没必要浪费时间估值了,反正估出来的也不准。
  • 资产负债表是否清晰易懂:如果一个公司债务比例很高,债务复杂。最好别分析,水很深,一般人把握不住。
  • 是否能产生自由现金流:如果一个公司的自由现金流是负的,也没必要估值了,也没法估值了。
  • 是否有大量的一次性费用:正常来说,公司不应该经常会有一次性费用。若经常有,公司很有可能在用一次性费用去掩盖一些事情,例如错误决定造成的损失。
  • 近十年流通股数是否在持续增加:如果一个公司的流通持续增加,那么你的股份就会不断稀释,就算公司成长了,你手里的股票也不见得会涨。

上述这些例子并不绝对,被过滤掉的公司并不一定是垃圾公司。就好比“低学历也有很多优秀的人,但HR还是倾向于选高学历的,毕竟按概率来讲,高学历比低学历人优秀的概率大的多”。作为投资者,我们还是尽量保证自己的投资能赢的概率大。

Next Post Previous Post
No Comment
Add Comment
comment url