Saltar al contenido
Métodos de Econometría Aplicada con Python

Modelos de series de tiempo no estacionarias: modelos de cambios de régimen y modelos de volatilidad en Python.

Introducción

En el análisis de series de tiempo, es fundamental abordar el problema de la no estacionariedad de los datos, donde la media y la varianza pueden variar a lo largo del tiempo. Dos técnicas clave para manejar este desafío son los modelos de cambios de régimen y los modelos de volatilidad.

Modelos de Cambios de Régimen:

Los modelos de cambios de régimen son útiles cuando los datos muestran períodos de tiempo en los que el comportamiento cambia significativamente. Estos modelos identifican y modelan estos cambios abruptos en los datos. Pueden ser útiles para capturar transiciones entre diferentes estados económicos, ciclos de negocios, o cambios en la política que afectan las series de tiempo.

Modelos de Volatilidad:

Los modelos de volatilidad se centran en modelar la variabilidad o la volatilidad de las series de tiempo a lo largo del tiempo. Esto es crucial en mercados financieros y económicos donde la estabilidad de los precios puede variar significativamente. Los modelos de volatilidad intentan capturar esta variabilidad, permitiendo una mejor comprensión y predicción de las fluctuaciones en los datos.

Python y Librerías Especializadas:

Python es una opción excelente para implementar y trabajar con estos modelos debido a su versatilidad y las diversas librerías especializadas disponibles:

  • statsmodels: Esta librería es ampliamente utilizada en estadística y econometría. Ofrece funcionalidades para ajustar una amplia gama de modelos estadísticos, incluyendo modelos ARIMA para series de tiempo, así como modelos de regresión para datos de panel y más. También incluye herramientas para análisis de cambios estructurales en series de tiempo.

  • arch: Especializada en modelado de series de tiempo para volatilidad, la librería arch en Python proporciona implementaciones de modelos GARCH (Generalized Autoregressive Conditional Heteroskedasticity) y otros modelos de volatilidad estocástica. Estos modelos son ideales para capturar y pronosticar la volatilidad en datos financieros y económicos.

  • pyflux: Esta librería es conocida por su enfoque en modelos Bayesianos para series de tiempo. Permite ajustar modelos dinámicos lineales y no lineales, lo que puede ser útil para capturar patrones complejos de cambio en los datos de series temporales no estacionarios.

Curso de Econometría Aplicada con Python:

Un curso centrado en métodos de econometría aplicada con Python probablemente cubrirá el uso de estas y otras librerías para modelar series de tiempo no estacionarias. Los estudiantes aprenderán no solo a implementar estos modelos, sino también a interpretar los resultados y realizar predicciones precisas sobre el comportamiento futuro de los datos temporales.

En conclusión, Python junto con librerías como statsmodels, arch y pyflux ofrece un entorno robusto y flexible para abordar desafíos en el modelado de series de tiempo no estacionarias, permitiendo a los analistas y investigadores realizar análisis profundos y hacer predicciones informadas en diversos campos como finanzas, economía y más.
 

 

 

Resumen

En econometría, los modelos de series de tiempo son esenciales para analizar datos que varían a lo largo del tiempo. Cuando una serie de tiempo exhibe cambios en su media, varianza o ambas, se considera no estacionaria. En tales casos, los modelos de series de tiempo tradicionales pueden no ser adecuados, y es necesario recurrir a modelos más avanzados que puedan capturar y manejar estos cambios en la estructura del proceso estocástico subyacente.

Modelos de Cambios de Régimen:

Los modelos de cambios de régimen son una categoría importante de modelos que permiten cambios abruptos en la dinámica de la serie de tiempo en momentos específicos. El modelo más conocido en esta categoría es el modelo de Markov Switching. Este modelo asume que la serie de tiempo puede seguir diferentes procesos estocásticos (llamados regímenes) en diferentes estados o períodos de tiempo. La transición de un estado a otro sigue un proceso de Markov, donde la probabilidad de cambiar de un estado a otro depende únicamente del estado actual y no de los estados anteriores.

Modelos de Volatilidad:

Los modelos de volatilidad son otra clase importante de modelos para manejar la no estacionariedad en las series de tiempo. Estos modelos se centran en modelar cómo la varianza de la serie de tiempo cambia a lo largo del tiempo. Un ejemplo común son los modelos GARCH (Generalized Autoregressive Conditional Heteroscedasticity), que permiten modelar la variabilidad condicional de una serie de tiempo, es decir, cómo la varianza condicional cambia en respuesta a los choques pasados.

Implementación en Python:

Python es una opción popular para implementar y analizar modelos de series de tiempo no estacionarias, gracias a sus bibliotecas especializadas:

  • statsmodels: Esta biblioteca proporciona una amplia gama de herramientas para el análisis de series de tiempo, incluyendo modelos ARIMA, modelos de cambios de régimen (a través de MarkovSwitching), y modelos de volatilidad GARCH (a través de arch). Statsmodels es conocida por su capacidad de realizar inferencias estadísticas detalladas y pruebas de hipótesis sobre los parámetros estimados.

  • arch: Especializada en modelos de volatilidad, arch ofrece implementaciones eficientes de modelos GARCH y otros modelos relacionados. Permite ajustar estos modelos a datos de series de tiempo y realizar diagnósticos para evaluar la calidad del ajuste y la validez de las suposiciones del modelo.

Estas bibliotecas no solo facilitan la implementación de modelos avanzados, sino que también ofrecen herramientas para diagnosticar y validar los modelos, así como para realizar pronósticos precisos sobre el comportamiento futuro de las series de tiempo no estacionarias.

En resumen, los modelos de cambios de régimen y los modelos de volatilidad son herramientas poderosas para capturar la dinámica compleja de las series de tiempo no estacionarias. Python, con sus bibliotecas especializadas como statsmodels y arch, proporciona un entorno robusto y flexible para implementar y analizar estos modelos, facilitando así el estudio y la predicción de datos temporales en diversos campos de aplicación.

Aplicación teórica

Modelos de Cambios De Régimen

Los modelos de cambios de régimen, también conocidos como modelos de cambios estructurales o modelos de Markov-switching, se utilizan para capturar comportamientos y dinámicas que cambian en función de distintos regímenes o estados. Estos modelos son útiles en econometría y finanzas para describir series temporales que presentan cambios abruptos o estructurales en sus características, como volatilidad, tendencia o ciclos económicos.

1. Fundamentos de los Modelos de Cambios de Régimen

1.1. Concepto General

Un modelo de cambios de régimen permite que el proceso generador de una serie temporal cambie entre varios regímenes distintos, cada uno con sus propias características. Estos regímenes pueden ser asociados a diferentes estados económicos, como períodos de expansión y recesión.

1.2. Regímenes Ocultos y Observables

- Regímenes Ocultos: En muchos casos, los regímenes no son directamente observables y se infieren a partir de la serie temporal. Estos modelos asumen que existe un proceso subyacente que determina el régimen en el que se encuentra la serie temporal en cada momento.
- Regímenes Observables: Algunos modelos permiten que los regímenes sean directamente observables, lo que simplifica el análisis pero puede limitar la flexibilidad del modelo.

2. Modelos de Markov-Switching

Uno de los enfoques más comunes para modelar cambios de régimen es el Modelo de Markov-Switching (MS). Este modelo permite que una serie temporal siga diferentes procesos estocásticos en distintos regímenes, y el cambio entre regímenes sigue un proceso de Markov.

2.1. Especificación del Modelo

Un Modelo de Markov-Switching de \( k \) regímenes puede ser especificado de la siguiente manera:

\[
y_t = \mu_{s_t} + \sigma_{s_t} \epsilon_t
\]

Donde:
- \( y_t \) es la observación en el tiempo \( t \).
- \( \mu_{s_t} \) es la media del proceso en el régimen \( s_t \).
- \( \sigma_{s_t} \) es la desviación estándar del proceso en el régimen \( s_t \).
- \( \epsilon_t \) es el término de error, típicamente se asume que sigue una distribución normal estándar.
- \( s_t \) es el régimen en el tiempo \( t \), que sigue un proceso de Markov con matriz de transición \( P \).

2.2. Proceso de Markov

El proceso de cambio de régimen sigue una cadena de Markov con \( k \) estados. La probabilidad de transición de un régimen \( i \) a un régimen \( j \) en un período de tiempo se representa mediante una matriz de transición \( P \):

\[
P = \begin{bmatrix}
p_{11} & p_{12} & \cdots & p_{1k} \\
p_{21} & p_{22} & \cdots & p_{2k} \\
\vdots & \vdots & \ddots & \vdots \\
p_{k1} & p_{k2} & \cdots & p_{kk}
\end{bmatrix}
\]

Donde:
- \( p_{ij} \) es la probabilidad de transición del régimen \( i \) al régimen \( j \).

2.3. Ejemplo de Aplicación

Supongamos que queremos modelar una serie temporal de precios de acciones que exhiben períodos de alta y baja volatilidad. Podemos usar un modelo de Markov-Switching con dos regímenes (alta y baja volatilidad):

\[
y_t = \begin{cases} 
\mu_1 + \sigma_1 \epsilon_t & \text{si } s_t = 1 \\
\mu_2 + \sigma_2 \epsilon_t & \text{si } s_t = 2 
\end{cases}
\]

Aquí, \( \mu_1 \) y \( \sigma_1 \) representan la media y desviación estándar en el régimen 1, mientras que \( \mu_2 \) y \( \sigma_2 \) son los parámetros en el régimen 2.

3. Estimación del Modelo

3.1. Método de Máxima Verosimilitud

La estimación de los parámetros en un modelo de Markov-Switching se realiza típicamente mediante el método de máxima verosimilitud. La función de verosimilitud tiene en cuenta las probabilidades de transición entre regímenes y las distribuciones de los errores en cada régimen.

3.2. Algoritmo EM

El Algoritmo de Expectativa-Maximización (EM) es comúnmente utilizado para la estimación en modelos de Markov-Switching. Este algoritmo alterna entre dos pasos:
- Paso E (Expectativa): Calcula las probabilidades de pertenencia a cada régimen basado en los parámetros actuales.
- Paso M (Maximización): Actualiza los parámetros del modelo para maximizar la función de verosimilitud esperada.

4. Aplicaciones de los Modelos de Cambios de Régimen

4.1. Finanzas

En finanzas, los modelos de cambios de régimen son utilizados para modelar la volatilidad de los precios de activos, donde se pueden identificar períodos de alta y baja volatilidad.

4.2. Macroeconomía

En macroeconomía, estos modelos pueden ser usados para capturar los ciclos económicos, como períodos de expansión y recesión.

4.3. Análisis de Series Temporales

En el análisis de series temporales, los modelos de cambios de régimen pueden ayudar a identificar y modelar cambios estructurales o abruptos en las características de la serie temporal, como tendencias y estacionalidades.

5. Conclusión

Los modelos de cambios de régimen, y en particular los modelos de Markov-Switching, proporcionan una herramienta poderosa para modelar series temporales que exhiben diferentes comportamientos en distintos regímenes. Estos modelos permiten capturar cambios estructurales y dinámicas complejas que no pueden ser adecuadamente modeladas por modelos de una sola estructura. La capacidad de modelar regímenes ocultos y la flexibilidad en la captura de diferentes dinámicas temporales hacen que estos modelos sean ampliamente aplicados en econometría y finanzas.

Modelos de Volatilidad

Los modelos de volatilidad son fundamentales en econometría y finanzas para analizar y predecir la variabilidad en los precios de activos financieros. Estos modelos permiten entender cómo la volatilidad cambia con el tiempo y ayudan en la gestión de riesgos y en la toma de decisiones de inversión. Existen varios enfoques para modelar la volatilidad, entre los que destacan los modelos ARCH (Autoregressive Conditional Heteroskedasticity) y sus extensiones.

1. Modelos ARCH (Autoregressive Conditional Heteroskedasticity)

1.1. Introducción al Modelo ARCH

El modelo ARCH, introducido por Robert Engle en 1982, es una herramienta para modelar la heterocedasticidad condicional en series temporales financieras. La heterocedasticidad condicional significa que la varianza de los errores no es constante, sino que depende de la información disponible en el pasado.

1.2. Especificación del Modelo ARCH

Un modelo ARCH(p) se especifica de la siguiente manera:

\[
y_t = \mu + \epsilon_t
\]

donde \( \epsilon_t \) es el término de error:

\[
\epsilon_t = \sigma_t z_t
\]

y \( \sigma_t^2 \), la varianza condicional, se modela como:

\[
\sigma_t^2 = \alpha_0 + \alpha_1 \epsilon_{t-1}^2 + \alpha_2 \epsilon_{t-2}^2 + \cdots + \alpha_p \epsilon_{t-p}^2
\]

donde:
- \( \sigma_t^2 \) es la varianza condicional en el tiempo \( t \).
- \( \alpha_0, \alpha_1, \ldots, \alpha_p \) son parámetros a estimar.
- \( z_t \) es una serie de errores i.i.d. (independientes e idénticamente distribuidos) con media cero y varianza uno.

1.3. Estimación del Modelo ARCH

La estimación de los parámetros del modelo ARCH se realiza mediante el método de máxima verosimilitud. La función de verosimilitud se basa en la distribución condicional de \( y_t \) dado el pasado. 

2. Modelos GARCH (Generalized Autoregressive Conditional Heteroskedasticity)

2.1. Introducción al Modelo GARCH

El modelo GARCH, introducido por Tim Bollerslev en 1986, generaliza el modelo ARCH al permitir que la varianza condicional dependa tanto de los términos de error pasados como de la varianza condicional pasada. Esto proporciona una forma más flexible y parsimoniosa para modelar la volatilidad.

2.2. Especificación del Modelo GARCH

Un modelo GARCH(p, q) se especifica como sigue:

\[
\sigma_t^2 = \alpha_0 + \alpha_1 \epsilon_{t-1}^2 + \alpha_2 \epsilon_{t-2}^2 + \cdots + \alpha_p \epsilon_{t-p}^2 + \beta_1 \sigma_{t-1}^2 + \beta_2 \sigma_{t-2}^2 + \cdots + \beta_q \sigma_{t-q}^2
\]

donde:
- \( \alpha_0 \) es un parámetro constante.
- \( \alpha_1, \alpha_2, \ldots, \alpha_p \) son los parámetros de los términos de error pasados.
- \( \beta_1, \beta_2, \ldots, \beta_q \) son los parámetros de los términos de varianza pasada.

2.3. Estimación del Modelo GARCH

La estimación se realiza mediante máxima verosimilitud, similar al modelo ARCH, pero con una función de verosimilitud que incorpora tanto los términos de error pasados como la varianza condicional pasada.

3. Modelos EGARCH (Exponential GARCH)

3.1. Introducción al Modelo EGARCH

El modelo EGARCH, introducido por Tim Bollerslev y Jeffrey M. Wooldridge en 1986, es una extensión del modelo GARCH que permite modelar efectos asimétricos en la volatilidad, lo que significa que los efectos negativos y positivos en los retornos pueden tener diferentes impactos en la volatilidad.

3.2. Especificación del Modelo EGARCH

La especificación del modelo EGARCH(p, q) es:

\[
\log(\sigma_t^2) = \alpha_0 + \alpha_1 \frac{\epsilon_{t-1}}{\sigma_{t-1}} + \beta_1 \log(\sigma_{t-1}^2)
\]

donde \( \alpha_1 \) captura el efecto asimétrico, y \( \log(\sigma_t^2) \) asegura que la varianza condicional es siempre positiva.

3.3. Estimación del Modelo EGARCH

La estimación se realiza mediante el método de máxima verosimilitud, considerando la función de verosimilitud que incorpora el logaritmo de la varianza condicional.

4. Modelos GJR-GARCH (Glosten-Jagannathan-Runkle GARCH)

4.1. Introducción al Modelo GJR-GARCH

El modelo GJR-GARCH, introducido por Glosten, Jagannathan y Runkle en 1993, es una extensión del modelo GARCH que también incorpora efectos asimétricos en la volatilidad.

4.2. Especificación del Modelo GJR-GARCH

La especificación del modelo GJR-GARCH(p, q) es:

\[
\sigma_t^2 = \alpha_0 + \alpha_1 \epsilon_{t-1}^2 + \alpha_2 \epsilon_{t-1}^2 \mathbf{I}(\epsilon_{t-1} < 0) + \beta_1 \sigma_{t-1}^2
\]

donde \( \mathbf{I}(\epsilon_{t-1} < 0) \) es una función indicadora que toma el valor 1 si \( \epsilon_{t-1} < 0 \) y 0 en caso contrario. Esto permite que las fluctuaciones negativas en los retornos tengan un impacto diferente en la volatilidad comparado con las fluctuaciones positivas.

4.3. Estimación del Modelo GJR-GARCH

La estimación también se realiza mediante máxima verosimilitud, considerando la función de verosimilitud que incorpora los efectos asimétricos.

5. Aplicaciones de los Modelos de Volatilidad

5.1. Finanzas

En finanzas, estos modelos se utilizan para:
- Gestión del Riesgo: Estimación de la volatilidad para calcular medidas de riesgo como el Value at Risk (VaR).
- Valoración de Opciones: Modelar la volatilidad implícita en la valoración de opciones y otros derivados financieros.

5.2. Macroeconomía

En macroeconomía, se utilizan para modelar la volatilidad de variables económicas clave y entender el impacto de eventos económicos en la volatilidad.

5.3. Investigación Académica

En investigación académica, los modelos de volatilidad se utilizan para estudiar la dinámica de precios de activos, identificar patrones de volatilidad y desarrollar nuevas teorías sobre el comportamiento de las series temporales financieras.

6. Conclusión

Los modelos de volatilidad, como ARCH, GARCH, EGARCH y GJR-GARCH, son herramientas esenciales para analizar y predecir la variabilidad en los precios de activos financieros. Cada modelo ofrece un enfoque diferente para capturar la dinámica de la volatilidad, desde simples heterocedasticidades condicionales hasta complejas estructuras asimétricas. Estos modelos son fundamentales en la gestión del riesgo y en la valoración de derivados, proporcionando una comprensión más profunda de las fluctuaciones en los mercados financieros.

Interacción entre Cambios de Régimen y Volatilidad

La interacción entre cambios de régimen y volatilidad es un tema relevante en econometría y finanzas, particularmente en el análisis de series temporales. Esta interacción se centra en cómo los cambios estructurales en el comportamiento de una serie temporal afectan la volatilidad y cómo la volatilidad puede a su vez señalar la presencia de un cambio de régimen. Para entender mejor esta relación, es importante explorar modelos que capturan ambos fenómenos.

1. Concepto de Cambios de Régimen

Los cambios de régimen se refieren a alteraciones en el comportamiento de una serie temporal que ocurren en puntos específicos en el tiempo, llamados puntos de cambio. Estos cambios pueden estar asociados con eventos económicos, políticos o financieros significativos que alteran la estructura de los datos. Un cambio de régimen puede afectar tanto el nivel medio de la serie como su volatilidad.

2. Modelos de Cambios de Régimen

Los modelos de cambios de régimen están diseñados para capturar las transiciones entre diferentes estados o regímenes. El *Modelo de Cambio de Régimen de Markov (MSM) es uno de los más utilizados. Este modelo permite que los parámetros de un modelo econométrico, como la media o la varianza, cambien dependiendo del régimen en el que se encuentre la serie temporal.

2.1. Modelo de Cambio de Régimen de Markov (MSM)

Un MSM con dos regímenes puede ser especificado como sigue:

\[
y_t = \begin{cases} 
\mu_1 + \epsilon_t & \text{si } s_t = 1 \\
\mu_2 + \epsilon_t & \text{si } s_t = 2 
\end{cases}
\]

donde:
- \( y_t \) es la variable dependiente en el tiempo \( t \).
- \( \mu_1 \) y \( \mu_2 \) son las medias de los dos regímenes.
- \( s_t \) es el estado del régimen en el tiempo \( t \) y sigue una cadena de Markov.
- \( \epsilon_t \) es el término de error, que generalmente se asume con distribución normal y varianza condicionalmente heterocedástica.

La probabilidad de transición entre regímenes está dada por una matriz de transición \( P \):

\[
P = \begin{bmatrix}
p_{11} & p_{12} \\
p_{21} & p_{22}
\end{bmatrix}
\]

donde \( p_{ij} \) es la probabilidad de cambiar del régimen \( i \) al régimen \( j \).

3. Interacción entre Cambios de Régimen y Volatilidad

La volatilidad puede variar significativamente entre diferentes regímenes. Por ejemplo, en un régimen de alta volatilidad, como durante una crisis financiera, la varianza de los retornos financieros puede ser mucho mayor que en un régimen de baja volatilidad.

3.1. Modelos GARCH con Cambios de Régimen

Para capturar esta interacción, se utilizan modelos que combinan la estructura de los cambios de régimen con modelos de volatilidad, como el GARCH. Un modelo GARCH con cambios de régimen permite que los parámetros del GARCH cambien dependiendo del régimen actual.

Un modelo GARCH(1,1) con cambios de régimen puede ser formulado como:

\[
\sigma_t^2 = \begin{cases}
\alpha_{0,1} + \alpha_{1,1} \epsilon_{t-1}^2 + \beta_{1,1} \sigma_{t-1}^2 & \text{si } s_t = 1 \\
\alpha_{0,2} + \alpha_{1,2} \epsilon_{t-1}^2 + \beta_{1,2} \sigma_{t-1}^2 & \text{si } s_t = 2
\end{cases}
\]

donde:
- \( \alpha_{0,1}, \alpha_{1,1}, \beta_{1,1} \) son los parámetros del modelo GARCH en el régimen 1.
- \( \alpha_{0,2}, \alpha_{1,2}, \beta_{1,2} \) son los parámetros del modelo GARCH en el régimen 2.
- \( s_t \) es el régimen en el tiempo \( t \).

Este modelo permite que la volatilidad no solo dependa de los choques pasados y de la volatilidad pasada, sino también del régimen en el que se encuentre la serie temporal.

3.2. Estimación y Aplicaciones

La estimación de modelos GARCH con cambios de régimen generalmente se realiza utilizando métodos de máxima verosimilitud, optimizados a través de algoritmos numéricos debido a la complejidad de las funciones de verosimilitud implicadas.

Estos modelos son particularmente útiles en finanzas para modelar series temporales de retornos de activos financieros, donde se observan frecuentemente cambios en la volatilidad debido a eventos económicos y financieros importantes. Por ejemplo, en períodos de alta incertidumbre económica, como recesiones o crisis financieras, se puede observar un cambio de régimen a un estado de mayor volatilidad.

4. Implicaciones de la Interacción entre Cambios de Régimen y Volatilidad

4.1. Predicción y Gestión de Riesgo

La capacidad de modelar adecuadamente los cambios de régimen y la volatilidad es crucial para la predicción y gestión del riesgo financiero. Los inversores y gestores de carteras pueden utilizar estos modelos para ajustar sus estrategias en función del régimen actual de volatilidad, mejorando la asignación de activos y las estrategias de cobertura.

4.2. Decisiones de Política Económica

Para los responsables de políticas económicas, entender la interacción entre cambios de régimen y volatilidad es esencial para evaluar el impacto potencial de shocks económicos y financieros. Esto puede ayudar en la formulación de políticas que mitiguen los efectos adversos de dichos shocks en la economía.

5. Conclusión

Los modelos que combinan cambios de régimen y volatilidad, como los modelos GARCH con cambios de régimen, son herramientas poderosas para capturar la dinámica compleja de series temporales económicas y financieras. Estos modelos permiten una comprensión más profunda de cómo los eventos estructurales impactan la volatilidad y proporcionan una base sólida para la toma de decisiones en finanzas y políticas económicas.

Aplicación práctica

Para demostrar modelos de series de tiempo no estacionarias

Aquí hay un ejemplo práctico de cómo implementar modelos de cambios de régimen y modelos de volatilidad en Python utilizando la biblioteca statsmodels. Primero, vamos a cargar algunas bibliotecas y datos de ejemplo. En este ejemplo, utilizaremos los datos de la tasa de crecimiento real del PIB de EE. UU., que se pueden cargar utilizando la biblioteca pandas:


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import statsmodels.api as sm

# Cargar datos de ejemplo
data = pd.read_csv('https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/USJudgeRatings.csv')
y = data['conformity']
x = sm.add_constant(data[['intelligence', 'hardness']])
    

Ahora, vamos a crear un modelo de cambio de régimen mediante el uso de la clase MarkovRegression en statsmodels. El modelo de cambio de régimen nos permite modelar diferentes periodos de la serie de tiempo con diferentes ecuaciones, y la transición entre ellos se rige por un proceso de Markov. En este ejemplo, utilizaremos dos estados diferentes:


# Crear modelo de cambio de régimen
mod_mr = sm.tsa.MarkovRegression(y, k_regimes=2, exog=x)

# Ajustar modelo
res_mr = mod_mr.fit()

# Ver resultados
print(res_mr.summary())
    

Además de los resultados resumidos del modelo, podemos usar la clase plot_regressions para visualizar las diferentes ecuaciones utilizadas para cada régimen:


# Visualizar resultados del modelo de cambio de régimen
fig = res_mr.plot_regressions(figsize=(10, 8))
    

Para el modelo de volatilidad, podemos utilizar la clase ARCHModel de statsmodels, que nos permite modelar la volatilidad de la serie de tiempo como una función del comportamiento anterior. En este ejemplo, utilizaremos un modelo de la familia GARCH:


# Crear modelo GARCH
mod_garch = sm.tsa.ARCHModel(y, exog=x, p=1, q=1, mean='AR', vol='GARCH')

# Ajustar modelo
res_garch = mod_garch.fit()

# Ver resultados
print(res_garch.summary())
    

También podemos utilizar la función plot_predict para visualizar las predicciones del modelo:


# Visualizar predicciones del modelo GARCH
fig = res_garch.plot_predict(start='1973', end='1983')