Kom igångKom igång gratis

Är Bitcoin och Ethereum kointegrerade?

Kointegration består av två steg: först regresserar du en tidsserie mot den andra för att få kointegrationsvektor, sedan utför du ett ADF-test på residualerna från regressionen. I det förra exemplet behövde vi inte utföra det första steget, eftersom vi implicit antog att kointegrationsvektor var \(\small (1,-1)\). Med andra ord tog vi differensen mellan de två tidsserierna (efter en enhetsjustering). Här utför du båda stegen.

Du regresserar värdet på en kryptovaluta, bitcoin (BTC), mot en annan, ethereum (ETH). Om vi kallar regressionskoefficienten \(\small b\), är kointegrationsvektorn helt enkelt \(\small (1,-b)\). Utför sedan ADF-testet på BTC \(\small - b \) ETH. Bitcoin- och Ethereum-priser finns förinstallerade i DataFrames BTC och ETH.

Den här övningen är en del av kursen

Tidsserieanalys i Python

Visa kurs

Övningsinstruktioner

  • Importera statsmodels-modulen för regression samt funktionen adfuller
  • Lägg till en konstant i DataFrame ETH med hjälp av sm.add_constant()
  • Regressera BTC mot ETH med sm.OLS(y,x).fit(), där y är den beroende variabeln och x är den oberoende variabeln, och spara resultaten i result.
    • Interceptet finns i result.params[0] och lutningen i result.params[1]
  • Kör ADF-testet på BTC \(\small - b \) ETH

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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])
Redigera och kör kod