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