EmpezarEmpieza gratis

Pruebas de permutación para correlaciones

¿Cómo se compara la volatilidad de Bitcoin con la del S&P 500?

Antes calculaste la volatilidad como el cambio porcentual diario, que se ha guardado para ti en las columnas Pct_Daily_Change_BTC y Pct_Daily_Change_SP500 de tus datos. La pregunta que quieres responder es en qué medida se correlacionan estos dos valores. Una forma de hacerlo es mediante una prueba de permutación. Al barajar aleatoriamente los valores entre el S&P 500 y BTC puedes ver cómo sería un resultado aleatorio y compararlo con los valores observados.

Se ha cargado para ti un DataFrame con precios del S&P 500 y Bitcoin (btc_sp_df), así como los paquetes pandas como pd, NumPy como np y stats de SciPy.

Este ejercicio forma parte del curso

Fundamentos de la inferencia en Python

Ver curso

Instrucciones del ejercicio

  • Define una función statistic() que devuelva solo el valor de Pearson R entre dos vectores.
  • Define data como una tupla que contenga la volatilidad de BTC y SP500.
  • Realiza una prueba de permutación con estos datos, la estadística, 1000 remuestreos y con una hipótesis alternativa de mayor volatilidad con Bitcoin.
  • Imprime si el p-valor es significativo al 5%.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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)
Editar y ejecutar código