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
Instrucciones del ejercicio
- Define una función
statistic()que devuelva solo el valor de Pearson R entre dos vectores. - Define
datacomo una tupla que contenga la volatilidad deBTCySP500. - 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)