He estado probando estrategias en una GPU doméstica durante meses y los resultados se acumulan rápidamente: una ejecución genera un archivo, la siguiente ejecución genera otro y, finalmente, tienes miles de ellos en el disco. Finalmente me senté y realicé una auditoría adecuada de todo ello. Ni una familia de estrategias, ni una gran ejecución de GPU. Cada archivo. 14,925 de ellos, que contiene 152.484 registros de backtest individuales en 1.400 pares únicos.
Luego apliqué el mismo estándar de viabilidad que uso en todas partes de este blog: suficientes operaciones para significar algo, un factor de ganancia y una tasa de ganancia que sobreviven a ser verificados en lugar de simplemente mirarse, nada apuntalado por un promedio silencioso para convertirse en un perdedor. Lo que salió del otro lado: 269 registros viables, pertenecientes sólo a 9 pares únicos.
El embudo que nadie captura de pantalla
Cada publicación de backtest en este blog habla de un ganador. Nadie publica el denominador. Aquí está el mío:
| Escenario | Contar | Supervivencia |
|---|---|---|
| Archivos de resultados escaneados | 14,925 | — |
| Registros de backtest individuales | 152.484 | 100% |
| Pares únicos probados | 1.400 | — |
| Registros que realmente eran viables | 269 | 0,18% |
| Pares únicos que tenían al menos un registro viable. | 9 | 0,64% de las parejas |
Lea esa última fila nuevamente. De 1.400 pares diferentes realicé una prueba retrospectiva en algún momento, 9 produjo un resultado digno de confianza. No 9 configuraciones - 9 pares, de todas las listas de Binance que me molesté en probar. Todo lo demás nunca funcionó, funcionó en muy pocas operaciones como para significar algo, o se veía bien solo porque la estrategia se estaba rescatando silenciosamente con un promedio a la baja.
Lo que realmente superó el listón
Las 9 parejas viables se dividieron en dos grupos. Siete ya estaban en mi radar: pares que el sistema de anulación había señalado antes de realizar esta auditoría específica: AVAAIUSDT, EWJUSDT, GOOGUSDT, LABUSDT, LLYUSDT, MRVLUUSDT y ZROUSDT, que abarca las familias range_bounce y volume_reversal.
El otro lado es la parte que realmente me importaba: apareció este pase específico para todo el archivo. 6 nuevos candidatos que no estaban en esa lista antes. Sólo puedo dar fe de dos de ellos con números reales citados, porque esos son los dos de los que saqué las estadísticas completas:
| Nuevo candidato | Familia | FP | WR | Vientos alisios | dca1_rate |
|---|---|---|---|---|---|
| BSUSDT | rango_rebote | 6.86 | 75,0% | 200 | 24,5% |
| BILUSDT | inversión_volumen | 4.63 | 98,6% | 142 | 28,9% |
BSBUSDT stands out for the reason I actually trust it a little: a PF of 6.86 with a win rate of only 75%, not 96%+. When the profit factor and win rate aren't both suspiciously high at once, it's usually a sign the edge is coming from trade sizing and exits doing real work, not from a strategy that just never loses on paper. BILLUSDT is the opposite shape — a near-perfect 98.6% win rate — which is exactly the pattern I've learned to be careful with elsewhere on this blog. That number is also the family's second act: I'd already killed volume_reversal elsewhere at a 7% win rate, and here it is again at 98.6% on a different coin. Both got marked GOOD_FOR_DEEP_TEST, que significa candidato, no confirmado. Ninguno de los dos ha pasado por el tipo de verificación de estabilidad de varios trimestres que ahora necesito antes de considerar algo validado.
No es el mismo número que "85 millones de pruebas retrospectivas"
He escrito antes sobre la ejecución de aproximadamente 85 millones de combinaciones de parámetros a través de una única familia de estrategias en una GPU para juegos en una gran ejecución. Ese es un número diferente que mide algo diferente: una carrera, una familia, un pase de selección a una lista corta. Esta auditoría es el archivo: cada archivo, cada ejecución, cada familia, revisando todo lo que he generado. Los dos números no deben sumarse y no miden el mismo embudo, pero llegan a la misma conclusión desde dos ángulos completamente diferentes. Casi nada sobrevive al contacto con estándares reales, ya sea que estés viendo la ejecución de la GPU de una tarde o un año de archivos acumulados.
Lo que realmente me dice una tasa de supervivencia del 0,64%
No es un número desalentador, es el honesto. Si tan solo hubiera mirado mis mejores tiradas individuales, tendría una carpeta llena de factores de ganancias de aspecto impresionante y no tendría idea de cuán representativos son realmente ninguno de ellos. Auditar todo a la vez, incluidas las fallas sobre las que nunca escribí una publicación, es la única forma de conocer la tasa base real. De 1.400 pares, 9 resistieron. Ese es el número que querría antes de arriesgar algo con cualquiera de ellos, y es mucho más pequeño de lo que se siente cuando miras un resultado atractivo de forma aislada.
Antes de volver a confiar en cualquier número de backtest, analizo el peor resultado posible riesgo de ruina y reducción máxima - porque un par que supera el listón de esta auditoría le dice que sobrevivió al escrutinio, no que no pueda salir mal.
Qué comprobar antes de confiar en su propio archivo backtest
- Audita todo, no solo tu mejor carrera. Una sola gran pantalla de GPU le indica lo que puede hacer una familia de estrategias. Una auditoría de archivo completo le indica su tarifa base real.
- Sospeche de una tasa de ganancia perfecta combinada con un enorme factor de ganancias. La combinación 75% WR / 6.86 PF de BSBUSDT se lee como más confiable que un 98%+ WR precisamente porque no es sospechosamente limpia.
- "Candidato" no está "confirmado". GOOD_FOR_DEEP_TEST significa que un resultado superó la primera barra, no que haya sobrevivido a la verificación de estabilidad de varios trimestres que separa una ventaja real de una muestra afortunada.
- Haz que los supervivientes realicen cálculos matemáticos negativos antes de confiar en ellos. yo uso riesgo de ruina y supervivencia del DCA sobre cualquier cosa que pase la auditoría antes de darlo por hecho.
→ Calculadora de riesgo de ruina · → Calculadora de supervivencia DCA · → Calculadora de reducción máxima
Preguntas frecuentes
¿Qué cubrió realmente esta auditoría de backtest?
Cada archivo de resultados de la prueba retrospectiva que tenía en el disco, ni una sola ejecución, el archivo completo. 14,925 archivos que contienen 152,484 registros de backtest individuales, que abarcan 1,400 pares comerciales únicos en múltiples familias de estrategias, incluidas range_bounce y volume_reversal. La auditoría volvió a verificar cada uno de ellos con los mismos estándares de viabilidad que utilizo en este blog.
¿Por qué sobrevivieron tan pocas parejas?
Porque la mayoría de los resultados de backtesting que parecen buenos en la superficie no se sostienen una vez que se aplican estándares reales: suficientes operaciones para significar algo, un factor de ganancias y una tasa de ganancias que no son una casualidad de una muestra pequeña, y resultados que no se sustentan silenciosamente promediando los perdedores. De 152.484 registros, sólo 269 superaron esa barra, y esos 269 registros pertenecían a sólo 9 pares únicos de los 1.400 analizados. Una tasa de supervivencia a nivel de pareja del 0,64% no es un error en el proceso, es lo que sucede cuando dejas de contar el carrete destacado y cuentas todo.
¿En qué se diferencia esto de las publicaciones sobre "85 millones de pruebas retrospectivas en una GPU"?
Esas publicaciones cubren una gran ejecución de GPU de una sola familia de estrategias, analizando aproximadamente 85 millones de combinaciones de parámetros en una lista corta. Esta auditoría es diferente: una revisión de archivo completo de cada archivo, cada ejecución y cada familia de estrategias que he producido, 14,925 archivos y 152,484 registros en total, ni el resultado de una sola ejecución. Los dos números miden cosas diferentes y no deberían sumarse, pero cuentan la misma historia desde dos ángulos: la mayor parte de lo que se somete a pruebas retrospectivas no sobrevive al escrutinio.
¿Qué hizo que un récord fuera viable?
El mismo estándar que aplico en todas partes de este blog: suficientes operaciones para que los números signifiquen algo, un factor de ganancias y una tasa de ganancias que sobrevivan a ser verificados en lugar de simplemente echarles un vistazo, y sin dependencia oculta de promediar hacia abajo para fabricar una tasa de ganancias. Los registros que no pasaron ninguna de esas comprobaciones no contaron, razón por la cual 152,484 registros se redujeron a 269 viables incluso antes de que se realizara el recuento de pares.