Začněte nyníZačněte zdarma

Permutační testy pro korelace

Jak se liší volatilita Bitcoinu od volatility indexu S&P 500?

Volatilitu jsi dříve vypočítal/a jako procentuální denní změnu, která je uložena ve sloupcích Pct_Daily_Change_BTC a Pct_Daily_Change_SP500 v tvých datech. Cílem je zjistit, do jaké míry spolu tyto dvě hodnoty korelují. Jedním ze způsobů, jak to ověřit, je permutační test. Náhodným přeskupením hodnot mezi S&P 500 a BTC zjistíš, jak by vypadal náhodný výsledek, a porovnáš ho s pozorovanými hodnotami.

DataFrame s cenami S&P 500 a Bitcoinu (btc_sp_df) je již načtený, stejně jako balíčky pandas jako pd, NumPy jako np a stats ze SciPy.

Toto cvičení je součástí kurzu

Základy statistické inference v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Definuj funkci statistic(), která vrací pouze hodnotu Pearsonova R mezi dvěma vektory.
  • Nastav data jako n-tici obsahující volatilitu BTC a SP500.
  • Proveď permutační test s těmito daty, statistikou, 1 000 přesamplováními a alternativní hypotézou o vyšší volatilitě Bitcoinu.
  • Vypiš, zda je p-hodnota významná na hladině 5 %.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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)
Upravit a spustit kód