内容导入
大家好,这里是每日理财转。现在Python的应用领域非常广泛。随着会计和金融智能化的加速,Python数据分析将在金融分析和投资决策中占据一席之地。
可视化的数据分析,比如SPSS,SAS,没有财务专业的模块。excel中虽然有财务功能,但是使用起来不够灵活,不能用于系统开发。如果你是R语言的用户,可以忽略这类内容。在这方面,R语言与Python语言的功能大致相同。
小神马准备了一系列的财务计算与大家分享。今天我要介绍投资决策中的净现值和内部收益法。
概念介绍:
净现值概念介绍:
所谓净现值(NPV),就是一项投资产生的未来现金流的贴现值与项目的投资成本之间的差额。
而用来计算贴现值的贴现率是投资者可以接受的最低收益率。
假设我们投资100元,可以接受的最低收益率是5%(折现率)。结果一年后的收益是106元,所以这笔投资的净现值是:
净现值=106/(1 5%)-100=0.95元
当NPV & gt0,说明投资已经超过预期收益(以上案例比预期多赚了0.95元(1元折5%),是成功的投资。
可见,接受净现值为正的项目是可以让投资者受益的。
净现值计算方式介绍:
1.计算年度净经营现金流。
2.计算未来报酬的总现值。
(1)将年度经营现金流量净额折算成现值。若各年NCF相等,则按年金法折算成现值;如果各年的NCF不相等,则先将各年的NCF贴现,然后累加。
(2)将终止的现金流量转换为现值。
(3)计算未来报酬的总现值。
3.计算净现值。
净现值=未来回报的总现值-初始投资的现值。
净现值优缺点介绍:
优势:
考虑资金的时间价值,增强了对投资经济性的评价;
考虑全过程的净现金流量,体现了流动性和盈利性的统一;
考虑投资风险,风险高时采用高贴现率,风险低时采用低贴现率;
计算相对简单易懂,结果直观易懂;
缺点:
净现值的计算比较麻烦,难以掌握;
净现金流量和折现率的计量难以确定;
不能从动态的角度直接反映投资项目的实际收益水平;
未消除初始投资的差异;
也没有消除投资项目期限的差异;
内部收益率概念介绍:
内部收益率(IRR)是资本流入的总现值等于资本流动的总现值时的折现率,即使NPV等于0!
这很容易理解:
假设我们投资100元,一年后投资回报是105。如果NPV为0,IRR是多少?
净现值=105/(1内部收益率)-100=0(人民币)
求IRR=5%,也就是说,当折现率为5%时,这个投资项目的所有净现金流量扣除本金后折现为0。
内部收益率计算方式介绍:
(1)在计算净现值的基础上,如果净现值为正,则需要使用本次净现值计算中较高的折现率进行计算,直到计算出的净现值接近于零。
(2)继续增加贴现率,直到净现值为负。如果负值太大,降低贴现率,然后计算接近于零的负值。
(3)根据相邻正负净现值接近于零的折现率,通过线性插值得到内部收益率。
内部收益率优缺点介绍:
优势:
与NPV相比,它消除了初始投资额和项目投资期的差异,直观地反映了项目本身的收益率;
它可以将项目寿命期内的收益与其总投资联系起来,指出项目的收益率,并与行业基准投资收益率进行比较,以确定项目是否值得建设。
当借款用于建设时,当借款条件(主要是利率)不是很明确时,内部收益率法可以避开借款条件,先求得内部收益率为
计算量大,可能有多解,也可能无解(如果采用python等编程语言,这个不存在)。
内部收益率显示的是比率,而不是绝对值。内部收益率较低的方案,由于规模较大,净现值可能较大,因此更值得考虑。
在选择各种方案时,必须考虑内部收益率(IRR)和净现值(NPV)。
实现过程:
1.净现值法的实现代码:
#净现值(NPV)def NPV _ F(利率,现金流):合计=0.0for
i, cashflow in enumerate(cashflows): total+=cashflow/(1+rate)**i if total > 0.0: print("净现值为%.2f,值得投资" % total) else: print("净现值为%.2f,不值得投资" % total) return total2、内部收益率法实现代码:#内部收益率法(IRR)def IRR_f(cashflows,interations=10000): rate=1.0 investment=cashflows[0] for i in range(1,interations+1): rate*=(1-npv_f(rate,cashflows)/investment) return rate3、应用案例一
应用实例1:假设贴现率为5%,有A、B两个项目,前期均需投入120万,A项目第一年至五年分别收入10、30、50、40、10万,而项目B第一至五年分别收入30、40、40、20、10万,项目A和B哪个投资价值高?分析:如果光从金额看都是投资120万元,回报都是140万元,从回收期法来看,二者都是在第四年才收回成本但由于货币的时间价值,下面从净现值的角度进行分析
r=0.05C_A=[-120, 10, 30, 50, 40, 10]C_B=[-120, 30, 40, 40, 20, 10]npv_A=npv_f(r,C_A)npv_B=npv_f(r,C_B)print("项目A的净现值:%.2f万元" % npv_A)print("项目B的净现值:%.2f万元" % npv_B)#内部收益率法比较irr_A=IRR_f(C_A,interations=10000)irr_B=IRR_f(C_B,interations=10000)print("项目A的内部收益率:%.2f%%" % (irr_A*100))print("项目B的内部收益率:%.2f%%" % (irr_B*100))
输出结果:
项目A的净现值:0.67万元
项目B的净现值:3.70万元
项目A的内部收益率:5.19%
项目B的内部收益率:6.28%
项目B的净现值与内部收益率都大,所以选择B项目投资。
4、应用案例二
#应用实例2:有项目C、D,一次性投入均为100万元,其中,C项目前六年无现金流入,第7年现金流入200万;# D项目前六年每年现金流入12万,最后一年现金流入112万,选择哪个?C=[-100,0,0,0,0,0,200]D=[-100,12,12,12,12,12,112]irr_C=IRR_f(C)*100irr_D=IRR_f(D)*100print("内部收益率:C项目{0:.0f}%,D项目{1:.0f}%" .format(irr_C,irr_D))print("净现值:C项目{0:.2f}万元,D项目{1:.2f}万元".format(npv_f(0.1,C), npv_f(0.1,D)))#请问你会选哪一个呢?输出结果:
内部收益率:C项目12%,D项目12%
净现值:C项目12.89万元,D项目8.71万元
内部收益率一致,我当然选择净现值大的C项目咯。
5、应用案例二拓展1#应用实例2扩展1E=[-100,90,50,0,0,10]F=[-100,0,0,0,0,350]irr_E=IRR_f(E)*100irr_F=IRR_f(F)*100print("内部收益率:E项目{0:.0f}%,F项目{1:.0f}%" .format(irr_E,irr_F))print("净现值:E项目{0:.2f}万元,F项目{1:.2f}万元".format(npv_f(0.1,E), npv_f(0.1,F)))
输出结果:
内部收益率:E项目31%,F项目28%
净现值:E项目29.35万元,F项目117.32万元
如果这个项目时长3年,选E项目;如果时长5年,选F项目。
各位小伙伴,今天就分享到这里,本次介绍了净现值与内部收益率的概念与计算方式。
有什么建议,比如想了解的知识、内容中的问题、想要的资料、下次分享的内容、学习Python遇到的问题等,请在下方留言。如果喜欢请关注。
如果学习过程中有问题,请识别下方二维码加入交流群,里面有大咖可以帮助大家解答问题,欢迎大家加入讨论。