Začněte nyníZačněte zdarma

Jsou Bitcoin a Ethereum kointegrované?

Kointegrace se skládá ze dvou kroků: nejprve provedeme regresi jedné časové řady na druhé, abychom získali kointegrační vektor, a poté spustíme ADF test na reziduích regrese. V předchozím příkladu jsme první krok přeskočili, protože jsme implicitně předpokládali, že kointegrační vektor je \(\small (1,-1)\). Jinými slovy, vzali jsme rozdíl mezi oběma řadami (po převodu jednotek). Tentokrát provedeš oba kroky.

Provedeme regresi hodnoty jedné kryptoměny, bitcoinu (BTC), na druhé kryptoměně, ethereu (ETH). Označme regresní koeficient \(\small b\) – kointegrační vektor je pak jednoduše \(\small (1,-b)\). Poté spusť ADF test na BTC \(\small - b \) ETH. Ceny bitcoinu a ethereu jsou předem načteny v DataFramech BTC a ETH.

Toto cvičení je součástí kurzu

Analýza časových řad v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Importuj modul statsmodels pro regresi a funkci adfuller
  • Přidej konstantu do DataFramu ETH pomocí sm.add_constant()
  • Proveď regresi BTC na ETH pomocí sm.OLS(y,x).fit(), kde y je závislá proměnná a x je nezávislá proměnná, a výsledek ulož do result.
    • Intercept najdeš v result.params[0] a směrnici v result.params[1]
  • Spusť ADF test na BTC \(\small - b \) ETH

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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])
Upravit a spustit kód