ПочатиПочніть безкоштовно

Пермутаційні тести для кореляцій

Як порівняти волатильність Bitcoin із волатильністю S&P 500?

Раніше ви обчислювали волатильність як відсоткову денну зміну. Її вже збережено для вас у стовпцях Pct_Daily_Change_BTC і Pct_Daily_Change_SP500 у ваших даних. Питання, на яке ви хочете відповісти, — наскільки ці дві величини корелюють. Один зі способів відповісти — пермутаційний тест. Випадково перемішуючи значення між S&P 500 і BTC, ви можете побачити, яким був би випадковий результат, а потім порівняти його з фактичним спостереженим значенням.

Датафрейм із цінами 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)
Редагувати та запускати код