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 .