garchFit
从包装中使用时fGARCH
,我可以stargazer
用来制作下表:
我使用 rugarch 包创建了我的“自己的”GARCH 模型:
spec<- ugarchspec(mean.model=list(armaOrder = c(0,0)),
variance.model = list(garchOrder =c(1,1), model="sGARCH"),
distribution.model="norm")
尝试将 stargazer 用于具有此规格(适合)的模型时,出现错误:
fit<-ugarchfit(spec, data = data)
stargazer(list(fit ), title="Regression Results", type="text", keep.stat=c("n","ll","aic","bic"), out="kindaresults.doc")
“错误:未为此 S4 类定义 $ 运算符”:
有人可以帮我做出与“期望输出”一样好的输出吗?我尝试texreg
按照另一个线程使用该包,如何将 GARCH 输出导出到乳胶?. 该线程建议:
library(texreg)
#define independent variable:
y <- x #to generalize your case (y is usually the independent variable)
extract.rugarch <- function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE) {
# extract coefficient table from fit:
coefnames <- rownames(as.data.frame(fit@fit$coef))
coefs <- fit@fit$coef
se <- as.vector(fit@fit$matcoef[, c(2)])
pvalues <- as.vector(fit@fit$matcoef[, c(4)]) # numeric vector with p-values
# create empty GOF vectors and subsequently add GOF statistics from model:
gof <- numeric()
gof.names <- character()
gof.decimal <- logical()
if (include.rsquared == TRUE) {
r2 <- 1 - (var(fit@fit$residuals) / var(y))
gof <- c(gof, r2)
gof.names <- c(gof.names, "R^2")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.loglike == TRUE) {
loglike <- fit@fit$LLH
gof <- c(gof, loglike)
gof.names <- c(gof.names, "Log likelihood")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.aic == TRUE) {
aic <- infocriteria(fit)[c(1)]
gof <- c(gof, aic)
gof.names <- c(gof.names, "AIC")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.bic == TRUE) {
bic <- infocriteria(fit)[c(2)]
gof <- c(gof, bic)
gof.names <- c(gof.names, "BIC")
gof.decimal <- c(gof.decimal, TRUE)
}
# create texreg object:
tr <- createTexreg(
coef.names = coefnames,
coef = coefs,
se = se,
pvalues = pvalues,
gof.names = gof.names,
gof = gof,
gof.decimal = gof.decimal
)
return(tr)
}
#print table:
texreg(extract.rugarch(fit, include.rsquared = FALSE)) #for latex # as R^2 is zero in this example.
编写以下代码时,我得到:
错误:找不到对象“include.bic”。
如果我删除我得到的代码的最后一部分,Error: object 'include.bic' not found.
其他部分include.X
也是如此。
gof.decimal <- logical()
if (include.rsquared == TRUE) {
r2 <- 1 - (var(fit@fit$residuals) / var(y))
gof <- c(gof, r2)
gof.names <- c(gof.names, "R^2")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.loglike == TRUE) {
loglike <- fit@fit$LLH
gof <- c(gof, loglike)
gof.names <- c(gof.names, "Log likelihood")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.aic == TRUE) {
aic <- infocriteria(fit)[c(1)]
gof <- c(gof, aic)
gof.names <- c(gof.names, "AIC")
gof.decimal <- c(gof.decimal, TRUE)
}
if (include.bic == TRUE) {
bic <- infocriteria(fit)[c(2)]
gof <- c(gof, bic)
gof.names <- c(gof.names, "BIC")
gof.decimal <- c(gof.decimal, TRUE)
}
Error: object 'include.bic' not found.
找不到对象可能与我不得不通过添加代码来关闭括号"}"
有关。extract.rugarch
我不知道我对 的期望是extract.rugarch
什么,但如下所示,我得到的似乎不是一个函数,因此可能是我收到消息告诉我找不到对象的问题。
#trying to follow code
extract.rugarch <- function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE) {
>
Error: unexpected ',' in include.rsquared = TRUE,"
# closing the parenthesis
extract.rugarch <- function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE) {}
> extract.rugarch
function(fit,
include.rsquared = TRUE, include.loglike = TRUE, include.aic = TRUE, include.bic = TRUE){}
有谁知道我收到找不到对象的错误的原因?此外,这个 texreg 程序是否允许我将几个模型输出放在一起,就像在“所需输出”中一样,或者我最终会得到几个输出,每个输出只显示一个模型?
PS 我确实在链接的问题下写了,因为我作为网站新成员的声誉评分不允许我发表评论。由于我也有问题,因此发布答案似乎很容易产生误导。当我将来遇到这些问题时,您会建议我上传新问题,写一个答案或以任何其他方式继续吗?