Un backtest puede ejecutar tu orden limitada aunque no hubiera una oportunidad de negociación real. Si el mínimo de una vela cruzó tu límite de compra, muchos motores cuentan una ejecución. Pero ese mínimo solo indica que se registró al menos una operación a ese precio o por debajo. No dice cuánto se negoció, qué volumen había en cola antes que tú ni si tu orden había llegado a tiempo.
Esa diferencia importa sobre todo cuando la ventaja de la estrategia depende de ejecuciones pasivas frecuentes. Un modelo que trata cada toque de precio como una ejecución completa puede convertir una entrada paciente en una fuente imaginaria de alfa.
¿Que una vela toque mi precio límite significa que mi orden se ejecutó?
No. Significa que el rango de precios registrado en la vela incluyó tu límite. Que tu orden pudiera ejecutarse depende del libro de órdenes, el flujo de operaciones, tu posición en la cola y el momento en que llegó la orden.
Imagina una orden limitada de compra a $100.00. La vela abre a $100.20, alcanza un mínimo de $99.98 y cierra a $100.10. Puede que se haya registrado una operación dos centavos por debajo de tu precio, pero si había una cola grande por delante de ti a $100.00 y allí solo se negoció un volumen pequeño, tu orden quizá ni siquiera se habría tocado. Con solo OHLCV, no puedes ver esa cola.
Hay otro matiz: una vela agrega eventos a lo largo del tiempo. Si calculas la señal con el cierre de esa vela, no puedes suponer que tu orden ya estaba en el libro antes, cuando se produjo el mínimo. La vela comprime la secuencia que permitiría responder a esa pregunta.
¿Qué puede decirme realmente OHLCV sobre la ejecución de una orden limitada?
OHLCV puede descartar algunas ejecuciones y hacer que otras parezcan plausibles. No puede establecer la prioridad en la cola ni garantizar el volumen disponible para tu orden.
| Observación | Qué permite concluir | Qué no puede demostrar |
|---|---|---|
| El mínimo de la vela se mantuvo por encima de un límite de compra | Ninguna operación registrada alcanzó ese precio durante la vela | Que la orden se habría ejecutado |
| El mínimo de la vela tocó el límite de compra | Se registró ese precio límite | Que se negociara algún volumen después de que llegara tu orden |
| El mínimo de la vela cayó por debajo del límite de compra | Hubo operaciones a ese precio o por debajo | Que llegara suficiente volumen a tu posición en la cola |
| El volumen total de la vela superó el tamaño de tu orden | El mercado negoció al menos ese volumen en algún momento de la vela | Que ese volumen se negociara a tu precio y después de tu llegada |
Por eso, un motor basado en velas necesita una hipótesis de ejecución. Trátala como un modelo con un punto ciego conocido, no como un hecho extraído de la vela.
¿Cómo debería modelar las ejecuciones de órdenes limitadas en un backtest?
Empieza por el momento de envío de la orden. Decide cuándo está disponible la señal, cuándo llega la orden al mercado y qué eventos posteriores pueden interactuar con ella. Si la señal se conoce al cierre de una vela, una regla conservadora basada en velas es hacer que la orden pueda ejecutarse a partir de la vela siguiente.
Después, separa la elegibilidad por precio de la cantidad ejecutada. Que una orden limitada pase a poder negociarse no significa que se ejecute por completo. Si tienes registros de operaciones, pero no el historial del libro de órdenes, puedes exigir que el volumen negociado al límite o a un precio mejor supere un múltiplo del tamaño de tu orden. Ese múltiplo es un margen aproximado para la cola, no una constante universal. Prueba varios valores e informa cómo cambia el resultado.
Por ejemplo, supongamos que la estrategia coloca una orden limitada de compra de 2 BTC y que, después de que la orden puede ejecutarse, se negocian 3 BTC al precio elegido. Un modelo que exija 5 BTC de volumen válido la dejaría sin ejecutar; otro que use un múltiplo de volumen de 1.0 la ejecutaría. Ninguno de los dos reconstruye la cola. La comparación muestra cuánto depende la estrategia de una hipótesis que no puedes observar.
Mantén las órdenes sin ejecutar en la simulación. Cancélalas cuando la estrategia las cancelaría y acepta que la operación perdida siga perdida. Dar por ejecutada una orden cada vez que se toca su límite, mientras se ignoran las órdenes que vencen sin tocarse, sesga tanto la ejecución como el recuento de oportunidades.
¿Cuándo necesito datos del libro de órdenes?
Usa actualizaciones del libro de órdenes y operaciones cuando la posición en la cola o las ejecuciones parciales sean esenciales para la estrategia: creación de mercado, cotizaciones pasivas de corta duración o entradas que dependen de estar cerca del principio de un nivel de precios concurrido. Aun así, es posible que los datos históricos públicos no revelen tu posición exacta en la cola. Tendrás que modelar la llegada de la orden, las cancelaciones que haya por delante, las reglas de casación y tu propio impacto en el mercado.
En estrategias más lentas, un libro detallado puede añadir complejidad sin resolver la incertidumbre principal. Un análisis basado en velas todavía puede comparar un límite superior que suponga ejecución al tocar el precio con escenarios más estrictos que exijan cierto volumen. Si la ventaja aparente desaparece en cuanto exiges ejecuciones plausibles, esa es una información de investigación valiosa.
¿Cómo puedo saber si mi resultado depende de hipótesis de ejecución optimistas?
Ejecuta la misma estrategia con un conjunto reducido de reglas explícitas de ejecución y compara algo más que el rendimiento final. Registra el número de órdenes ejecutadas, la tasa de ejecuciones parciales, el tiempo en el libro, la cantidad cancelada, los movimientos perdidos tras las órdenes no ejecutadas y la rotación. Una estrategia puede conservar su rendimiento principal y, aun así, depender de muchas menos operaciones, más convenientes.
La siguiente comprobación útil es el paper trading: envía la lógica real de las órdenes y registra las confirmaciones, ejecuciones y cancelaciones. Las ejecuciones simuladas siguen dependiendo de las reglas propias del mercado o del simulador, pero permiten probar aspectos del momento de envío y la gestión de órdenes que una vela no puede mostrar.
Que se toque un precio límite aporta evidencia sobre el precio. Afirmar que hubo una ejecución es afirmar algo sobre la ejecución de la orden. Tu backtest debería hacer visible la diferencia entre ambas afirmaciones.
← Todos los artículos


