ComeçarComece gratuitamente

O Bitcoin e o Ethereum são cointegrados?

A cointegração envolve duas etapas: fazer a regressão de uma série temporal sobre a outra para obter o vetor de cointegração e, em seguida, realizar um teste ADF nos resíduos da regressão. No último exemplo, não houve necessidade de executar a primeira etapa, pois assumimos implicitamente que o vetor de cointegração era \(\small (1,-1)\). Em outras palavras, pegamos a diferença entre as duas séries (depois de fazer uma conversão de unidades). Aqui, você executará as duas etapas.

Você regredirá o valor de uma criptomoeda, bitcoin (BTC), em outra criptomoeda, ethereum (ETH). Se chamarmos o coeficiente de regressão de \(\small b\), então o vetor de cointegração será simplesmente \(\small (1,-b)\). Em seguida, execute o teste ADF em BTC \(\small - b \) ETH. Os preços do Bitcoin e do Ethereum são pré-carregados nos DataFrames BTC e ETH.

Este exercício faz parte do curso

Análise de séries temporais em Python

Ver Curso

Instruções de exercício

  • Importe o módulo statsmodels para regressão e a função adfuller

  • Adicione uma constante ao DataFrame ETH usando sm.add_constant()

  • Regrida BTC em ETH usando sm.OLS(y,x).fit(), em que y é a variável dependente e x é a variável independente, e salve os resultados em result.

    • A interceptação está em result.params[0] e a inclinação em result.params[1]
  • Execute o teste ADF em BTC \(\small - b \) ETH

Exercício interativo prático

Experimente este exercício preenchendo este código de exemplo.

# 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 e executar código