В настоящее время я экспериментирую с пакетом bayesDCCgarch
и искал извлечение двумерных условных корреляций из оценки модели.Извлечение матрицы корреляции, R, из BayesDCCgarch
Выход функции только обеспечивает дисперсию, ковариационная матрица H_t, который состоит из H = DRD (где D_T приходит от условной оценки дисперсии от однофакторной модели GARCH). Ищу для R матрицы
Я заглянула в коде на GitHub here и увидели, что в сценарии, bayesDccGarch.c
они делают вычисления корреляционной матрицы R (строки 291 - 300)
// compute the R matrix
for(i = 0; i < k; i++){
hiit = omega[i];// /(1.0-beta[i]); // H_{ii,1}
MEs[i][0] = y[0][i]/sqrt(hiit);
for(t = 1; t < n; t++){
hiit = omega[i] + alpha[i]*y[t-1][i]*y[t-1][i] + beta[i]*hiit; // H_{ii,t}
MEs[i][t] = y[t][i]/sqrt(hiit); // Standard Errors
}
}
mcov(n, k, MEs, R); // compute the R matrix
Любая помощь, как я мог бы построить матрицу корреляции R, а не оцененные летучести для каждой из серий, как в коде ниже:
library(bayesDccGarch)
data(DaxCacNik)
mY<-DaxCacNik[,1:2]
out = bayesDccGarch(mY, nSim=1000)
plotVol(mY, out$H[,c("H_1,1","H_2,2")], c("DAX","CAC40"))
Я ищу, чтобы сравнить конструкцию корреляции с функцией dccfit
в библиотеке rmgarch
.
Посмотрите на выходе 'ул (уходит) '. Может ли это быть 'out $ control $ cholCov'? Я раньше не использовал эту функцию, но, возможно, вы сможете ее найти, исследуя элементы 'out'. – eipi10
Если посмотреть на объект, можно увидеть только MCMC, Information Criteria и матрицу H в качестве выходного объекта функции (и управления и времени). Я не думаю, что прямая корреляционная конструкция, такая как 'cov/sqrt (var) sqrt (var)' из матрицы 'out $ H', является правильным способом получить изменяющуюся во времени корреляцию ... –