2016-11-21 6 views
0

J'utilise DCC Garch à partir du paquet rmgarch - le code que vous voyez ci-dessus . L'ajustement de parcelle à mes souhaits ne rentre pas et je ne suis pas sûr en raison des mauvais titres de l'axe x si l'intrigue est prise la bonne série temporelle que j'utilise puisque j'ai une série temporelle vraiment longue. Je dois aussi utiliser des données quotidiennes et mensuelles et avec des données mensuelles, j'ai des problèmes, vu dans mes résultats. J'ai donc utilisé rcor (dcc.fit) pour montrer les corrélations générées par DCC Garch.Comment puis-je obtenir la corrélation en tant que vecteur de DCR garch et comment puis-je tirer plus d'une corrélation - il y a une erreur dans l'utilisation des données mensuelles

Maintenant, ma première question est, s'il est possible d'obtenir la corrélation comme un vecteur au lieu de ce que vous voyez comme résultat de rcor (dcc.fit), sinon ce serait beaucoup de travail?

Ma deuxième question est que cela ne fonctionne que pour les actifs de replicate = 2 sinon je reçois un message d'erreur. Je dois m'occuper de quelques corrélations supplémentaires. Est-il possible d'obtenir une matrice de séries chronologiques de corrélations? Cela signifie, pour calculer toutes les corrélations comme une série temporelle en même temps et les lier à une matrice?

Correlation A&B A&C B&C 

T=1     0,5  -0,5 0,15 
T=2     0,2  -0,3 0,23 
T=3 …… 

My code I used: 

    >garch11.spec = ugarchspec(mean.model = list(armaOrder = c(0,0)), variance.model = list(garchOrder = c(1,1), model = "sGARCH"), distribution.model = "norm") 
    >dcc.garch11.spec = dccspec(uspec = multispec(replicate(2, garch11.spec)), dccOrder = c(1,1), distribution = "mvnorm") 
    >dcc.fit = dccfit(dcc.garch11.spec, data = returns) 
    > rcorr = rcor(dcc.fit) 

#the outcome is above: the error is that this are monthly data and not 
#daily but it shows wrong dates. However, I want to have these correlations as a vector!! 

#1971-07-11 0.1197476 
#1971-07-12 0.1199578 

#further on.. but with right dates! 

, , 1971-07-11 01:00:00 

      Stock_1 Stock_2 
Stock_1 1.0000000 0.1197476 
Stock_2 0.1197476 1.0000000 

, , 1971-07-12 01:00:00 

      Stock_1 Stock_2 
Stock_1 1.0000000 0.1199578 
Stock_2 0.1199578 1.0000000 

, , 1971-07-13 01:00:00 

      Stock_1 Stock_2 
Stock_1 1.0000000 0.1194465 
Stock_2 0.1194465 1.0000000 

, , 1971-07-14 01:00:00 

      Stock_1 Stock_2 
Stock_1 1.00000000 0.07949913 
Stock_2 0.07949913 1.00000000 

, , 1971-07-15 01:00:00 

      Stock_1 Stock_2 
Stock_1 1.00000000 0.08781321 
Stock_2 0.08781321 1.00000000 

Thank you in advance! 

Répondre

0
#to get time varying correlation 
    rho.est.line <- list() 
    rho.est.line = rcor(dcc.fit, type="R") # plot(rho.est.line[1,2,]) 
    outputcorr <- matrix((rho.est.line[1,2,]), nrow = dim(returns)[1], byrow = TRUE) 
    rho.est = data.frame((outputcorr)) 
    rho.est.zoo = zoo(rho.est, order.by=index(returns[,1]))