4 votos

Estimación de 2 pasos del modelo DCC GARCH en Python

En este hilo se encuentran varias preguntas. Actualmente estoy en el proceso de implementar un modelo de pronóstico DCC GARCH en quantopian (una plataforma de trading alimentada por python).

El primer paso consiste en estimar la volatilidad condicional a lo largo del tiempo $D_t$ (como se canoniza por Engle). Aplico la función de log-verosimilitud tradicional con la función de minimización del paquete scipy. Para el segundo paso, es lo mismo excepto que me encuentro con un poco de ambigüedad:

Considera la log-verosimilitud para el segundo paso $L(\phi|\hat{\theta})\propto \sum_{t=1}^{T}log(|R_{t}|)+\epsilon_t^{'}R_t^{-1}\epsilon_t$. El primer término se evalúa como una matriz de N por N mientras que el segundo término se evalúa como un escalar. Por lo tanto, la verosimilitud para cada paso de tiempo es una matriz de N por N. En la implementación, solo se espera que se devuelva un escalar, ¿debo simplemente sumar todos los términos en $log(|R_t|)$ al calcular la verosimilitud real?

Además, el tiempo actual que tarda la función de minimización en converger es demasiado largo, cualquier consejo sobre técnicas de estimación más rápidas es apreciado.

4voto

BrianWa Puntos 399

Si $\log{(|R_t|)}$ es tu primer término, no estoy seguro de por qué esto es una matriz. El módulo (determinante aquí) aplicado a una matriz $R_t$ da un escalar. Si tu implementación en python produce una matriz, es probable que sea porque el módulo se trata como una función abs() elemento por elemento para cada elemento de la matriz.

Puede ser más fácil y rápido usar los paquetes rugarch (GARCH univariado) y rmgarch (GARCH multivariado) en R para ajustar los parámetros del modelo DCC. Puedes acceder a estos desde Python. Estos paquetes permiten una aceleración fácil con un procesamiento agrupado. Alternativamente, hay un paquete ccgarch en R que permite el ajuste de DCC.

Llamar a R desde Python se discute numerosas veces aquí, aquí, y en muchas otras publicaciones.

El sitio web de Unstarched tiene muchos ejemplos útiles de DCC GARCH.

1 votos

Este es un post muy antiguo pero muchas gracias por tomarte aun así tu tiempo para responder. Me di cuenta de que era la función determinante después de publicar este hilo. Sin embargo, encuentro tus enlaces sobre la implementación de R en python muy interesantes, así que investigaré más en ese campo de todos modos :)

0 votos

Usted es bienvenido. Esperemos que esto también ayude a otros a implementar DCC.

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