1. 首页
  2. > 海外公司注册 >

第一期丨结合六大财务指标,用数字化工具评估项目实施的可行性

判断一个项目是否可行,我们首先考虑的是机会成本。机会成本是指用既定的资本金投资了该项目,而放弃了其他的项目。如果投资其他项目的收益率为10%,那么投资该项目的收益率要远高于10%以上,才能证明这个项目是可行且值得投资的。

从财务角度看,判断项目是否值得投资通常会关注这六大指标:

1、净现值=未来报酬的总现值-初始投资现值

净现值(NPV)是指一个项目预期实现的现金流入的现值与实施该项计划的现金支出的现值的差额。净现值指标是反映项目投资获利能力的指标。净现值为正值的项目可以为股东创造价值,净现值为负值的项目会损害股东价值。

2、现值指数=现金流入现值÷现金流出现值

现值指数(Profitability Index,缩写为 PI)又称获利指数或利润指数,是指投资项目未来现金净流量的总现值与原始投资现值之比。如果投资项目的现值指数大于或等于1,表明该投资项目的投资报酬率高于或等于预定的贴现率,该项目可以接受;如果投资方案的小于1,表明该投资项目的投资报酬率低于预定的贴现率,该项目则不可以接受。在多个备选项目的互斥选择中,应接受现值指数大于1最多的投资项目。

3、权益乘数=资产总额÷所有者权益总额=1÷(1-资产负债率)=1+产权比率

权益乘数又称股本乘数,是指资产总额相当于股东权益的倍数。权益乘数越大表明所有者投入企业的资本占全部资产的比重越小,企业负债的程度越高;反之,该比率越小,表明所有者投入企业的资本占全部资产的比重越大,企业的负债程度越低,债权人权益受保护的程度越高。

4、营业现金流量=营业收入-付现成本-所得税(根据定义)=税后净利润+折旧(根据年末营业成果)=(收入-付现成本)×(1-所得税率)+折旧×税率(根据所得税对收入和折旧的影响)

营业现金流量是指投资项目投入使用后,其寿命周期内由于生产经营而带来的现金流入和流出的数量。它包括年营业净利润和年折旧等。营业现金为企业的最主要的一项现金流量,只有在短期内,就能产生足够的营业现金流量的项目,才是真正的具有高成长性的项目。

5、内含报酬率:每年流量相等时用“年金法”,不等时用“逐步测试法”

内含报酬率,也被称为内部收益率,是指能够使未来现金流入现值等于未来现金流出现值的折现率,或者说是使投资方案净现值为零的贴现率。内含报酬率法是根据方案本身内含报酬率来评价方案优劣的一种方法。内含报酬率大于资金成本率则方案可行,且内含报酬率越高方案越优。

6、投资人要求的收益率(资本成本)=债务比重×利率×(1-所得税)+所有者权益比重×权益成本

资本成本是指企业取得和使用资本时所付出的代价。

在评估项目可行性时,我们一般会采用现金流量折现法因为项目的投资支出和收益在项目生命周期的不同时间点发生,如果不考虑货币时间价值将项目整体收入和成本进行简单汇总的话,可能得出错误的结论。

现金流量折现法是以期望报酬率为折现率,对项目生命周期内的预期现金流入、流出进行折现,通过现值的计算和比较,为项目可行性提供判断的依据。

现金流量折现法核心公式:

式中:

NPV:项目净现值;n:项目的寿命;CFt:资产在t期间产生的现金流;r:预期折现率或期望报酬率;C0:一次性初始投资额。

为了让大家直观地感受到现金流量折现法在工作中的实际应用,我们将结合财务案例用数字化工具Python计算出项目投资的收益率,并评估该项目的可行性。


案例背景

某项目投资额为100万,于2019年1月1日投产,预计固定资产使用年限为5年,每年产生税后销售收入为100万元(假设全部收现),付现成本为66万元(每年增加1万元),所得税率为25%,采用直线法折旧。资产使用期满后,估计有残值净收入10万元。投资者对该项目的期望投资报酬率是10%。根据上述背景,评估该项目是否可行。

在评估中我们常用上述的净现值法、回收期法和内含报酬率法去评估项目的可行性,接下来的数据计算我们将在Python中通过代码复用的方式完成。

(一)净现值法:

净现值(Net Present Value,NPV)是一项投资所产生的未来现金流的折现值与项目投资成本的现值之间的差值。净现值为正值,投资方案是可以接受的;净现值是负值,从理论上来讲,投资方案是不可接受的。

1. 引入Pandasimport pandas as pdimport datetime as dtpd.options.display.float_format ='{:,.2f}'.format2. 维护假设或参数,其中项目现金流列表里的数据以年为间隔,分别代表所属年的现金流流入或流出。# 项目假设investment = 1000000start_date = dt.datetime(2019,1,1)end_date = dt.datetime(2023,12,31)project_life=round((end_date- start_date).days/365,0)tax_rate = 0.25discount_rate = 0.1scrap_value = 100000cash_flow={‘日期’:[dt.datetime(2019,12,31),dt.datetime(2020,12,31),dt.datetime(2021,12,31),dt.datetime(2022,12,31),dt.datetime(2023,12,31)],# 按项目期间录入现金流,现金流入=销售收入 残值净收入,现金流出=付现成本'现金流入':[1000000,1000000,1000000,1000000,1100000],'现金流出':[660000,670000,680000,690000,700000]}df=pd.DataFrame(cash_flow)df3. 计算期间,这笔现金流相对于项目开启日期的时间df['期间'] = round((df['日期']-start_date).dt.days/365,2)df4. 计算折旧=年度折旧额*△现金流期间df['折旧'] = (investment-scrap_value)/project_life*(df['期间']- df['期间'].shift(1).fillna(0))df5. 计算税前利润=销售收入 残值净收入-付现成本-折旧 = 现金流入-现金流出-折旧df['税前利润']=df['现金流入']-df['现金流出']-df['折旧']df6. 计算所得税=营业利润*所得税率df['所得税']=df['税前利润']*tax_ratedf7. 计算净利润=税前利润-所得税df['净利润']=df['税前利润']-df['所得税']df8. 计算现金净流量=净利润 折旧(现金流不包含折旧等非付现成本)df['现金净流量']=df['净利润'] df['折旧']df9. 计算折现系数,距离0时间点越近,折现的次数越少,折现系数越小df['折现系数']=(1 0.1)**(df['期间'])df10. 计算每条现金流的现值df['现金流折现']=df['现金净流量']/df['折现系数']df11. 计算项目净现值=现金流折现-投资额NPV=df['现金流折现'].sum()-investment132341.61849352042

结论:NPV大于0,因此该项目投资具有可行性。

(二)回收期法:

回收期(payback Period,PP),是指投资项目的未来现金净流量与原始投资额相等时所经历的时间,即原始投资额通过未来现金流量回收所需要的时间。收回的时间越长,风险越大,因此,回收期长短也是投资者十分关心的问题。

  • 静态回收期:未考虑货币时间价值,未来现金净流量累计到原始投资时所经历的时间
  • 动态回收期:考虑货币时间价值,未来现金净流量现值累计到原始投资时所经历的时间

核心公式:

回收期 = M 第M年尚未收回额/第(M 1)年的现金净流量(M是收回投资的前一年)

使用累计窗口函数对现金净流量和现金流现值进行累加df2 = df[['现金净流量','现金流折现']].cumsum()需要扣去首年投资额才能观察项目累计现金流的符号改变的时间点df2 = pd.concat([df['期间'],df2- investment],axis=1)df2提取现金流符号转变所在的行i=df2[(df2['现金净流量']*df2['现金净流量'].shift(1)) < 0].index[0]i计算静态回收期回收期 = M 第M年尚未收回额/第(M 1)年的现金净流量# 由于之前做了累计,所以第(M 1)年的现金净流量=M 1累计现金流-M累计现金流SPP= df2.iloc[i-1,0] abs(df2.iloc[i-1,1])/(abs(df2.iloc[i-1,1]) df2.iloc[i,1])SPP3.4414414414414414计算动态回收期j=df2[(df2['现金流折现']*df2['现金流折现'].shift(1)) < 0].index[0]DPP= df2.iloc[j-1,0] abs(df2.iloc[j-1,2])/(abs(df2.iloc[j-1,2]) df2.iloc[j,2])DPP4.382210144927537

可以看到,静态回收期是3.44年,动态回收期是4.38年。

(三)内含报酬率法:

内含报酬率,就是使得项目流入资金的现值总额与流出资金的现值总额相等的利率,换言之就是使得净现值(NPV)等于零时的折现率。

如果不使用数字化工具,内含报酬率要用若干个折现率进行试算,直至找到净现值等于零或接近于零的那个折现率,但是我们用Python就很简单了。

先来看看如何遍历Dataframe的index和itemfor i,row in df[['期间','现金净流量']].iterrows():print(row['期间'],row['现金净流量'])定义方程式并求解# 使用scipy的fsolve求解一元多次方程的跟from scipy.optimize import fsolve#定义方程式def f(x):y=0 #初始化yfor i,row indf[['期间','现金净流量']].iterrows():y=y row['现金净流量']/(1 x[0])**row['期间']y = -investment y #别忘记扣除投资额return y# 求解方程,[]中是x的近似初始值,非线性方程通常不止一个解,因此需要设置大致初始解,这样方程在初始值附近按梯度下降进行求解,可得局部最优解irr = fsolve(f, [0])print(irr)其中f其实就是下图的函数,我们预计内含报酬率的解在0-1之间,局部最优解得:0.14984209

分析结论:内含报酬率为14.98%,大于投资者的期望报酬率10%,该项目可行。

从上述三种方法的计算结果中,我们得出了该项目投资具备可行性的结论

在下一期的文章中,将为大家介绍如何依据现金流量折现模型中的数据,创建数据表用于存储与模型相关的参数和计算结果,然后进行项目数据表的模型设计~精彩内容,敬请期待!

END

©图片版权归财码数字化所有,如对版权有异议,请联系后台议定处理。

本文由财码数字化整理发布,如需转载请务必注明以上信息。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至123456@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息