ブートストラップによる信頼区間
これまでに、S&P 500 と Bitcoin の間にはある程度の相関があることを見てきました。これを測る1つの方法は、両者の相関係数である Pearson の R を見ることです。しかし、それでは点推定しか得られません。おそらく、ある時点では相関がかなり高く、別の時点ではまったく異なる動きをしているでしょう。では、その変動性をどのように捉えればよいでしょうか?1つのアプローチは、2つの間の相関係数に対してブートストラップ信頼区間を作ることです。まさにそれを今、行います!
S&P 500 と Bitcoin の価格の DataFrame(btc_sp_df)はすでに読み込まれており、pandas は pd、NumPy は np、SciPy からは stats がインポートされています。
この演習はコースの一部です
Pythonで学ぶ推測の基礎
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Compute the daily percent change of each asset
btc_sp_df['Pct_Daily_Change_BTC'] = (____['Open_BTC'] - ____['Close_BTC']) / ____['Open_BTC']
btc_sp_df['Pct_Daily_Change_SP500'] = ____
# Write a function which returns the correlation coefficient
def pearson_r(x, y):
return stats.____[0]
# Compute a bootstrap confidence interval
ci = stats.bootstrap((____, ____),
statistic=____,
vectorized=False, paired=True, n_resamples=1000, random_state=1)
print(ci.confidence_interval)