1

R에 ccgarch 패키지를 사용하고 싶습니다. 우선이 패키지의 초기 값은 무엇입니까? 어떻게이 값들을 지정할 수 있습니까?(R)의 ccgarph 패키지에서 초기 값을 어떻게 표시 할 수 있습니까?

게다가 loglik.eccc을 어떻게 사용하고 param을 정의 할 수 있습니까? 예를 들어 param=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14)이있는 경우이 매개 변수는 변경되지 않으며 이전 기본값 인 param이 있습니다.

# computing a likelihood value for the (E)CCC-GARCH(1,1) mdoel 
    loglik.eccc <- function(param, dvar, model){ 
     nobs <- dim(dvar)[1] 
     ndim <- dim(dvar)[2] 
     para.mat <- p.mat(param, model, ndim) 
     a <- para.mat$a 
     A <- para.mat$A 
     B <- para.mat$B 
     R <- para.mat$R 

     # check if R is positive definite 
     eigenR <- eigen(R)$values 
     if(max(abs(R[lower.tri(R)]))>1.0||min(eigenR)<0||!is.double(eigenR)){ 
     R <- diag(ndim) 
     } 
     h <- vector.garch(dvar, a, A, B) 
     z <- dvar/sqrt(h) 
     lndetR <- log(det(R)) 
     invR <- solve(R) 
     lf <- -0.5*nobs*ndim*log(2*pi) - 0.5*sum(log(h)) - 0.5*nobs*lndetR - 0.5*sum((z%*%invR)*z) 
     -lf 

    } 

답변

1

나는 모든 R. 처음에 ccgarch 패키지를 사용하려면 ,이 패키지의 초기 값은 무엇인가?

나는 더 기본 매개 변수이없는 확신 해요. 당신이 param를 지정하지 않고 코드를 실행하려고하면 당신이 라인을 따라 뭔가를 얻어야한다 (참고 : 나는 명령 loglik.dcc으로 이런 짓을) :

Error in loglik.dcc(dvar = my.df, model = "diagonal") : 
argument "param" is missing, with no default 

가 어떻게 이러한 값을 지정할 수 있습니다?

문서의 예제를 ccgarch 패키지로 체크 아웃 할 것을 권장합니다. loglik.eccc에 대한 예제는 없지만 loglik.dcc에 대한 좋은 예가 있습니다.

설명서는 here에 액세스 할 수 있습니다. 페이지 24/25의 예는 다음과

## Not run: 
# Simulating data from the original DCC-GARCH(1,1) process 
    nobs <- 1000; cut <- 1000 
    a <- c(0.003, 0.005, 0.001) 
    A <- diag(c(0.2,0.3,0.15)) 
    B <- diag(c(0.75, 0.6, 0.8)) 
    uncR <- matrix(c(1.0, 0.4, 0.3, 0.4, 1.0, 0.12, 0.3, 0.12, 1.0),3,3) 
    dcc.para <- c(0.01,0.98) 
    dcc.data <- dcc.sim(nobs, a, A, B, uncR, dcc.para, model="diagonal") 

# Estimating a DCC-GARCH(1,1) model 
    dcc.results <- dcc.estimation(inia=a, iniA=A, iniB=B, ini.dcc=dcc.para, 
    dvar=dcc.data$eps, model="diagonal") 
# Parameter estimates and their robust standard errors 
    dcc.results$out 
# Computing the value of the log-likelihood at the estimates 
    loglik.dcc(dcc.results$out[1,], dcc.data$eps, model="diagonal") 
## End(Not run) 

dcc.results$out 당신에게 추정 된 매개 변수를 표시합니다 :

> dcc.results$out 
        a1   a2   a3   A11  A22  A33   B11  B22  B33 dcc alpha 
estimates 0.002390773 0.00477909 0.001010304 0.199707914 0.2738877 0.13370911 0.7644433750 0.61175081 0.82020157 0.018729549 
std.err 0.000703168 0.03576364 0.032840012 0.001213087 0.0439388 0.05675561 0.0003626412 0.02548092 0.03398187 0.008090084 
      dcc beta 
estimates 0.93071563 
std.err 0.03659041 

loglik.dcc의 계산에 사용할 수 있습니다

loglik.dcc(dcc.results$out[1,], dcc.data$eps, model="diagonal") 
[1] 6316.604 

이것으로 끝낼 수 있습니다 :

1. 매개 변수 벡터 직접 설정

param=c(1,2,3,4,5,6,7,8,9,10,11,12,13,14)은 매우 중요한 모델 제한을 위반합니다. 내가보고있는 모델의 제한 사항에 대해 더 자세히 읽어 볼 것을 강력히 권장합니다 (모든 GARCH 모델의 할아버지 인 Robert Engle의 this 저널 기사, 160 번째 저널 기사).

In 짧음 : 위의 추정 된 매개 변수에서 모두가 범위 0 < a, A and B < 1에 있음을 알 수 있습니다. 당신이 무언가를 간다면, 그 매개 변수에 자신을 방향.

2. 데이터를 기반으로 견적을 작성하고 위의 예에서 설명한대로 사용하십시오.

예제는 3 시리즈 용입니다. 더 많거나 적은 치수를 사용하는 경우 초기 매개 변수를 조정해야합니다. ccgarch2 패키지 e. 지. 초기 값을 설정하지 않고도 추정 할 수 있습니다. 무작위로 생성합니다.

게다가 loglik.eccc를 사용하고 param을 정의 할 수 있습니까?

위의 예/나레이션에 설명되어 있습니다.

+1

죄송합니다. 나를 잃어 버렸습니다. 그래서 당신은'eccc.estimation'을 가진 모델을 추정 했었고 추정치가 준 매개 변수를 사용하고 싶지 않았습니까? – Numb3rs

+0

이 매개 변수를 사용하고 싶지만 적절한 초기 값을 어떻게 식별합니까? –

+1

아, 이제 알겠습니다. 따라서 초기 매개 변수를 설정하는 방법에 대한 모범 사례가 있는지 알고 싶습니다. 슬프게도 나는 거기 있다고 생각하지 않는다. [이 논문] (http://faculty.washington.edu/ezivot/research/practicalgarchfinal.pdf)을 살펴볼 수 있습니다. 10 페이지와 12 페이지에서 그들은 주제 (10 페이지에서 예를 들어 초기 매개 변수가 실제로 어떻게 설정 될 수 있는지를 언급 ​​함)에 대해 논의합니다. – Numb3rs