Sind Bitcoin und Ethereum kointegriert?
Kointegration besteht aus zwei Schritten: Eine Zeitreihe auf die andere zu regressieren, um den Kointegrationsvektor zu erhalten, und anschließend einen ADF-Test auf den Residuen der Regression durchzuführen. Im letzten Beispiel war der erste Schritt nicht nötig, da wir implizit angenommen haben, dass der Kointegrationsvektor \(\small (1,-1)\) ist. Anders gesagt: Wir haben die Differenz der beiden Reihen gebildet (nach einer Einheitenumrechnung). Hier machst du beide Schritte.
Du regressierst den Wert einer Kryptowährung, Bitcoin (BTC), auf eine andere Kryptowährung, Ethereum (ETH). Nennen wir den Regressionskoeffizienten \(\small b\), dann ist der Kointegrationsvektor einfach \(\small (1,-b)\). Führe anschließend den ADF-Test auf BTC \(\small - b \) ETH durch. Die Bitcoin- und Ethereum-Preise sind in den DataFrames BTC und ETH vorab geladen.
Diese Übung ist Teil des Kurses
Zeitreihenanalyse in Python
Anleitung zur Übung
- Importiere das Modul statsmodels für Regression und die Funktion
adfuller. - Füge dem DataFrame
ETHmitsm.add_constant()eine Konstante hinzu. - Regredi ere
BTCaufETHmitsm.OLS(y,x).fit(), wobei y die abhängige Variable und x die unabhängige Variable ist, und speichere die Ergebnisse inresult.- Der Achsenabschnitt steht in
result.params[0]und die Steigung inresult.params[1].
- Der Achsenabschnitt steht in
- Führe den ADF-Test auf BTC \(\small - b \) ETH aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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])