R中DCF模型的Monte Carlo模拟

时间:2019-08-05 15:03:11

标签: r simulation montecarlo

我正在尝试创建一个函数,其中将Monte Carlo Simulation应用于R Studio中DCF模型中的两个变量。它应该采用第一个值FCF_0并对其应用特定的增长FCF_ 0*(1 + growth),这是直到周期6的第一个输入变量,每个周期都使用最后一个FCF来保持增长。之后,我也希望对其进行折现以获得现值FCFn*(1/((1+WACC)^n))WACC是要模拟的第二个变量。

到目前为止,我具有计算FCF的功能,但具有一个特定增长值的向量,如下所示:

到目前为止,我一直在尝试创建此功能,但这是不好的。

能否请您帮助我了解如何创建两个仿真,并且如果需要创建两个功能或者在一个功能中我可以做所有事情?我希望从函数中得出所有当前值的总和,而每个总和将是10.000个模拟向量中的一个元素。我是新来的,即使我已经阅读了将近两个星期,我仍然不知道如何创建这些模拟。

非常感谢您!

revfunc <- function(hist, growth){
    rval <- c()
    help <- c(hist)
    for(i in growth){
      help <- help*(1+i)
      rval <- c(rval, help)
    }
    return(rval)
}

蒙特卡洛模拟

pvffcf_function <- function(fcf0, growth, wacc){
  rval1 <- c()
  help <- c(fcf0)
  pvs <- rval1*(1/((1+wacc)^n))
  random_growth <- rnorm(n=10000, mean(fcfgrowth), sd(fcfgrowth))
  wacc <- rnorm(n=10000, 0.03804, 0.007711)
  pvffcf <- sum(freecashflows)  
  for(i in growth){
    help <- help*(1+i)
    rval1 <- c(rval1, help)
  }
  return(freecashflows)
}

0 个答案:

没有答案