内部收益率(IRR)或经济收益率(ERR)是用于衡量和比较投资收益率的资本预算的回报率。R和MS Excel之间IRR计算的不同结果
我写了一些R代码里面来计算回报率(IRR)内部收益率是这样的:
cal_irr <- function(amount,fee,duration) {
cash<-c(amount,rep(-1*(amount*fee+amount/duration),duration))
NPV<-function(r){sum(cash /((1 + r)^(seq(along.with = cash)-1)))}
return(uniroot(NPV, c(0, 1))$root)
}
cal_irr
可以计算分期付款,但恼人的事情是,我的结果是从金融功能IRR
不同在MS Excel中。
例如,您从银行借3600,管理费是0.006*3600
,等于24个月的本金分期付款,所以每个月您都必须支付3600*0.006+3600/24=171.6
。
您发生的费用是每月cal_irr(3600,0.006,240) = 0.01104071
,但在Excel中,我得到了1.1054657%
。我的R代码有什么问题?