2017-07-04 5 views
0

J'ai estimé un modèle BEKK(1,1) et maintenant je veux avoir des valeurs de prévision du modèle. Voici les codes R pour estimer le modèle BEKK(1,1).Prévision du modèle BEKK (1,1) pour 5 variables

> install.packages('MTS') 
> install.packages('rmgarch') 
> simulated <- simulateBEKK(2, 1000, c(1, 1)) 

##prepare the matrix: 
> simulated <- do.call(cbind, simulated$eps) 

##Estimate with default arguments: 
> estimated <- BEKK(simulated) 
> diagnoseBEKK(estimated) 

Répondre

0

Depuis votre question (est-ce une question?) Ne fait pas vraiment clair ce que vous essayez d'atteindre (et se mélange paquets/commandes) Je vais répondre à ce que je pense que vous voulez savoir.

Tout d'abord, les commandes que vous décrivez viennent du paquet mgarchBEKK, pas MTS ou rmgarch.

Je vais coller avec votre exemple, qui a deux séries (pas cinq, comme implicite par votre titre).

1. Simulation et estimation du modèle

Vous exécutez votre code (par exemple vient en fait du documentation, page 4:

install.packages('mgarchBEKK') 
library('mgarchBEKK') 
## Simulate series: (2 = number of series to be simulated, 
##     1000 = length of series to be simulated, 
##     c(1,1) = BEKK(p, q) order. 
simulated = simulateBEKK(2, 1000, c(1,1)) 
## Prepare the matrix: 
simulated = do.call(cbind, simulated$eps) 
## Estimate with default arguments: 
estimated = BEKK(simulated) 

Maintenant, vous avez toutes les informations stockées dans estimated En supposant que votre. les variables d'entrée seraient, par exemple, des séries de rendements journaliers à partir d'actions ou d'indices, la dernière valeur pour H serait votre prévision pour la variance conditionnelle de demain et la dernière valeur pour cor votre prévision pour la corrélation conditionnelle de demain. Donc, fondamentalement, une prévision d'un jour.


2. Préparation des données

Vous pouvez stocker la standarddeviation conditionnelle et la corrélation conditionnelle dans une trame de données de sepearte pour convienience. Comme:

results = data.frame('bekk.csd.variable1' = estimated$sd[[1]], 
        'bekk.csd.variable2' = estimated$sd[[2]], 
        'bekk.ccor.var1_var2' = estimated$[[1]][[2]]) 

3. Afficher les résultats

Et puis montrer votre 1 jour/période prévisionnelle pour la volatilité conditionnelle et la corrélation conditionnelle:

tail(results, n = 1) 
+0

merci, mon BEKK fonctionne – haleemasadia

+0

@haleemasadia Je suis content que vous l'ayez lancé. Si la réponse vous a aidé/a résolu votre question, s'il vous plaît soyez si gentil de l'augmenter/le marquer comme la réponse acceptée. – Numb3rs

0

Nombres,

Je pense que votre code manque quelque chose. Sur la partie 2. Voici comment je pense qu'il pourrait être corrigé:

results = data.frame('bekk.csd.variable1' = estimated$sd[[1]], 
       'bekk.csd.variable2' = estimated$sd[[2]], 
       'bekk.ccor.var1_var2' = estimated$cor[[1]][[2]]) 

Espérons que cela aide.