python 股票估值_【中金固收·固收+】隐藏价值的角落:限售股AAP估值及Python实现方法(上)...

本文详细探讨了Python实现的AAP估值法在股票限售股中的应用,包括波动率、股息率和锁定时间的计算。通过示例代码,展示了如何处理数据和计算折扣系数,揭示了AAP估值法相较于摊余成本法的主要区别和关键因素。
摘要由CSDN通过智能技术生成

来源:中金固定收益研究

作者

杨  冰分析员,SAC执业证书编号:S0080515120002;SFC CE Ref: BOM868

程昱分析员,SAC执业证书编号:S0080517070005;SFC CE Ref:BON965

陈健恒分析员,SAC执业证书编号:S0080511030011;SFC CE Ref: BBM220

或许市场不够重视,但这可能也是隐藏价值的一个角落。配售和定增基金往往会持有一些流通受限的股票,而这些股票估值的方法在2017年经历了一次比较大的变化——根据《证券投资基金投资流通受限股票估值指引(试行)》,限售股适用AAP估值法(亚式看跌期权),取代此前近似摊余成本的方法。目前,主要是定增基金和配售基金涉及比较多这类问题。实事求是地说,即使在以前的简易算法下,虽然公式简单,但数据处理存在一定难度,投资者对于当时(比如2016年)定增基金的净值也存在一定疑虑。而现在公式更为复杂了,对投资者来说黑箱化的程度也自然更高了。在以前的模式下,限售股(比如定增得来的股份)的估值为:V= min(当前价,成本价+ (当前价 - 成本价)* 已持有的时间 / 总锁定期),或者表示如下图。

37311da8811f5cb909fe1b54a726b416.png

而新的AAP模型估值法下,估值 = 市场价* (1 -折扣系数),折扣系数为按照亚式看跌期权计算出的期权价值(LoMD)。公式如下:

2bf95d295db6f6ffc1f8e608cb306b3b.png可以看出,想比之前近似摊余成本法的计算模式,这里复杂程度还是要高出不少的。其中,σ为该股票波动率,q为分红率,T为以年为单位的锁定时间,其他均为字面意思。实际上,上面公式在实现时基本没有难度,更多的难点在于数据的处理。

下面,我们来一步一步拆解这个LoMD。首先自然需要引入一些常见库:

import readSql as rs

import pandas as pd

from scipy import stats

from WindPy import w

import datetime as dt

其中的readSql为我们惯用的自编库,在此前的转债报告中也曾出现过,但为了不产生太多歧义,我们只用其中的几个函数即str2yyyymmdd、yyyymmdd2str:在日期的两种字符串之间互相转换,例如“2019/1/18”转成“20190118”及其逆运算。

下面我们先展示最后的主函数,然后逐个击破涉及到的中间函数。整个主函数如下所示。第一个参数dfHeld为pandas下的DataFrame型,其中保存的是基金所持限售股的信息(参考年报、半年报以及基金临时公告整理),示例格式如下图。而后面的start和end分别为计算期的起止时间,我们最后返回了在这个期间内,一组限售股的折扣系数,形式同样是DataFrame。

57933b5f2be32641655bbce3f04baf84.png

defdiscRatioTable(dfHeld, start,end):

'''输入限售股table,输出这些券对应的LoMD

start: 计算首日,yyyy/mm/dd

end: 计算终日, yyyy/mm/dd'''

# 先计算这些股票的vol

lstStocks = list(dfHeld.index)

nDaysBefore, flag = backToTime(start, list(dfHeld[u'可流通日期'].apply(rs.yyyymmdd2str)))

if flag:

dfAdjClose = priceData(lstStocks, nDaysBefore, end)

dfLogPct = logPctData(dfAdjClose)

dfLogPct.to_clipboard()

else:

print u'没有限售股,不必算了'

return None

dfVol

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大学老师要我们学习郭永清老师的《财务报表分析与股票估值》这本书,布置了最后两章的作业, 对郭永清老师的《财务报表分析与股票估值》这本书内容的实现 注意事项 代码是基于《财务报表分析与股票估值》的,其中自由现金流的口径与大众认知略有出入,建议使用前先阅读该书第14、15章; 本人非计算机专业,模型代码可能存在部分错误; 银行暂时无法估值,因为其财报形式和其他种类公司相比略有不同; 数据采用的是邢不行老师整理的股票历史日线数据和新浪财务数据; 本人非财务、会计专业,尽管过程中请教了CPA大神,但财务数据口径依然可能存在问题。 DCF介绍 自由现金流贴现法是绝对估值法的一种,理论基础是现值原理:任何资产的价值都等于其预期未来全部现金流的现值总和,对公司而言就是自由现金流。 由于准确预测未来所有自由现金流是不可能的,而且股票并没有固定的生命周期,因此将模型简化为以下四种: $$ \begin{aligned} &零增长模型:V=\frac{FCF}{WACC}\ &不变增长模型:V=\frac{FCF(1+g)}{WACC-g}\ &两阶段模型:V=\sum_{t=1}^n\frac{{FCF}t}{(1+WACC)^t}+\frac{TV}{(1+WACC)^n},\ \ 其中TV=\frac{FCF_n(1+g_2)}{WACC-g_2}\ &三阶段模型:V=\sum{t=1}^n\frac{{FCF}0(1+g_1)}{(1+WACC)^t}+\sum{t=n+1}^m\frac{{FCF}n(1+g_2)}{(1+WACC)^t}+\frac{FCF{n+m}(1+g_3)}{(WACC-g_3)(1+WACC)^{n+m}}\ \end{aligned} $$ 零增长模型适用于成熟稳定、没有增长的公司,每年的自由现金流也保持在一个稳定的金额水平,类似于永续年金;如果该类公司的自由现金流全部用于发放利现金,那么其得出的结果与利贴现模型非常接近。 不变增长模型适用于成熟的公司,未来的自由现金流以非常缓慢的速度增长。 在两阶段模型中,投资者的预期回报WACC至少要高于总体的经济增长率;不变增长率g2通常小于WACC,反之,意味着很长时间以后公司的规模将超过总体经济规模。 在三阶段模型中,假设所有的公司经历三个阶段:成长阶段、过渡阶段和稳定阶段。三个阶段的成长率由高到低,稳定阶段保持较低增长率的不变增长。 具体计算步骤: 计算自由现金流并依据相应的方法折现($\star\star\star\star\star$) 计算价值= 折现后的自由现金流+金融资产+长期权投资-公司债务 计算少数东比例 归属于上市公司东的价值=价值$\times$(1-少数东比例) 每内在价值=归属于上市公司东的价值/本 其中, 经营资产自由现金流=公司维持原有生产经营规模前提下的增量现金流入=经营活动现金流量净额-保全性资本支出=经营活动现金流量净额-固定资产折旧-无形资产和长期待摊费用摊销-处置长期资产的损失 $WACC=k_d\times\frac{D}{D+E}\times(1-t)+k_e\times\frac{E}{D+E}$。其中债务资本成本率=债务资本总额/债务资本平均金额$\times$100%=(财务费用+汇兑收益)/(期初债务资本+期末债务资本)/2;权资本成本率应该高于同期的国债利率,加上股票投资的风险溢价,我们普遍设置为9%;t为公司实际所得税税率=1-净利润/税前利润。 公司债务=有息债务 少数东比例=$\frac{少数东权益}{东权益合计}$ 本=市值/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值