0
你好,我希望得到一些帮助,以整合基于随机变量的函数。该功能是获得连续分配的预期值。将函数集成到R中
这是我到目前为止的代码。
montecarlo = function(r,v,t,x,k) {
y = rnorm(1)
e = (y*(x*exp((-v*sqrt(t)*y)+((r-(.5*v^2))*t))-k))
MCOP=exp(-r*t)*integrate(e, lower = -Inf, upper = Inf)
if((x*exp((-v*sqrt(t)*y)+((r-(.5*v^2))*t))-k) > 0) {
return(MCOP)
} else {
return(0)
}
}
如果我例如输入: montecarlo(.03, .65, 3, 34, 30)
我得到读取的错误消息:
错误的get(as.character(FUN),模式= “功能” ,ENVIR = ENVIR):
对象 'e' 的模式 '功能' 的未找到
我想对于为y所有其他变量X,V,T,R,K的将要给出的集成。 – Dmitriy
Y应该是一个随机生成的数字,我试图编程的函数会给我一个连续分布的期望值(这是从-inf到inf的积分,如果y * f(y)dy – Dmitriy
if你读'?整合'第一个参数是一个“R函数...”你的代码正在计算e的一个值我不知道'整合',所以我不能提供多少建议,但我认为你需要定义另一个函数并将其作为参数传递给'integrate' – epi99