R语言中weibull分布求Var序列
求大神看一下,这段代码到底怎么改
redata <
R语言中weibull分布求Var序列
求大神看一下,这段代码到底怎么改
redata <- exp(gsq$ret)
lgwbull <- function(params){
lambda <- params[1]
k <- params[2]
n <- length(redata)
lgw <- 0
for(i in 1:n){
lgw <- lgw+log((k/lambda)*((redata[i]/lambda)^(k-1))*exp(-(redata[i]/lambda)^k))
}
return(lgw)
}
xmle <- optim(c(1,1),fn=lgwbull,method="BFGS",control=list(fnscale= - 1))
lambda <- xmle$par[1]
k <- xmle$par[2]
dVaR <- log(qweibull(1-alpha,k,lambda))
错误提示为:xmle <- optim(c(1,1),fn=lgwbull,method="BFGS",control=list(fnscale= - 1))
Error in optim(c(1, 1), fn = lgwbull, method = "BFGS", control = list(fnscale = -1)) :
objective function in optim evaluates to length 0 not 1
> lambda <- xmle$par[1]
Error: object 'xmle' not found
> k <- xmle$par[2]
Error: object 'xmle' not found
> dVaR <- log(qweibull(1-alpha,k,lambda))
Error in qweibull(1 - alpha, k, lambda) : object 'alpha' not found
>