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 de exercício
Importe o módulo statsmodels para regressão e a função
adfuller
Adicione uma constante ao DataFrame
ETH
usandosm.add_constant()
Regrida
BTC
emETH
usandosm.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 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])