EmpezarEmpieza gratis

¿Están Bitcoin y Ethereum cointegrados?

La cointegración implica dos pasos: ajustar una serie temporal sobre la otra para obtener el vector de cointegración y, después, realizar una prueba ADF sobre los residuos de la regresión. En el ejemplo anterior, no fue necesario hacer el primer paso porque asumimos implícitamente que el vector de cointegración era \(\small (1,-1)\). Es decir, tomamos la diferencia entre las dos series (tras convertir las unidades). Aquí, harás ambos pasos.

Vas a regredir el valor de una criptomoneda, bitcoin (BTC), sobre otra, ethereum (ETH). Si llamamos \(\small b\) al coeficiente de la regresión, entonces el vector de cointegración es simplemente \(\small (1,-b)\). Luego realiza la prueba ADF sobre BTC \(\small - b \) ETH. Los precios de Bitcoin y Ethereum están precargados en los DataFrames BTC y ETH.

Este ejercicio forma parte del curso

Análisis de series temporales en Python

Ver curso

Instrucciones del ejercicio

  • Importa el módulo statsmodels para la regresión y la función adfuller.
  • Añade una constante al DataFrame ETH usando sm.add_constant().
  • Regresa BTC sobre ETH con sm.OLS(y,x).fit(), donde y es la variable dependiente y x la variable independiente, y guarda los resultados en result.
    • La ordenada al origen está en result.params[0] y la pendiente en result.params[1].
  • Ejecuta la prueba ADF sobre BTC \(\small - b \) ETH.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Import the statsmodels module for regression and the adfuller function
import statsmodels.api as sm
from statsmodels.tsa.stattools import adfuller

# Regress BTC on ETH
ETH = sm.___(ETH)
result = sm.OLS(___,___).fit()

# Compute ADF
b = result.params[1]
adf_stats = adfuller(___['Price'] - b*___['Price'])
print("The p-value for the ADF test is ", adf_stats[1])
Editar y ejecutar código