НачатьНачать бесплатно

Перестановочные тесты для корреляций

Как соотносится волатильность Bitcoin с волатильностью индекса S&P 500?

Ранее вы вычислили волатильность как процентное дневное изменение — эти значения сохранены в столбцах Pct_Daily_Change_BTC и Pct_Daily_Change_SP500 вашего набора данных. Задача состоит в том, чтобы оценить степень корреляции между этими двумя величинами. Один из способов сделать это — перестановочный тест. Случайно перемешивая значения между S&P 500 и BTC, можно смоделировать случайный исход и сравнить его с наблюдаемыми данными.

Для вас уже загружен DataFrame с ценами S&P 500 и Bitcoin (btc_sp_df), а также библиотеки pandas как pd, NumPy как np и stats из SciPy.

Это упражнение является частью курса

Основы статистического вывода на Python

Посмотреть курс

Инструкции к упражнению

  • Определите функцию statistic(), которая возвращает только значение коэффициента Пирсона R между двумя векторами.
  • Присвойте переменной data кортеж, содержащий значения волатильности BTC и SP500.
  • Проведите перестановочный тест с этими данными, функцией статистики, 1000 повторных выборок и альтернативной гипотезой о большей волатильности Bitcoin.
  • Выведите на экран, является ли p-значение значимым на уровне 5%.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Define a function which returns the Pearson R value
def statistic(x, y):
	____

# Define the data as the percent daily change from each asset
data = ____

# Compute a permutation test for the percent daily change of each asset
res = ____(____, ____, 
           n_resamples=____,
           vectorized=____, 
           alternative='____')

# Print if the p-value is significant at 5%
print(res.pvalue < 0.05)
Редактировать и запускать код