【读书笔记】股市真规则(二)——股票估值
文章目录
第九章 估值(基础篇)
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)。公式为:
其中“相对盈利增长比率”就是对未来盈利增长率的预测,因为是预测,所以出错可能大。PEF应用案例:某公司当前市盈率为50,看起来高估。但市场预测其净利润未来每年平均能增长20%,则PEG=50/20=2.5,看起来就没那么高了。注意:高成长的公司同时意味着高风险,因为它的高成长很难持续。
9.2.4 收益率(Earnings yield)
如果将市盈率倒过来,就可以得到收益率。公式为:
收益率可以理解为公司一年可以带来百分之多少的利润。例如:市盈率为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)模型:将未来公司预计获得的现金流贴现到现在,看看值多少钱。得出的价格就是公司的总市值,然后再除以公司的流通股数,就是该公司的合理股价。
公式为:
其中:
- C_n:表示未来第n年预计可以挣到的自由现金流。
- R_n:表示未来第n年的折现率。不过通常来说,
取同一个值即可。但个人认为,可以随着时间的递增,逐渐增大 ,毕竟时间越久远,对未来的预测结果越不准。 - ∞:公司理论上是无限存续的,因此DCF模型也是要算未来无限时间的现金流的。
公式解释:假设我们存了100元,利率为5%,那么5年后的利息就是:
。那反过来,按照5%的利率,我存多少钱可以在5年后得到100元呢?答案就是: 。 因此:DCF模型就是把未来的现金流按照期望的折现率折现到现在,看看值多少钱。
10.3 使用DCF模型预测股价
要使用DCF模型估算股价,我们需要按照以下步骤:
- 预测公司未来“十年”的自由现金流:虽然DCF模型需要预测公司未来无限时间的现金流,但是通常认为未来十年的预测是比较精准的,再往后就不太准了。因此在计算时,通常将近十年和十年后分开计算。当然,“十年”这个参数可以根据实际情况调整。
- 计算近十年的现值:使用DCF模型公式,先把近十年的现值计算出来。
- 计算十年之后的未来现金流,折算到未来第十年的价值,称为永续年金折现值(Perpetuity Value):未来十年之后现金流由于难以预测,所以直接放在一起算,然后折算到第十年价值。公式为:
其中 g 为预测的十年之后的自由现金流增长率,通常取GDP增长率。R为折现率。 为第10年的自由现金流。(该公式推导较为简单:会使用到“求极限”和“等比数列求和”两个公式即可) - 将十年后的现金流折算到现在:第3步求的PV是十年后未来的现金流折算到第十年,这步是要把它们折算到现在。公式为:
。(DPV=Discounted Perpetuity Value) - 将两个现值加在一起,得到公司的估算总市值:第2步求得了近十年的未来现金流的现值,第4步求得了十年后的未来现金流的现值,将它们加在一起就是该公司估算的总市值。
- 将估算总市值(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年的计算为:
将近十年的现值加在一起,得到近十年的现值:
3.计算永续年金折现值。
首先,需要估算估算未来GDP增速,作为公司自由现金流的增速。过去我国平均gdp增速有点快,现在发展的差不多了,以后增速肯定不会太快,就取4%这个保守值吧。
其次需要估算永续年金的折现率,以后喝白酒的肯定会越来越少,要不估7%吧。
永续年金折现值为:
4.将永续年金折现值折算到现在。
第三步算出的永续年金是折算到第十年的,现在要把它折算到现在。公式为:
5.将两个现值加在一起,得到公司的估算总市值:
将近十年的现值和永续年金现值加在一起,就是预估的公司总市值了。即:
6.使用公司总市值除以流通股数,就能得到茅台的估值了:
最终我估出的茅台股价为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还是倾向于选高学历的,毕竟按概率来讲,高学历比低学历人优秀的概率大的多”。作为投资者,我们还是尽量保证自己的投资能赢的概率大。