Bắt đầu ngayBắt đầu miễn phí

Bitcoin và Ethereum có đồng liên kết không?

Đồng liên kết gồm hai bước: hồi quy một chuỗi thời gian theo chuỗi còn lại để lấy vector đồng liên kết, rồi chạy kiểm định ADF trên phần dư của hồi quy. Ở ví dụ trước, bạn không cần làm bước đầu vì ngầm giả định vector đồng liên kết là \(\small (1,-1)\). Nói cách khác, bạn lấy hiệu giữa hai chuỗi (sau khi đổi đơn vị). Ở đây, bạn sẽ làm cả hai bước.

Bạn sẽ hồi quy giá của một đồng tiền mã hóa, bitcoin (BTC), theo đồng khác, ethereum (ETH). Nếu hệ số hồi quy là \(\small b\), thì vector đồng liên kết đơn giản là \(\small (1,-b)\). Sau đó chạy kiểm định ADF trên BTC \(\small - b \) ETH. Giá Bitcoin và Ethereum đã được nạp sẵn trong các DataFrame BTCETH.

Bài tập này là một phần của khóa học

Phân tích chuỗi thời gian với Python

Xem khóa học

Hướng dẫn bài tập

  • Import mô-đun statsmodels để hồi quy và hàm adfuller
  • Thêm hằng số vào DataFrame ETH bằng sm.add_constant()
  • Hồi quy BTC theo ETH bằng sm.OLS(y,x).fit(), trong đó y là biến phụ thuộc và x là biến độc lập, và lưu kết quả vào result.
    • Hệ số chặn nằm ở result.params[0] và hệ số góc ở result.params[1]
  • Chạy kiểm định ADF trên BTC \(\small - b \) ETH

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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])
Chỉnh sửa và Chạy Mã