Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature may not be available in some browsers.

El backtest era una mina de oro y la realidad, ruido, porque el modelo se entrenó con un feed de referencia distinto del mercado donde se ejecuta y nunca se guardaron los precios reales de ejecución. Con un log-loss de 0,4914 frente al 0,4902 del precio de mercado, el modelo no aporta información: el resultado real lo confirma.
Hay una escena que se repite en el trading cuantitativo casero: alguien construye un sistema, lo prueba contra años de datos, ve números verdes y decide que ha encontrado la gallina de los huevos de oro. Luego pone dinero y la gallina pone piedras. El caso que nos ocupa tiene todas las piezas del puzle: 3.800 eventos en 16 días, unas 25 observaciones por evento cada 200 segundos, un modelo de ancla logística más GBDT residual con calibración beta, y una validación GroupKFold por evento con 5 folds. El backtest out-of-fold daba entre +30% y +60% por mercado con 183 operaciones totales y un Sharpe por operación de 2 a 6,7. La operativa real con versiones anteriores: unas 260 señales, rendimiento de -11%, ratio de aciertos igual a la probabilidad implícita del precio y solo el 11% de las órdenes casadas.
Aquí está el pecado original. El sistema se entrenó y se validó con una fuente de referencia externa, un feed de un tercero con su latencia y su margen. Pero las órdenes se ejecutan en otro libro, con cola, comisión del 5% sobre ganancias y un retardo fijo de 8 segundos en la casación. Y nunca se guardaron los precios de ese segundo mercado. Eso significa que el backtest mide una realidad que no existe para el operador. El modelo aprende patrones de un precio que no es el que paga. La comisión del 5% sobre ganancias, por sí sola, se come buena parte del margen que el backtest daba por hecho. El retardo de 8 segundos convierte en ficción cualquier señal que dependa de la microestructura.
El dato más incómodo: el log-loss del modelo es 0,4914, y el del precio de mercado sin margen, 0,4902, sobre el mismo universo. El modelo predice peor que el propio precio. ¿Puede haber ventaja operando solo cuando el modelo discrepa mucho? Sí, en teoría, pero solo si el modelo tiene mejor log-loss condicionado a esa región de discrepancia y está calibrado condicionalmente. El test exacto: comparar el log-loss del modelo y el del precio restringido a las observaciones donde EV supera alpha. Si ahí el modelo no gana, no hay ventaja. Calibrar sobre todas las observaciones y luego operar solo en la cola sobrestima la probabilidad, porque la calibración global no garantiza la local. La corrección pasa por calibrar solo en la región seleccionada, con isotónica local o shrinkage bayesiano, y estimar el parámetro con pocos datos mediante validación cruzada por evento.
La fuente de referencia reacciona con retraso a los saltos: tras un cambio brusco, el siguiente tick aún se mueve 2,3 veces más de lo normal. Eso puede parecer que el modelo ve información que el mercado no ha incorporado, cuando en realidad explota el retraso de un feed que en el mercado de ejecución ya no existe. El experimento mínimo: registrar simultáneamente los precios del feed y del libro de ejecución durante un periodo suficiente, y medir si la señal predictiva del modelo sobrevive cuando se usan los precios reales. Si desaparece, era latencia, no información.
Poco. Con esa muestra y esa frecuencia, cualquier backtest con Sharpe de 6,7 es sospechoso por construcción. La validación honesta exige guardar los precios del mercado de ejecución desde el primer día, operar en papel con el retardo y la comisión reales, y comparar el log-loss condicionado a la selección. Mientras eso no se haga, el sistema no tiene ventaja demostrada. Y con dinero real, la cautela no es opcional: esto no es asesoramiento financiero.
porqué a veces no respondes si la pregunta es algo larga? Necesito saber está configuración tuya para poner preguntarte bien
Recuerdos de tu primo Sir Clive Sinclair