क्या Bitcoin और Ethereum को-इंटीग्रेटेड हैं?
को-इंटीग्रेशन में दो स्टेप होते हैं: पहले, एक टाइम सीरीज़ को दूसरी पर रिग्रेस करके को-इंटीग्रेशन वेक्टर निकालना, और फिर रिग्रेशन के रेजिडुअल्स पर ADF टेस्ट करना। पिछले उदाहरण में पहले स्टेप की ज़रूरत नहीं थी क्योंकि हमने अप्रत्यक्ष रूप से माना था कि को-इंटीग्रेशन वेक्टर \(\small (1,-1)\) है। यानी, हमने दोनों सीरीज़ का अंतर लिया था (यूनिट कन्वर्ज़न करने के बाद)। यहाँ, आप दोनों स्टेप करेंगे।
आप एक क्रिप्टोकरेंसी bitcoin (BTC) के वैल्यू को दूसरी क्रिप्टोकरेंसी ethereum (ETH) पर रिग्रेस करेंगे। अगर हम रिग्रेशन कोएफिशिएंट को \(\small b\) कहें, तो को-इंटीग्रेशन वेक्टर सरलतः \(\small (1,-b)\) होगा। फिर BTC \(\small - b \) ETH पर ADF टेस्ट चलाएँ। Bitcoin और Ethereum की प्राइस DataFrames BTC और ETH में पहले से लोड हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Time Series Analysis
अभ्यास निर्देश
- रिग्रेशन के लिए statsmodels मॉड्यूल और
adfullerफंक्शन इम्पोर्ट करें sm.add_constant()का उपयोग करकेETHDataFrame में एक कॉन्स्टेंट जोड़ेंsm.OLS(y,x).fit()का उपयोग करकेBTCकोETHपर रिग्रेस करें, जहाँ y डिपेंडेंट वैरिएबल है और x इंडिपेंडेंट वैरिएबल है, और रिजल्टresultमें सेव करें।- इंटरसेप्ट
result.params[0]में है और स्लोपresult.params[1]में
- इंटरसेप्ट
- BTC \(\small - b \) ETH पर ADF टेस्ट चलाएँ
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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])