Bitcoin ve Ethereum Eşbütünleşik mi?
Eşbütünleşme iki adımdan oluşur: eşbütünleşme vektörünü elde etmek için bir zaman serisini diğerine göre regresyonlamak ve ardından regresyonun artıklarına ADF testi uygulamak. Son örnekte, ilk adıma gerek yoktu çünkü zımnen eşbütünleşme vektörünün \(\small (1,-1)\) olduğunu varsaydık. Başka bir deyişle, (birim dönüşümü yaptıktan sonra) iki serinin farkını aldık. Burada her iki adımı da yapacaksın.
Bir kriptoparayı, bitcoin'i (BTC), diğer bir kriptopara olan ethereum'a (ETH) göre regresyonlayacaksın. Regresyon katsayısını \(\small b\) olarak adlandıralım; bu durumda eşbütünleşme vektörü basitçe \(\small (1,-b)\) olur. Sonra BTC \(\small - b \) ETH üzerinde ADF testini uygula. Bitcoin ve Ethereum fiyatları BTC ve ETH DataFrame'lerine önceden yüklenmiştir.
Bu egzersiz
Python ile Zaman Serisi Analizi
kursunun bir parçasıdırEgzersiz talimatları
- Regresyon için statsmodels modülünü ve
adfullerfonksiyonunu içe aktar sm.add_constant()kullanarakETHDataFrame'ine sabit terim eklesm.OLS(y,x).fit()ileBTC'yiETHüzerinde regresyonla; burada y bağımlı değişken, x bağımsız değişkendir ve sonuçlarıresultiçine kaydet.- Sabit terim
result.params[0]içinde, eğim iseresult.params[1]içindedir
- Sabit terim
- BTC \(\small - b \) ETH üzerinde ADF testini çalıştır
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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])