Bootstrap-Konfidenzintervalle
Du hast zuvor gesehen, dass es eine gewisse Korrelation zwischen dem S&P 500 und Bitcoin gibt. Eine Möglichkeit, das zu messen, ist der Korrelationskoeffizient Pearsons R zwischen den beiden. Allerdings erhältst du damit nur eine Punkt-Schätzung. Vermutlich ist die Korrelation zu manchen Zeitpunkten ziemlich hoch, während sie sich zu anderen Zeiten stark unterscheidet. Wie kannst du diese Variabilität beschreiben? Ein Ansatz ist, ein Bootstrap-Konfidenzintervall für den Korrelationskoeffizienten der beiden zu erstellen. Genau das wirst du jetzt tun!
Ein DataFrame mit S&P-500- und Bitcoin-Preisen (btc_sp_df) wurde für dich geladen, ebenso die Pakete pandas als pd, NumPy als np und stats aus SciPy.
Diese Übung ist Teil des Kurses
<Kurs>Grundlagen der Inferenz in Python</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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)