Доверительные интервалы на основе бутстрэпа
Ранее вы убедились, что между S&P 500 и Bitcoin существует определённая корреляция. Один из способов её измерить — вычислить коэффициент корреляции Пирсона R между двумя активами. Однако это даёт лишь точечную оценку. Можно предположить, что в одни периоды корреляция между ними весьма высока, а в другие — активы ведут себя совершенно по-разному. Как охарактеризовать эту изменчивость? Один из подходов — построить доверительный интервал на основе бутстрэпа для коэффициента корреляции. Именно это вы и сделаете сейчас!
Для вас уже загружен DataFrame с ценами S&P 500 и Bitcoin (btc_sp_df), а также пакеты pandas как pd, NumPy как np и stats из SciPy.
Это упражнение является частью курса
Основы статистического вывода на 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)