我正在尝试创建一个函数,其中将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)
}