python计算百分比_【万字干货】使用Python对公司进行自动化估值

点击蓝字 6de8babe8f0a97136296858c7053410c.png 关注 我们,只有不到 7% 的公众号是原创,不到 1% 的公众号持续产出高质量的原创内容。 标星★我们 ,每天get一点 高质量 编程、金融、量化、人工智能、前沿FinTech知识吧!爱你们,笔芯~
o(*^▽^*)┛乐学偶得原创文章
禁止转载

正版视频 | 公众号内【技术视频】

或点击左下角

公众号:乐学Fintech

网站:lexueoude.com

这是乐学偶得的第 140篇原创技术文章

0.文章内容

在这篇文章中,我们将使用未来现金流折现的方法,运用我们熟悉的Python语言来实现对公司的自动化估值。

我们将构建一个动态的DCF模型——也就是说,我们通过Python编写好这个模型后进行打包,在未来可以将这个模型重复利用, 应用到任何公司的估值过程中。

1.DCF(现金流量折现法)是什么?

我们如果看一家公司的报表——现金流量表将公司的活动分为三个部分:1.投资活动

2.融资活动

3.经营活动。

对于现金流量折现法,我们将主要关注经营现金流。

因为营业性现金流量反映了与公司商品和服务的生产和销售有关的所有现金流入和流出,而与一家公司长期估值相关的,就是这家公司老老实实做业务赚来的钱,而不是光靠融资或者投资获得的钱。

2.注意!!!净收入中的猫腻

我们需要注意到,净收入中其实是可以暗含很多猫腻的——比如非现金项目、折旧假设、赊销等等很可能会污染我们的净收入——道理很简单,这些商业行为很多是并未发生现金上的转移的。

举一个简单的例子:你卖了老王一台宝马车,但是老王不付钱给你,说给你打个白条。我们会计上会把这种“赊销行为”算作收入,但是其实我们并未收到任何现金。

3.估值中的数据与会计报表中数据的调整

在我们拿到一张报表的时候,往往是从净收入开始对数据进行调整,算出真正跟“经营”有关的经营性现金流,然后再扣除必要设备与资本支持,算出自由现金流(也就是完全能自由支配的现金流)——FCF(Free Cash Flow),然后再放入DCF模型进行折现。

会计数据与估值数据变换如下:

净收入 
 +折旧
应收帐款增加(-)
库存增加(-)
其他资产增加(-)
应付帐款增加(+)
增加其他负债(+)
经营性现金流
–购买设备或资本支出
自由现金流

这里初学者或者金融、财会背景较弱的小伙本很容易将符号的加减弄晕。不过没问题,大家有兴趣可以阅读原文查看更多乐学偶得lexueoude.com出品的更多金融科技FinTech与Python建模、量化等内容,其中有大量金融原理的补充。

这里我们并不展开讲解会计科目与变换,不过分享一种快速弄清加减的方法——你就思考这项商业活动是使得你获得了现金还是失去了现金?然后我们将现金流还原即可——

比如折旧是否真正从你口袋里掏出钱了?没有吧~ 于是咱们加回折旧。

比如应收帐款是不是真正收到现金了?没有吧~于是咱们减去应收帐款增加。。。。。。

另外,购买设备或资本支出这一项也很好理解——你需要维持公司正常经营与持续扩张,需要投入的“维持资金”。

这样所有的必要调整与维持资金的考量完毕后,我们就可以通过一下步骤估值公司价值了——

4.从自由现金流到DCF模型

利用自由现金流(Free Cash Flow of company)对公司估值的原理如下:

8688f7e3aeb7bdf555a0ed8eab003a4c.png

其中FCFF为每期的自由现金流,TV为终值,g为增长率,WACC为公司的综合融资成本。关于WACC的计算,我们在乐学偶得lexueoude.com的公众号:乐学FinTech中的《如何用Python计算公司加权平均资本成本(WACC股权+债权)》这一期推送中有介绍,也是通过Python自动获取并计算的,这里就不再赘述。

5.多期自由现金流的预测方法

这里我们自然而然遇到一个问题——我们如果需要用到DCF模型,必须要预测未来几年的自由现金流。那么未来的现金流量该如何建模呢?

我们在《实用Excel操作与VBA财务金融建模》课中的财务建模板块与大家逐行分析介绍了如何预测现金流,然后也介绍了如何通过VBA进行常见财务与金融模型的估值建模编程。 这个步骤稍微有一点繁琐,如果大家有兴趣可以点击阅读原文观看相关视频。在这里我们简要说明一下主要思路:

1.估计收入增长(我们可以假设每年公司收入增长相同,然后通过找到同行公司的销售额增长,与对全行业的成熟程度进行分析,最终估计该公司的收入增长)

2.将公司报表中的销售额百分比算出

3.根据资产负债表预测未来5年的损益表、资产负债表、现金流量表

4.使用WACC作为折现率对未来的FCFF自由现金流进行折现,计算净现值

5.计算公司最终价值TV

6.计算权益价值与公司总债务,最终按照股份数计算每股价值

好了,理清思路,我们就可以使用Python这个工具进行估值了。

6.利用Python计算公司未来收入增长

我们假设公司收入将保持与去年相同的百分比增长。我们以GOOGLE为例进行计算,数据来源我们还是选取免费的API:

import requestsimport numpy as npimport pandas as pdcompany = 'GOOG'demo = 'your api keyIS = requests.get(f'https://financialmodelingprep.com/api/v3/income-statement/{company}?apikey={demo}').json()count = 0#get revenue growth to estimate future salesrevenue_g = []for item in IS:  if count < 4:    #print(item)    revenue_g.append(item['revenue'])    count = count + 1revenue_g = (revenue_g[0] - revenue_g[1]) /revenue_g[1] print(revenue_g)#ouctome0.15469210475913925

我们可以看到,去年Google的收入增长了15.46%。我们可以以这个增长率进行下面的建模。

7.损益表和资产负债表处理

我们接下来处理损益表和资产负债表,注意这里我们对数据进行了一个百分比的处理,这样有对比:

#Get net incomenet_income = IS[0]['netIncome']BS = requests.get(f'https://financialmodelingprep.com/api/v3/balance-sheet-statement/{company}?apikey={demo}').json()#get income statement as % of revenue for future predictions and forecast 5 next IS yearsincome_statement = pd.DataFrame.from_dict(IS[0],orient='index')#The [5:26] below get rids of not needed items coming from the APIincome_statement = income_statement[5:26]income_statement.columns = ['current_year']income_statement['as_%_of_revenue'] = income_statement / income_state
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值