首页 > 解决方案 > 应用函数或循环函数

问题描述

1. 让 CFt 表示时间 t 的现金流量。那么,现值为 PV=∑t(CFt/(1+i)t)。

考虑以下现金流:100、400、1000、3000、100、500。

假设 i=0.05 并计算 PV 2。实现一个函数,该函数接受现金流向量和 i 的参数。函数返回 PV 如何解决这些问题,谁能告诉我

标签: r

解决方案


该函数将如下所示:

PV <- function(cf, i) sum(cf / ((1 + i)^(seq_along(cf))))

例如:

cashflows <- c(100, 400, 1000, 3000, 100, 500)
PV(cashflows, 0.05)
[1] 4241.455

将此与包中的内容进行比较:

FinancialMath::NPV(0, cashflows, seq(1, length(cashflows)),  0.05)
[1] 4241.455

回想一下,这PV相当于NPV初始现金流出为 0 时。


推荐阅读