求解R中的未知值

求解R中的未知值,r,R,我想对大量现金流进行贴现,并找到金融工具的“公平”利率。也就是说,我想以这样的方式设定利率 $$P=\sum\u i^T e^{-ri}c\u i$$,其中P是某个值。作为一个玩具的例子,我想到了这个: value <- c(1,2,3,4,5,6,7,8,9,10) discounted_value <- c() for(i in 1:10){ discounted_value[i] <- value[i]*exp(-r*i) } should_be_equal_to &

我想对大量现金流进行贴现,并找到金融工具的“公平”利率。也就是说,我想以这样的方式设定利率 $$P=\sum\u i^T e^{-ri}c\u i$$,其中P是某个值。作为一个玩具的例子,我想到了这个:

value <- c(1,2,3,4,5,6,7,8,9,10)
discounted_value <- c()
for(i in 1:10){
  discounted_value[i] <- value[i]*exp(-r*i)
}
should_be_equal_to <- 50

value这就像一个最小二乘问题。定义一个函数,用于计算给定
r
的预测值之和之间的差值:

fn <- function(value,r) {   
         delta = 50 - sum(value*exp(-r*seq_along(value)))
         abs(delta)
     }
您可以尝试优化参数:

r = 0.01369665
discounted_value = value*exp(-r*seq_along(value))
sum(discounted_value)
[1] 50

如果您正在寻找关于如何解决这个问题的数学细节,那么这个问题可能更适合math stackexchange。
r = 0.01369665
discounted_value = value*exp(-r*seq_along(value))
sum(discounted_value)
[1] 50