普通股的估值方法主要有股息/现金流折现模型(统称为现值法)和市盈率法。第一种方法根据公司是否支付股息来选择;市盈率法需要分析投资者愿意为被估的盈利投入资金的倍数,需要估计公司未来的股息和盈利。此部分内容在python上的应用比较简单,敲好公式即可。
一、股息/现金流折现模型
1、零增长模型
2、稳定增长模型
例1:上一期A公司股票股利为0.6元/股,且预期股利每年以10%的速度稳定增长,而A公司股票每年应得的收益率为12%,求A公司股票的内在价值:
D0=0.6;g=0.1;k=0.12
V=D0*(1+g)/(k-g);V
Out[1]: 33.00000000000002
3、多阶段增长模型
例2:B公司近几年的股利发放情况为(单位元/股):2016年0.09,2017年0.12,2018年0.13,2019年0.15,2020年预计0.18。平均股利增长率约为18.64%。假定这种高增长在2020年消失并稳定在2.5%。2015年的β=0.78,资本市场的风险溢价为2.11%,Rf=2.51%,求B公司股票在2015年的估值:
import pandas as pd
t=pd.Series([1,2,3,4,5])
d=pd.Series([0.09,0.12,0.13,0.15,0.18])
k=0.0251+0.78*0.0211;g=0.025
x=sum(d/(1+k)**t)
y=0.18*(1+g)/(k-g)/(1+k)**5
v=x+y;v
Out[2]: 9.676527685576477
4、现金流定价模型
例3:C公司2018年自由现金流为600万元,目标资本结构为资产:负债=1:4,现公司负债的市场价值为1200万元,现有200万股股票在外流通,股票投资者必要收益率为16%,负债成本为8%,税率为25%,预计C公司长期自由现金流增长率为5%,现在2019年股价为30元,是否合理?
g=0.05;ke=0.16;kd=0.08;t=0.25
FCFF1=600*(1+g)
WACC=4/5*ke+1/5*kd*(1-t)
v=FCFF1/(WACC-g)#求的是2019年,无需折现
ve=v-1200
p=ve/200;p
Out[3]: 28.999999999999996#小于30,因此股票被高估
二、市盈率法
例4:市场普遍认为某公司的股权收益率为9%,β=1.25,再投资率为2/3。今年的每股收益为6元(刚发完),大家认为明年的市场收益率为14%,目前国库券收益率为6%,求该股票的增长机会现值和市盈率:
ROE=0.09;beta=1.25;b=2/3
e=6;rm=0.14;rf=0.06
k=rf+beta*(rm-rf)
g=ROE*b;p0=6*(1-b)/(k-g)
PVGO=p0-e/k
PE=p0/e
print(PVGO,PE)#ROE<k,所以PVGO为负
-17.5 3.333333333333332