- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
- ¿Qué es el RUIDO BLANCO ? Econometría en R - junio 21, 2023
Los modelos DCC_GARCH, son un tipo de modelos econométricos que se pueden usar para medir,modelar y predecir la volatilidad en las series de manera dinámica.
Sabemos que la volatilidad expresada estadísticamente por la varianza es un valor fijo,o un momento poblacional constante. Mediante estos modelos podemos generar una serie de tiempo que nos ayude a su estudio
Son una evolución de los modelos de CCC, y nos pueden permitir hacer predicciones tanto de la varianza como de la convarianza y correlación cuando tenemos varias series.
Al incluir la especificación GARCH lo que se busca es que existan puntos de equilibrio central de manera que se hace que la volatilidad tienda a un equilibrio.
Como su nombre indica es correlación porque calcularemos el coeficiente de correlación de Pearson de cada par de rentabilidades, condicional porque primero estimaremos un modelo Garch de cada rentabilidad y Dinámica porque el coeficiente de correlación será dinamico en el tiempo. Es decir, variará.
Aquí tienes un tutorial completo haciendo un ejemplo en R studio.Más abajo en el post dejo el código en R usado para que lo copies si lo deseas.
.
CODIGO VIDEO
###Video DCC – GARCH
## CCC
# Sirven par modelar,medir y predecir la volatillidad de forma
# de manera dinámica y multivariada
#SOn una evolución de los CCC y al usar Garch encontramos
# un punto de equilibrio constante
#install.packages(«quantmod»)
library(quantmod)
#install.packages(«tseries»)
library(tseries)
#install.packages(«fImport»)
library(fImport)
#install.packages(«rugarch») #para ugarchspec
library(rugarch) #rugarch: a package for univariate GARCH fitting, simulation and forecast
#install.packages(«rmgarch»)
library(rmgarch) #dccspec
#install.packages(«ccgarch»)
library(ccgarch)
#install.packages(«fPortfolio»)
library(fPortfolio)
#install.packages(«gtools)
library(gtools)
getSymbols(«EURGBP=X»,src=»yahoo»,from = «2017-02-18»)
getSymbols(«EURUSD=X»,src=»yahoo»,from = «2017-02-18»)
getSymbols(«GBPCHF=X»,src=»yahoo»,from = «2017-02-18»)
getSymbols(«NZDCAD=X»,src=»yahoo»,from = «2017-02-18»)
EURGBP= `EURGBP=X`[,4]
EURUSD= `EURUSD=X`[,4]
GBPCHF= `GBPCHF=X`[,4]
NZDCAD= `NZDCAD=X`[,4]
FX1=cbind(EURUSD,EURGBP)
#Caluclamos los retornos y x 100 para calcularlos en %
FX1=returns(FX1)
FX1=100*FX1[,1:ncol(FX1)]
FX<-as.timeSeries(FX1)
FX<-na.omit(FX)
head(FX)
apply(FX,2,mean)
mu<-matrix(apply(FX,2,mean))
mu1<-t(mu) #media simple Esta media podría calcularse por el metodo de rendimiento simple
plot(FX)
head(FX)
##
#Asumimos una distribución t-student multivariada/ Ver Normal multivariada
dis_garch11<-ugarchspec(mean.model = list(armaOrder = c(0,0), include.mean=F),
variance.model = list(garchOrder = c(1,1),model = «sGARCH»))
#DCC-GARCH — VARIAS DISTRIBUIONES
DCC_garch11<-dccspec(uspec = multispec(replicate(2, dis_garch11)),
dccOrder = c(1,1),distribution = «mvt»)
###2 porque son 2 serie
# APLICAMOS MODELO A NUESTRA TABLA
DCC_garch11_mod<-dccfit(DCC_garch11, data = FX) # FX aquí le fijamos el modelo
DCC_garch11_mod
AICdcc<-infocriteria(DCC_garch11_mod)[1]
AICdcc
plot(DCC_garch11_mod)
#################
#sacar las matrices de correlacion y covarianzas
DCC_garch11_mod@mfit$R
DCC_garch11_mod@mfit$H
gf_cov<-(DCC_garch11_mod@mfit$H[1:1,2:2,])
gf_cov
plot(gf_cov,type=»l»)
### Predicciones
#Predicción con dcc. Está por defecto 1 pero se puede poner las que se desee
Prediccion<-(dccforecast(DCC_garch11_mod))
Prediccion
#n.ahead=100
Prediccion_50<-(dccforecast(DCC_garch11_mod,n.ahead=30))
Prediccion_50
plot(Prediccion_50)
pred_cov<-matrix(Prediccion@mforecast$H[[1]],nrow=2)#Matriz covarianzas pred
pred_cov
pred_cor<-matrix(Prediccion@mforecast$R[[1]],nrow=2)#Matriz correlaciones
pred_cor
#Prediccion@mforecast
#1 fijar los modelos univariados garch
# 2 establecer el modelo dcc y la distribución multivariada
# 3 fijar el modelo sobre nuesta tabla de rentabilidades
# estudiar la volatilidad
# predicciones
Saludos tengo este ERROR
Error in library(ccgarch) : there is no package called ‘ccgarch’
Hola, tienes que instalar antes el paquete. Está comentado con un » #». Una vez instalados los podrás ejecutar todos. Yo los tengo comentados porque ya los tengo cargados anteriormente. SI no se te arreglar así deberás poner otra versión anterior de R.
Si gracias me imagine porque ese paquete es viejo 2014
Sí, pero yo nunca tuve ningún problema aún actualizando R. Igualmente suele pasar que a veces los paquetes algunos no van.
Victor en unos de tus videos desdecargas data de pares de divisas con timeframe de 15 minutos pero veo el codigo muy complicado para mi, tienes una manera mas entendible para hacerlo? Gracias
Más entendible puedo hacerlo pero será difícil actualizar los datos rápido. Es decir, puedo explicar como descargar datos en 15 minutos, pero si lo que quieres es usarlo para operar es probable que no te sirvan porque no te dará tiempo a hacer descarga y usarlos. Ahora,si quieres datos en 15 minutos para estudiarlos sí tengo otras formas de hacerlo y descargar desde el bróker directamente.
OK Victor si tienes tiempo en explicar las dos formas que me cuentas seria de mucha ayuda para el estudio, gracias, estare atento
muy buen video.
me ayudo muchisimo gracias!!!
Me alegra que te ayudara Sofia!! Saludos!!
Excelente video, Victor!! Me estás ayudando mucho para mi tesis. Eso sí, te quería preguntar qué ventana de tiempo estarías tomando para calcular la correlación y covarianza (bajo la lógica del post «Correlación y Covarianza con Ventana de Tiempo»).
Gracias y sigue así!
Hola!! Gracias!! En ese post he usado todos los datos descargados. No establecí ventana de tiempo. Dejé pro defecto los parámetros del modelo DCC-Garch con todos los datos que descargué.
Hola, es que tengo una duda, lo que pasa es que no puedo cargar la libreria ccgarch no aparece ni en el cran de r, solo aparece bayesDccGarch. Me podrias ayudar por favor
Hola Daniela. Si la librería no te carga, puedes cambiar la versión de R y ver si con una versión anterior si te va. Esa librería que has puesto tu bayesDccGarch no la he usado yo, pero quizá sirva también. Habría que mirar la dcoumentación. Pon también en R, ?dccspec o ?dccfit, y miras que te aparece.
Una consulta, como se puede especificar distintos modelos garch univariados para los componentes del dcc? muchas gracias de antemano.
Hola Mariana. La parte de Garch se fija con el ugarchspec,en la primera de parte del código. Ahí puedes cambiar los valores
Muchas gracias! ya realicé el ajuste, sería posible que me pueda dar su número de wsp para realizarle una consulta?
Hola Victor, tiene muy buenos videos la verdad te felicito, si para la proxima puedes hacer un video de la estimacion de la volatilidad de Ewma o como se hace una prueba de backtesting de un portafolio de acciones, please.
Muchas Gracias Julio! Hola,sí el de estimación con EWMA es muy buena idea, ese me lo pasé por alto aunque si he hecho sobre Garch. Backtesting sobre acciones si tengo hecho en el curso de Cartera De Inversión en R. Aquí tienes los vídeos :
https://ricovictor.com/index.php/carteras-de-inversion/
Buen día Victor, quiero saber si me podrías ayudar a entender lo que significa cada uno de los parámetros obtenidos, es decir, dcc alpha, dcc betha y todos los demás. Gracias
Hola David! Si podría, aunque me llevaría un poco de tiempo. Tendría que hacer quizá un pequeño post o video para explicarlo tranquilamente. Igualmente si te parece bien te paso al correo un poco de bibliografía en español donde yo lo estudie para que la puedes ver
Hola muy bueno el vídeo nos ayudo mucho. Por favor también necesito saber que significa el dcc alpha y ddcc beta.