Signal Pilot
🟠 Avanzado • Lección 64 de 85

El precio de buscar

Tiempo de lectura ~13 min • Módulo 8: Construir un sistema
Signal Pilot
Formación profesional de trading
0 %
¡Estás progresando!
Sigue leyendo para completar esta lección

Una búsqueda de 15.000 configuraciones juzgada sobre 156 operaciones fabrica 0,317 de una R por operación antes de que el mercado haya hecho nada en absoluto, y esa cifra sale de los dos recuentos por sí solos, sin ningún precio dentro. Aplica la misma aritmética a la búsqueda de la lección 63: el estadístico t de su ganadora, 3,65, tiene que superar 3,54 y no 1,65, y lo supera. Después fija un número que aquel backtest nunca imprimió — cuántas operaciones debía completar una regla para poder ganar — y el veredicto sobre la misma ganadora pasa de uno entre 147 a cara o cruz, sin que cambie un solo precio.

Requisitos previos: Lección 63, por la búsqueda de 253 celdas cuya ganadora vuelve a juzgar esta página, la lección 19, por lo que un estadístico t sobre siete operaciones puede y no puede sostener, y lección 62, por la frase como la que hay que escribir una regla antes de que nada de esto se aplique.

Lo que el recuento por sí solo ya te dice

Supón que todas las reglas que estás a punto de probar son inútiles. No mal diseñadas, no desafortunadas: inútiles, en el sentido exacto de que su ventaja verdadera es cero. Cada una devuelve igualmente un número, porque un registro finito de operaciones es una muestra y las muestras oscilan. Prueba una y obtienes una oscilación. Prueba muchas y te quedas con la mayor oscilación que has encontrado, porque quedarse con la mayor es lo que hace una búsqueda. La mayor de muchos ceros ruidosos no es cero, y su tamaño lo fija cuántas extrajiste, no aquello de lo que las extrajiste.

Esa última cláusula es la lección entera y conviene ser tajante. Cuánta ventaja fabrica una búsqueda no depende del instrumento, ni de la temporalidad, ni del año, ni de si el mercado tuvo tendencia. Depende de dos recuentos: cuántas configuraciones probaste y sobre cuántas operaciones se juzgó cada una. Los dos se conocen antes de ejecutar nada.

Escribe el estadístico t de una configuración como de costumbre: su operación media dividida por el error estándar de esa media. Bajo el supuesto de ventaja cero, el t de cada configuración es una extracción de una normal estándar, y una búsqueda de N configuraciones se queda con la mayor de N extracciones así. El valor esperado de esa mayor extracción tiene una forma cerrada con una precisión mejor que el uno por ciento, que es el resultado que López de Prado presentó en 2014 junto con Bailey, Borwein y Zhu:

E[max of N] ≈ (1 − γ) Φ−1(1 − 1/N) + γ Φ−1(1 − 1/(N e)), γ = 0.5772156649

Una sustitución, hecha por completo, para que aquí no haya que creerse nada. Con 15.000 configuraciones, 1 dividido entre N es 0,0000667, y el valor de la normal estándar que deja esa cantidad en la cola superior es 3,82022. Luego N por e es 40.774, 1 dividido entre eso es 0,0000245, y su valor normal es 4,06011. Ponderando los dos por 0,4228 y 0,5772 sale 3,95869. Eso es un estadístico t. Para convertirlo en ventaja por operación, divide por la raíz cuadrada del número de operaciones: la raíz de 156 es 12,49, y 3,95869 entre 12,49 es 0,317. En ese cálculo no entró nada sobre ningún mercado.

La misma fórmula responde a la pregunta que un profesional se hace de verdad, que no es cuánto saca la mejor regla inútil sino qué resultado habría sorprendido. Exigir que una búsqueda de N configuraciones inútiles produzca algo por encima de t solo cinco veces de cada cien pone el listón en el valor normal de 0,95 elevado a 1/N. La prueba es de una cola en toda esta página, porque una regla que pierde no es un hallazgo, y por eso una sola configuración se sitúa en 1,645 y no en el 1,96 de dos colas. Esa es la tercera columna de abajo.

ConfiguracionesMejor t esperadoListón al cinco por cientoR por operación, 156 operaciones
10,0001,6450,000
101,5752,5680,126
1002,5313,2830,203
2532,8413,5370,228
1.0003,2553,8840,261
15.0003,9594,4990,317
100.0004,3914,8870,352

Lee la primera columna contra la tercera y la forma es la parte útil. Pasar de una configuración a 253 sube el listón de 1,645 a 3,537, y ahí está casi todo el daño. Pasar de 253 a 100.000 es 395 veces más búsqueda y lo sube 1,350 más. El castigo crece con el logaritmo del recuento, así que una búsqueda modesta sale cara y una enorme apenas es peor que una grande. Esto corta en las dos direcciones, y la dirección en la que corta contra ti no la menciona nadie: no hace falta una rejilla de diez mil para estar mal expuesto. Cien ya está en 3,283.

La hoja que este módulo empezó en la lección 62 gana aquí una tercera columna, junto a la frase y junto al par de cifras que añadió la lección 63. El listón que esta configuración tenía que superar, y el recuento con el que se calculó. Una fila cuyo t no supera su propio listón no ha demostrado nada, y una fila que no lleva el recuento no puede tener listón alguno. Casi nadie contra quien operas anota ese recuento. Cuesta un solo número entero, escrito antes de la búsqueda en vez de recordado después, y la razón de que rara vez esté ahí es que solo puede hacer que un resultado parezca peor.

La misma ganadora, juzgada de cinco maneras

La lección 63 buscó entre 253 configuraciones de medias móviles sobre sesenta cierres y se quedó con la de mayor total neto: una media de 2 barras contra una de 5, siete operaciones, 9,84 por acción después de costes, t de 3,65. Frente a la tabla de arriba, 253 configuraciones ponen el listón en 3,537, así que la ganadora lo supera. Parece un aprobado limpio, y vale la pena ver por qué no lo es.

Cuenta las operaciones que cada una de las 253 configuraciones completó realmente sobre esos cierres. La menor es 1, la mediana es 1, el valor que está tres cuartas partes hacia arriba es 2, y la mayor es 16. Más de la mitad de la rejilla nunca completó un segundo viaje de ida y vuelta. Así que la búsqueda medía nominalmente 253 de ancho, y la mayor parte de esa anchura eran configuraciones que apenas operaron, cuya media es una media sobre uno o dos números y cuyo estadístico t es, en consecuencia, salvaje. La fórmula presupone 253 pruebas comparables. Le entregaron 253 pruebas de peso completamente desigual.

El arreglo habitual es un mínimo: una configuración solo puede ganar si completó al menos tantas operaciones. Nadie discute eso. Lo que nadie imprime es el número. Así que vuelve a ejecutar la nula de la lección 63 — los 59 movimientos de barra a barra extraídos con reposición, 4.000 series, semilla 20260903, la misma búsqueda de 253 celdas en cada una — y anota con qué frecuencia la mejor configuración admisible alcanza el 3,65 de la ganadora, con cinco mínimos.

Operaciones mínimasCeldas admisiblesMejor t sobre los sesenta cierresBúsquedas sin estructura que alcanzan 3,65
21156,240,5048
3506,240,2210
5203,790,0385
7113,650,0068
1041,030,0031

Con un mínimo de siete operaciones, exactamente las que completó la ganadora, el 0,68 por ciento de las búsquedas sin estructura alcanza 3,65: alrededor de una entre 147, y un resultado que cualquiera publicaría. Con un mínimo de dos, lo alcanza el 50,5 por ciento. La ganadora no ha cambiado, los cierres no han cambiado, las 253 configuraciones no han cambiado, y el mismo estadístico t es un hallazgo de uno entre 147 o el lanzamiento de una moneda según un número entero que no aparece en ningún informe de backtest.

La corrección por haber buscado tiene un mando propio.

De esa tabla salen otras dos cosas, y las dos son peores que el titular. El mínimo no se limita a filtrar a la ganadora, cambia qué configuración gana: con mínimos de dos y de tres, el mejor t de la rejilla es 6,24, obtenido por un par de 3 y 11 sobre cuatro operaciones, y la ganadora de 2 y 5 no es en absoluto la mejor celda. Y con un mínimo de diez operaciones, el mejor t que hay en las 253 es 1,03. Toda la ventaja aparente de esta serie vive en configuraciones que operan menos de diez veces, que es justo el régimen en el que un estadístico t tiene menos derecho a que se le crea.

Así que la forma cerrada es una estimación de bolsillo y no un veredicto. Dio 3,537 para esta rejilla; la simulación da un punto del cinco por ciento de 3,397 con un mínimo de cinco, que queda cerca, y de 9,57 con un mínimo de tres, que no queda cerca en absoluto. Usa la fórmula para saber más o menos a qué te enfrentas antes de empezar, y simula con el mínimo que realmente usaste antes de creerte nada.

Haz esto esta noche: escribe tu recuento de configuraciones y tu mínimo de operaciones antes de mirar ningún resultado, y calcula el listón a partir del primero.

Lo que esto no resuelve

Que las configuraciones sean independientes. No lo son en absoluto: un cruce de 2 y 5 y un cruce de 2 y 6 operan casi las mismas barras, así que las 253 extracciones se solapan mucho y el listón verdadero para pruebas independientes estaría por debajo de 3,537. La fórmula corrige de más sobre una rejilla correlacionada, y esa es la dirección que favorece la prudencia y no al lector. Sigue siendo una cota que conviene conocer, pero una página que la cite como respuesta está citando un límite superior como si fuera una medición.

Que sesenta cierres puedan sostener esto. Cincuenta y nueve movimientos, una ganadora con siete operaciones y mínimos que vacían la rejilla en diez: cada cifra de la segunda tabla se calcula sobre una serie lo bastante corta como para que los mínimos y la longitud de la muestra queden enredados. Sobre dos mil barras, un mínimo de diez dejaría en pie casi toda la rejilla, y el vuelco entre uno entre 147 y cara o cruz ocurriría, si ocurriera, con otros mínimos. El mecanismo no depende de la longitud. Las cifras concretas dependen enteramente de ella.

Que el estadístico t sea el estadístico correcto. Supone que las operaciones de una configuración son extracciones independientes de igual varianza, y las operaciones consecutivas de una regla sobre una serie no son ni lo uno ni lo otro: se solapan en régimen, comparten la volatilidad de las mismas semanas, y una regla que aguanta más tiempo toma operaciones más grandes y menos numerosas. Precisamente por eso el número de operaciones varía tanto por la rejilla, de modo que el defecto que el mínimo parchea y el supuesto en el que descansa el estadístico son el mismo defecto visto dos veces.

Que la nula remuestreada sea la nula correcta. Extraer los movimientos con reposición destruye el agrupamiento de volatilidad junto con todo lo demás, y ese agrupamiento es justo lo que decide cuántas operaciones completa una configuración de cruce. La nula genera entonces números de operaciones que una serie real no daría, y los recuentos de celdas admisibles de la segunda tabla quedan, por esa razón, algo desviados. Un bootstrap por bloques conservaría el agrupamiento y es el paso honesto siguiente; esta página no lo ejecuta, por la misma razón que la lección 63.

Que elegir el mínimo sea inocente. No lo es, y esta página acaba de demostrar la técnica contra la que advierte: se ejecutaron cinco mínimos y los cinco están impresos, lo cual es honesto, pero quien ejecuta cinco e informa de aquel en el que su regla supera el listón ha subido la búsqueda un nivel y ahora está buscando entre mínimos. El recuento que va a la hoja tiene que incluir todas las dimensiones que variaste, y el mínimo es una de ellas en cuanto pruebas más de uno.

Y la concesión que más cuesta. La lección 63 terminó sin poder contar las configuraciones que nunca se escribieron, y esta página no lo arregla; lo vuelve más agudo y más incómodo. El listón es función del recuento, el recuento solo se conoce para la rejilla programada, y el gráfico que miraste, el parámetro que moviste y devolviste a su sitio, el instrumento que abandonaste por feo son todos configuraciones que suben el listón y no dejan rastro. La fórmula convierte un problema incontable en uno contable solo para la parte de la búsqueda que fue lo bastante honesta como para escribirse. La lección 65 es donde el recuento se fuerza hasta uno y el precio se paga en tiempo: con una sola configuración el listón cae de 4,499 a 1,645, y por eso un backtest de 15.000 celdas necesita 7,48 veces más operaciones que un registro en vivo para sostener la misma afirmación.

Problemas

  1. Cuenta tu rejilla. Toma la última estrategia que optimizaste y cuenta las configuraciones que programaste: cada valor de cada parámetro, multiplicado, incluidas las que ejecutaste y descartaste. Mete ese recuento en la fórmula del listón, o léelo en la primera tabla. Diez minutos, y acabas con un número en la mano, el t que tu ganadora tenía que batir, que casi con seguridad no es 1,65.
  2. Encuentra dónde se da la vuelta tu veredicto. Toma la misma búsqueda y vuelve a ejecutarla con mínimos de 2, 5 y 10 operaciones, anotando en cada caso la configuración ganadora y su t. Media hora, y acabas con un número en la mano, el mínimo con el que tu ganadora deja de ganar, que te dice cuánto de tu resultado lo sostenían configuraciones que apenas operaron.
  3. Simula el listón al que de verdad te enfrentas. Remuestrea con reposición los cambios de barra a barra de tu instrumento, vuelve a ejecutar toda tu búsqueda sobre cada serie sintética con el mínimo por el que te decidiste, y hazlo mil veces desde una semilla que escribas. Cuenta con qué frecuencia la mejor configuración admisible alcanza el t de tu ganadora real. Una tarde, y acabas con un número en la mano, esa fracción, que es la única versión del listón que sabe qué tienen en común tus configuraciones.

Fuentes. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado y Qiji Jim Zhu, «Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance» (Notices of the American Mathematical Society, 2014), por la fórmula del máximo esperado en la que sustituye esta página y por la longitud mínima de backtest que se deduce de ella. David H. Bailey y Marcos López de Prado, «The Deflated Sharpe Ratio: Correcting for Selection Bias, Backtest Overfitting, and Non-Normality» (The Journal of Portfolio Management, 2014), por la misma corrección expresada como recorte sobre una cifra publicada en lugar de como listón que superar. Campbell R. Harvey y Yan Liu, «Backtesting» (The Journal of Portfolio Management, 2015), por el argumento de que el número de intentos es lo primero que debería pedir quien lee cualquier backtest, que es la columna de la hoja que añade esta lección. Halbert White, «A Reality Check for Data Snooping» (Econometrica, 2000), por el procedimiento de remuestreo sobre el que se construye la segunda tabla, heredado de la lección 63.

Lecciones relacionadas
Lección 63

Backtesting como prueba

La búsqueda de 253 celdas cuya ganadora vuelve a juzgar esta lección frente a su propio listón.

Leer la lección →
Lección 19

Cuánto tardarás en saberlo

Lo que un estadístico t sobre siete operaciones puede y no puede sostener.

Leer la lección →
Lección 62

Qué tendría que pasar

La frase como la que hay que escribir una regla antes de que se aplique corrección alguna.

Leer la lección →
Solo con fines educativos. Operar conlleva un riesgo sustancial de pérdida. No es asesoramiento financiero. Los resultados pasados no garantizan resultados futuros.

💬 Debate (0 comentarios)

0/1000

Cargando comentarios…

← Lección anterior Lección siguiente →

¿Listo para operar con Signal Pilot?

Aplica tu formación con indicadores profesionales y herramientas de análisis de mercado en tiempo real.

Volver a Signal Pilot →