Burbu

Burbu
RESUMEN

El backtest no miente por un error de código: mide otra cosa. Se entrenó y validó con un feed de referencia que no es el mercado donde se ejecuta, con un 5% de comisión sobre ganancias y unos 8 segundos de retardo en la casación. Con un log-loss de 0,4914 frente al 0,4902 del precio de mercado, el modelo no aporta información: selecciona entradas sobre un precio que ya no existe cuando llega la orden.

Hay un momento en toda mesa cuantitativa en que los números del backtest y los de la cuenta real se miran a la cara y no se reconocen. Aquí el backtest daba entre un 30% y un 60% de rendimiento por mercado con 183 operaciones en total y un Sharpe por operación de 2 a 6,7. La operativa real con versiones anteriores dejó unas 260 señales, un rendimiento de aproximadamente -11% y un ratio de aciertos clavado en la probabilidad implícita del precio. Solo el 11% de las órdenes se casaron. Eso no es mala suerte. Es un sistema que mide una cosa y opera otra.

El log-loss que iguala al mercado ya dice mucho

El dato más incómodo es el log-loss: 0,4914 del modelo frente a 0,4902 del precio de mercado sin margen sobre el mismo universo. El modelo predice peor que el propio precio. Y sí, es matemáticamente posible tener ventaja operando solo cuando el modelo discrepa mucho aunque el log-loss global sea igual o peor. Pero exige una condición muy concreta: que el modelo sea mejor que el mercado precisamente en la cola de discrepancia, no de media. Eso se comprueba con calibración condicional a la región de selección y con un test de log-loss restringido a las observaciones donde EV supera alpha, comparado contra el log-loss del precio en esa misma submuestra. Si ahí no gana, no hay ventaja que seleccionar.

El mecanismo de la sobrestimación es el sesgo de selección sobre una calibración global. Calibrar con todas las observaciones y luego operar solo en la cola EV > alpha sobrestima p porque la calibración se ajustó a una población distinta de la que se opera. La corrección práctica es calibrar condicionada a la selección: isotónica local o un shrinkage bayesiano estimado solo con las observaciones que superan el umbral. Con pocos datos, mejor un prior fuerte y pocos parámetros que una isotónica suelta.

El feed externo reacciona tarde y el mercado ya lo descontó

La fuente de referencia muestra un patrón claro: tras un salto brusco, el siguiente tick aún se mueve 2,3 veces más de lo normal. Eso es retardo, no información. El experimento mínimo para separarlo es barato: replicar la señal usando exclusivamente datos del mercado de ejecución, con su retardo de 8 segundos y su comisión del 5%, y comparar el rendimiento de ambas versiones sobre el mismo conjunto de eventos. Si la ventaja desaparece al usar el precio de ejecución, el modelo explotaba el retraso del feed, no una ineficiencia real.

Los datos tampoco ayudan: unos 3.800 eventos en 16 días, unas 25 observaciones por evento cada 200 segundos, y solo el 33% con variables auxiliares de estado, imputando el resto a cero. Con esa granularidad no hay alta frecuencia, y el GroupKFold por evento evita fuga entre folds, pero no corrige que el precio de entrenamiento no sea el de ejecución.

Qué mirar antes de volver a poner dinero

Nunca se guardaron precios del mercado de ejecución. Ese es el agujero de raíz. Sin serie propia del libro de órdenes con cola, comisión y retardo, cualquier backtest es una simulación de otro mercado. El primer paso no es mejorar el GBDT ni la calibración beta: es registrar el precio ejecutable y rehacer la validación contra él.

Después, el criterio de parada debe fijarse antes de operar: si el log-loss condicionado a la región de selección no bate al del precio, no se opera. Y el filtro de ventana temporal del evento debe validarse fuera de muestra con eventos completos, no con observaciones sueltas. Un Sharpe por operación de 6,7 con 183 operaciones es una señal de alarma, no un aval.

Esto es análisis de un caso concreto, no asesoramiento financiero. Antes de arriesgar capital conviene contrastar el proceso con un profesional independiente.

Datos clave
  • Log-loss del modelo: 0,4914; del precio de mercado sin margen: 0,4902 sobre el mismo universo.
  • Backtest: entre 30% y 60% de rendimiento por mercado, 183 operaciones y Sharpe por operación de 2 a 6,7.
  • Operativa real: unas 260 señales, -11% de rendimiento y solo el 11% de órdenes casadas.
  • Comisión del 5% sobre ganancias y retardo fijo de unos 8 segundos en la casación.
  • Tras un salto, el siguiente tick del feed externo se mueve 2,3 veces más de lo normal.
Resumen generado con inteligencia artificial a partir del primer mensaje del tema.
🔒 El debate completo es solo para registrados
Crea tu cuenta gratis y participa en el debate en 30 segundos.
Crear cuenta gratis →
Sin tarjeta de crédito · Gratis para siempre

Estadísticas del foro

Temas
2.059.529
Mensajes
58.445.768
Miembros
191.074
Último miembro
tinttoreto

El blog de burbuja.info

-
-
Volver