開始使用免費開始

相關性的置換檢定

比特幣的波動性與 S&P 500 相比如何?

你先前將波動性計算為每日百分比變動,已為你存放在資料中的 Pct_Daily_Change_BTC 與 Pct_Daily_Change_SP500 欄位。你想回答的問題是這兩個數值之間的相關程度。可以用置換檢定來回答。透過在 S&P 500 與 BTC 之間隨機洗牌數值,你可以觀察隨機結果會長什麼樣子,然後與實際觀察到的數值比較。

已為你載入一個包含 S&P 500 與比特幣價格的 DataFrame(btc_sp_df),以及 pandas(命名為 pd)、NumPy(命名為 np),和 SciPy 的 stats。

本練習屬於課程

Python 推論基礎

檢視課程

練習說明

  • 定義一個 statistic() 函式,僅回傳兩個向量之間的 Pearson R 值。
  • 將 data 設為一個 tuple,內含 BTC 與 SP500 的波動性。
  • 使用此 data、statistic、1000 次重抽樣,並設定備擇假設為比特幣的相關性(方向)較大,來進行置換檢定。
  • 列印當 p-value 在 5% 顯著水準下達到顯著時的結果。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# 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)
編輯並執行程式碼