ÎncepețiÎncepe gratuit

Bitcoin și Ethereum sunt cointegrate?

Cointegrarea presupune doi pași: regresia unei serii de timp față de cealaltă pentru a obține vectorul de cointegrare, urmată de un test ADF pe reziduurile regresiei. În exemplul anterior, primul pas nu a fost necesar, deoarece am presupus implicit că vectorul de cointegrare este \(\small (1,-1)\). Cu alte cuvinte, am calculat diferența dintre cele două serii (după o conversie de unități). Aici vei parcurge ambii pași.

Vei regresa valoarea unei criptomonede, bitcoin (BTC), față de altă criptomonedă, ethereum (ETH). Dacă notăm coeficientul de regresie cu \(\small b\), atunci vectorul de cointegrare este pur și simplu \(\small (1,-b)\). Apoi aplică testul ADF pe BTC \(\small - b \) ETH. Prețurile Bitcoin și Ethereum sunt preîncărcate în DataFrame-urile BTC și ETH.

Acest exercițiu face parte din cursul

Analiza seriilor de timp în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Importă modulul statsmodels pentru regresie și funcția adfuller
  • Adaugă o constantă la DataFrame-ul ETH folosind sm.add_constant()
  • Regresează BTC față de ETH folosind sm.OLS(y,x).fit(), unde y este variabila dependentă și x este variabila independentă, și salvează rezultatele în result.
    • Interceptul se află în result.params[0], iar panta în result.params[1]
  • Rulează testul ADF pe BTC \(\small - b \) ETH

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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])
Editează și rulează codul