Функция будет выглядеть, как показано ниже:
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
, когда исходный ca sh отток равен 0.