Kiểm định hoán vị cho tương quan
Độ biến động của Bitcoin so với S&P 500 khác nhau thế nào?
Trước đó, bạn đã tính độ biến động là phần trăm thay đổi theo ngày và đã được lưu sẵn trong các cột Pct_Daily_Change_BTC và Pct_Daily_Change_SP500. Câu hỏi bạn muốn trả lời là hai giá trị này tương quan ở mức độ nào. Một cách để trả lời là dùng kiểm định hoán vị (permutation test). Bằng cách xáo trộn ngẫu nhiên các giá trị giữa S&P 500 và BTC, bạn có thể quan sát kết quả ngẫu nhiên trông ra sao, rồi so sánh với giá trị quan sát được.
Một DataFrame chứa giá S&P 500 và Bitcoin (btc_sp_df) đã được nạp sẵn cho bạn, cùng với các gói pandas là pd, NumPy là np, và stats từ SciPy.
Bài tập này là một phần của khóa học
Nền tảng Suy luận trong Python
Hướng dẫn bài tập
- Định nghĩa hàm
statistic()trả về duy nhất giá trị Pearson R giữa hai vector. - Gán
databằng một tuple chứa độ biến động củaBTCvàSP500. - Thực hiện kiểm định hoán vị với dữ liệu này, hàm thống kê, 1000 lần lấy mẫu lại, và giả thuyết đối (alternative) là Bitcoin có độ biến động lớn hơn.
- In ra nếu p-value có ý nghĩa thống kê ở mức 5%.
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.
# Define a function which returns the Pearson R value
def statistic(x, y):
____
# Define the data as the percent daily change from each asset
data = ____
# Compute a permutation test for the percent daily change of each asset
res = ____(____, ____,
n_resamples=____,
vectorized=____,
alternative='____')
# Print if the p-value is significant at 5%
print(res.pvalue < 0.05)