Intervalli di confidenza bootstrap
Hai visto in precedenza che c’è un certo grado di correlazione tra l’S&P 500 e Bitcoin. Un modo per misurarla è calcolare il coefficiente di correlazione R di Pearson tra i due. Tuttavia, così ottieni solo una stima puntuale. È plausibile che in alcuni periodi la correlazione tra i due sia abbastanza alta, mentre in altri si comportino in modo molto diverso. Come puoi caratterizzare questa variabilità? Un approccio è creare un intervallo di confidenza bootstrap per il coefficiente di correlazione tra i due. Ed è proprio quello che farai ora!
Un DataFrame con i prezzi di S&P 500 e Bitcoin (btc_sp_df) è stato caricato per te, così come i pacchetti pandas come pd, NumPy come np e stats da SciPy.
Questo esercizio fa parte del corso
Fondamenti dell'inferenza in Python
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# 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)