Publicado
Ya he escrito sobre dos problemas de concentración que se esconden en nuestra is_top_candidate bandera: marca solo 50 de 12,331 configuraciones, y el 60% de esas 50 se sientan en una moneda, MEGAUSDT. Lo que no había comprobado es la única dimensión por encima de las monedas: la familia de estrategias. Nuestro oleoducto cuenta con cinco familias separadas (micro_momentum, pullback_reclaim, range_bottom_reclaim, range_bounce, volume_reversal), cada uno con su propia lógica de entrada. Saqué las 50 configuraciones de los mejores candidatos y las agrupé por familia. No había nada que agrupar. Los 50 vinieron de uno.
1 familia de cada 5, el 9,25% de todo lo probado, el 100% de las banderas
| Familia | Configuraciones probadas | Borrado GOOD_FOR_DEEP_TEST | Banderas de los mejores candidatos |
|---|---|---|---|
| rango_rebote | 2,521 | 82,4 % | 0 |
| range_bottom_reclaim | 1,141 | 77,8% | 50 |
| pullback_reclaim | 3,742 | 61.7% | 0 |
| micro_momentum | 2404 | 41,0% | 0 |
| inversión_volumen | 2,523 | 33.1% | 0 |
range_bottom_reclaim es 1.141 de nuestras 12.331 configuraciones totales, el 9,25% de todo lo que hemos probado. Produjo cada una de las 50 banderas que alguna vez despejaron el is_top_candidate bar, una tasa de aciertos del 4,4% dentro de su propia familia. Las otras 11.190 configuraciones en las cuatro familias restantes, el 90,75% del conjunto de datos, produjeron exactamente cero. No "mayormente cero". Cero.
La familia que mejor evalúa no es la familia que gana
Esta es la parte que me sorprendió. GOOD_FOR_DEEP_TEST es un filtro anterior y más amplio: solo verifica si la tasa de ganancias, el factor de ganancias y el tamaño de la muestra de una configuración borran una barra básica antes de que algo pase a una validación más profunda. range_bounce lo borra en 82,4 %, la mejor tarifa de cualquier familia, cómodamente por delante de range_bottom_reclaimes del 77.8%. Si hubiera dejado de leer el pipeline en esa etapa, habría apostado por range_bounce como la familia más fuerte. Contribuyó con cero de las 50 banderas finales de los mejores candidatos. La familia que pasó el filtro anterior un poco menos a menudo es la única que ha pasado el último.
Eso no es una contradicción en las matemáticas... GOOD_FOR_DEEP_TEST y is_top_candidate se califican según diferentes criterios, uno más amplio y otro más estrecho. Pero es una verdadera lección para cualquiera que lea un embudo de filtros de arriba a abajo: una configuración (o una estrategia, o un empleado, o un proveedor) que borra su primer filtro a un ritmo alto no le dice casi nada sobre si borra el último. Los filtros no miden lo mismo, incluso cuando parecen peldaños en la misma escalera.
Cómo se ven realmente las configuraciones marcadas con 50
Los 50 mejores candidatos promedian una tasa de ganancias del 83.7%, un factor de ganancia de 2.61 y $ 451.65 netos, contra una tasa de ganancias del 65.8% y $ 138.51 netos para los otros 1,091 range_bottom_reclaim configs that didn't get flagged. That's a real, large gap -- the flag is finding something. Every one of the 50 ran on at least 808 logged trades, most on 1,600, so it isn't a small-sample artifact either. The entry parameters cluster tightly too: a base take-profit between 0.67% and 1.5%, a first DCA add triggered between -0.48% and -1.59%, and a time-stop between 45 and 120 minutes. Tight parameter ranges, one entry family, one dominant coin. Three separate signs this flag describes one specific, narrow setup -- not "trading on RektCalc's strategy families generally works."
Eso se alinea con lo que encontré yendo símbolo por símbolo: El 60% de estas mismas 50 configuraciones se sientan solo en MEGAUSDT, y cuando repetí esas monedas a través de una etapa de validación más nueva y estricta, la mayoría de ellas se volvieron negativas. La concentración familiar que se encuentra aquí es una segunda señal independiente que apunta en la misma dirección: esta bandera se ha ganado su nombre por una porción estrecha del espacio de búsqueda, no por todo el espacio de estrategia para el que fue diseñada.
Lo que realmente hago con esto
A filter that only ever fires inside one bucket -- one coin, one family, one parameter range -- is telling you about that bucket, not about the filter's general reliability. Before trusting any "top candidate" or "best performer" label, mine or anyone else's, I now check how concentrated the winners are across every independent dimension available: symbol, strategy family, parameter range. One concentrated dimension is a yellow flag. Three, like here, is a reason to treat the label as a lead worth deep-testing, not a conclusion. If you're sizing a position around a backtest that looks this good, run the numbers through the Calculadora de supervivencia DCA y el calculadora de factor de beneficio antes de confiar solo en la tasa de ganancias, de la misma manera que ahora estoy volviendo a verificar esta bandera antes de construir algo más encima de ella.
Método: 12.331 filas de nuestra propia tabla de resultados de backtest (el mismo pipeline detrás backtest-reports.html), que abarca 5 familias de estrategias en 176 símbolos con seguimiento en vivo. La familia, el veredicto y is_top_candidate son los propios campos registrados del pipeline, no se vuelven a derivar después del hecho.