python方法

您所在的位置:网站首页 用python计算固定资产 python方法

python方法

2024-07-01 15:36| 来源: 网络整理| 查看: 265

常用现金流的计算 固定现金流现值计算函数 表达式:PresentVal=pv(Rate,NumPeriods,Payment,ExtraPayment,Due) Rate:贴现率 NumPeriods:贴现周期 Payment周期现金流 ExtraPayment:最后一次非周期现金流,函数默认为0 Due:现金流计息方式(0为周期末付息,1为周期初付息)PresentVal:现金流现值 代码如下: import numpy as np Facevalue=1000 # 债券付息(面值*利率),假设每年付息一次 Payment=0.05*Facevalue # 市场利率 Rate=0.06 # 到期还本,ExtraPayment额外现金流为本金 ExtraPayment=Facevalue # 债券期现为10年 NumPeriods=10 # 每年年末付息 Due=0 PresentVal=abs(np.pv(Rate,NumPeriods,Payment,ExtraPayment,Due)) print(PresentVal) #该债券价格低于926.4,则被低估,高于926.4,则被高估

结果为:926.3991294858529

2.# 固定现金流终值计算函数 FutureVal=fv(Rate,NumPeriods,Payment,PresentVal,Due) Rate:贴现率 NumPeriods:贴现周期 Payment周期现金流 Due:现金流计息方式(0为周期末付息,1为周期初付息) PresentVal:现金流现值 # FutureVal:现金流终值 代码如下:

import numpy as np Facevalue=1000 # 债券付息(面值*利率),假设每年付息一次 Payment=0.05*Facevalue # 市场利率 Rate=0.06 # 到期还本,ExtraPayment额外现金流为本金 ExtraPayment=Facevalue # 债券期现为10年 NumPeriods=10 # 每年年末付息 Due=0 FutureVal=abs(np.fv(Rate,NumPeriods,Payment,PresentVal,Due)) print(FutureVal)

结果如下:2318.079494238091

变化现金流计算

净现值法(NPV)将现金流用必要收益率贴现计算NPV值,若NPV>0,则可行,否则不可行 内部收益率法假设NPV=0,计算必要贴现率,若IRR大于必要收益率则可行,反之不可行 净现值NPV计算函数 PresentVal=npv(Rate,CashFlow) Rate:必要收益率 CashFlow:现金流序列向量 PresentVal:现金流现值 代码如下:

import numpy as np # 现金流 CashFlow=[-8000,2500.1500,3000,1000,2000] # 利率 Rate=0.08 PresentVal1=-8000+2500/1.08+1500/1.08**2+3000/1.08**3+1000/1.08**4+2000/1.08**5 PresentVal1=np.npv(Rate,CashFlow) print(PresentVal1)

结果如下:-849.137888777871

4.# 内部收益率计算函数

Return=irr(CashFlow) Return :内部收益率 代码如下:

import numpy as np CashFlow=[-8000,2500,1500,3000,1000,2000] Return=np.round(np.irr(CashFlow),4) #round() 方法返回浮点数x的四舍五入值。如round(80.23456, 2) : 80.23 print(Return)

结果如下:0.0839

5.# 年现金流计算

若投资100万买房,还款期20年,每月还6000元,则贷款利率为多少?若改为每月还8000,贷款利率不变,则还款期限为多长? 年金利率函数rate Rate=rate(NumPeriods,Payment,PresentValue,FutureValue,Due) NumPeriods:现金流周期 Payment:现金流支出 FutureValue:现金流终值,函数默认为0 Due:现金流计息方式(0为周期末付息,1为周期初付息) PresentVal:现金流现值 Rate:利息率(贴现率)

代码如下:

import numpy as np # 贷款现值 PresentValue=1000000.0 # 每次还款金额 Payment=-6000.0 # 还款次数 NumPeriods=20*12 # 现金流终值为0 FutureValue=0 # 每周期还款一次,0为周期末付息 Due=0 # 调用rate函数 Rate=np.around(np.rate(NumPeriods,Payment,PresentValue,FutureValue),4) print(Rate)

结果为:0.0032

继续求解,

年金周期函数nper NumPeriods=nper(Rate,Payment,PresentValue,fv,Due) Rate:贴现率 Payment:现金流收入(支出) PresentValue:现金流现值 fv:现金流终值,默认值为0 Due:现金流计息方式 NumPeriods:现金流周期

import numpy as np # 贷款现值 PresentValue=1000000.0 # 每次还款金额 Payment=-8000.0 # 现金流终值为0 FutureValue=0 # 每周期还款一次,0为周期末付息 Due=0 # 月利率,银行的现行计息方式 Rate=0.0389/12 # 调用nper计算还款周期 NumPeriods=np.nper(Rate,Payment,PresentValue,fv=0,when='end') print(NumPeriods/12)

结果如下:13.377524805437297

本期分享就到这里,边学习边分享。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3