我正在尝试利用R中的tvm
包来计算一组现金流量和日期的XIRR
。
我有一个移动窗口,我从i = 1,CF = CF [1],d = d [1]开始,随着我前进,其余的现金流也参与其中。
据我所知,XIRR
函数会在现金流输入中没有符号更改时抛出错误。
所以,为了处理我把它放在tryCatch
中。
对于我在下面提供的可重现的示例,我打算何时看到NA,直到遇到正现金流量值 - 但是一旦遇到正现金流量值,我希望该函数返回Excel的有效值。
# Reprex
# Attach desired packages
suppressPackageStartupMessages(library(tvm))
# Provide input data
CF <- c(-78662, -32491, -32492, -32492, -32493,
-32494, 7651, 40300, 10003, 9868,
7530, 7639, 9939, 9804, 7475)
d <- as.Date(c("2019-06-30", "2019-09-30", "2019-12-31", "2020-03-31", "2020-06-30",
"2020-09-30", "2020-12-31", "2021-03-31", "2021-06-30", "2021-09-30",
"2021-12-31", "2022-3-31", "2022-06-30", "2022-09-30", "2022-12-31"))
test <- xirr(cf = CF, d = d)
print(test)
赞赏任何修复指南