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
Instruções do exercício
Importe o módulo statsmodels para regressão e a função
adfullerAdicione uma constante ao DataFrame
ETHusandosm.add_constant()Regrida
BTCemETHusandosm.OLS(y,x).fit(), em que y é a variável dependente e x é a variável independente, e salve os resultados emresult.- A interceptação está em
result.params[0]e a inclinação emresult.params[1]
- A interceptação está em
Execute o teste ADF em BTC \(\small - b \) ETH
Exercício interativo prático
Experimente este exercício completando 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])