2 votos

VEC GARCH (1,1) para 4 series temporales

Tengo que estimar un modelo VEC GARCH(1,1) en R. Ya he probado con rmgarch, fGarch, ccgarch, mgarch, tsDyn. ¿Alguien ha estimado un modelo así?

library(quantmod)
library(fBasics)
library(rmgarch)
library(fGarch)
library(parallel)
library(ccgarch)
library(mgarch) #from github vst/mgarch
library(tsDyn)
library(ggplot2)
#load data, time series closing prices, 10 year sample
#DAX 30
getSymbols('^GDAXI', src='yahoo', return.class='ts',from="2005-01-01",    to="2015-01-31")
GDAXI.DE=GDAXI[ , "GDAXI.Close"]
#S&P 500
getSymbols('^GSPC', src='yahoo', return.class='ts',from="2005-01-01", to="2015-01-31")
GSPC=GSPC[ , "GSPC.Close"]
#Credit Suisse Commodity Return Strat I
getSymbols('CRSOX', src='yahoo', return.class='ts',from="2005-01-01", to="2015-01-31")
CRSOX=CRSOX[ , "CRSOX.Close"]
#iShares MSCI Emerging Markets
getSymbols('EEM', src='yahoo', return.class='ts',from="2005-01-01", to="2015-01-31")
EEM=EEM[ , "EEM.Close"]
#calculating log returns of the time series
log_r1=diff(log(GDAXI.DE[39:2575]))
log_r2=diff(log(GSPC))
log_r3=diff(log(CRSOX))
log_r4=diff(log(EEM))
#return matrix
r_t=data.frame(log_r1, log_r2,log_r3, log_r4)
#GARCH estimation
#eGarch(1,1), not multivariate

#Vec Garch(1,1)
Est1=VECM(r_t,lag=1, estim="ML" )
print(Est1)

Creo que el operador VECM no es útil para mi propósito ya que necesito un martrix de 4x4 para alfa y uno de 4x4 para beta más un vector de 4x1 para omega. ¿Puede alguien ayudarme con algún paquete o código?

0 votos

¿Qué te parece mi respuesta? Si es útil y clara, puede aceptarla haciendo clic en la marca de la izquierda. Si no, puede pedir más aclaraciones. Esto es Cómo funciona Quantitative Finance SE .

2voto

Nilo Puntos 6

Los modelos VECM-GARCH no parecen estar implementados en R por ahora. Sin embargo, si está dispuesto a aceptar algunas simplificaciones, tal vez podría estar bien con la funcionalidad existente.

Tomemos, por ejemplo, el paquete "rmgarch" en R. Permite combinar modelos univariantes de varianza condicional media con varios modelos GARCH multivariantes que toman modelos de componentes individuales como entradas (DCC, GOGARCH, copula GARCH).

Consideremos un sistema bivariante $(x_{1,t},x_{2,t})$ . Puede utilizar las funciones ugarchspec y ugarchfit del paquete "rugarch" para especificar y ajustar modelos individuales para $x_{1,t}$ y $x_{2,t}$ por separado. Estos modelos tendrían

  • una parte de la media condicional que incluiría los rezagos propios, los rezagos de las otras series y un término de corrección del error a través del argumento external.regressors y
  • una parte de varianza condicional que sería el modelo GARCH de su elección.

Habría que estimar previamente el término de corrección del error utilizando, por ejemplo, el procedimiento de Johansen (función ca.jo en el paquete "vars").

Hasta ahora, se habría especificado y estimado un modelo VEC ecuación por ecuación, prestando atención a la heteroscedasticidad condicional a través de los modelos GARCH univariantes (aunque se descuidaría el elemento no diagonal de las matrices de varianza condicionales).

Dados los modelos de componentes especificados, los suministrará a la función pertinente del paquete "rmgarch" para construir el modelo GARCH multivariante de su elección (DCC, GOGARCH o copula GARCH).

Un aspecto desagradable de este procedimiento es que no está claro cómo se seleccionaría el orden autorregresivo incorporando la información de la parte de la varianza condicional. Sin embargo, podría seleccionar el orden autorregresivo simplemente despreciando la parte de la varianza condicional.

0 votos

Gracias por su respuesta he considerado algo como este procedimiento. Ya cambié mi "estrategia" y así mi código. Podría pedirte un favor para mirar mi código en stackoverflow, stackoverflow.com/questions/35554228/ tal vez usted pueda darme un consejo en este caso también. El problema con la estrategia anterior es que necesito las diagonales fuera para otra parte. necesito este código para mi tesis de maestría por lo que no se me permite construir paso a paso.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X