Bootstrapowe przedziały ufności
Wcześniej zaobserwowałeś/-aś pewien stopień korelacji między indeksem S&P 500 a Bitcoinem. Jednym ze sposobów jej zmierzenia jest obliczenie współczynnika korelacji Pearsona R dla tych dwóch aktywów. Wynikiem jest jednak tylko pojedyncze oszacowanie punktowe. Można założyć, że w niektórych okresach korelacja między nimi jest dość silna, a w innych zachowują się zupełnie niezależnie. Jak scharakteryzować tę zmienność? Jednym z podejść jest wyznaczenie bootstrapowego przedziału ufności dla współczynnika korelacji. Dokładnie to zrobisz teraz!
Dane dotyczące cen S&P 500 i Bitcoina (btc_sp_df) zostały już wczytane, podobnie jak biblioteki: pandas jako pd, NumPy jako np oraz stats z SciPy.
To ćwiczenie jest częścią kursu
Podstawy wnioskowania statystycznego w Pythonie
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)