Una barra de error para cada afirmación
Un backtest dice que una estrategia ganó un 0,05 % al día. ¿Habilidad o suerte? Una prueba de hipótesis responde con un valor p: si la media verdadera fuera cero, ¿con qué frecuencia una muestra se vería tan buena? stats.ttest_1samp(r, 0.0) prueba una media, y stats.ttest_ind(a, b, equal_var=False) compara dos activos sin suponer que son igual de volátiles (prueba de Welch, la opción segura). stats.jarque_bera(r) comprueba si los rendimientos son normales mirando asimetría y curtosis. Un valor p pequeño es evidencia contra la idea probada, no prueba de la idea que nos gusta. Y una prueba vale lo que valen sus supuestos: la prueba t supone colas finas, que los rendimientos diarios no tienen.
Cuando las fórmulas son dudosas, remuestree. El bootstrap extrae muchas muestras con reemplazo de sus datos, recalcula un estadístico cada vez (la media, un ratio de Sharpe, un cuantil) y lee un intervalo de la dispersión de los resultados: stats.bootstrap((r,), stat, method='percentile', random_state=np.random.default_rng(seed)). El estadístico debe aceptar un argumento axis, porque SciPy pasa un lote entero de remuestras de una vez, y la semilla hace repetible la respuesta. Una prueba de permutación baraja las etiquetas de dos grupos para ver con qué frecuencia el azar solo da una diferencia tan grande como la observada. Por último, pruebe 62 activos al 5 % y unos tres parecerán significativos solo por suerte. stats.false_discovery_control(p) aplica la corrección de Benjamini–Hochberg e indica qué descubrimientos sobreviven.
- Welch por defecto: no suponga que dos activos comparten volatilidad.
- Remuestrear ante la duda: un bootstrap necesita un estadístico con argumento
axisy una semilla. - Cuente sus pruebas: 62 pruebas al 5 % dan unos tres falsos descubrimientos; corríjalos.
Lab: qué se califica
- ¿La media es cero?8 pts
- Dos activos, dos volatilidades8 pts
- Una prueba de normalidad6 pts
- Un intervalo bootstrap18 pts
- Un ratio de Sharpe anualizado8 pts
- Un ratio de Sharpe con barra de error10 pts
- Una prueba de permutación14 pts
- Contar falsos descubrimientos12 pts
- El estudio completo16 pts