15 de septiembre de 2026 · investigación

El modelo de deslizamiento de tu backtest debería equivocarse a propósito

El modelo de deslizamiento de tu backtest debería equivocarse a propósito

El modelo de deslizamiento más honesto suele equivocarse a propósito. Un backtest que informa un costo de ejecución preciso a partir de datos históricos de baja resolución está afirmando algo que los datos no pueden sostener.

Puede sonar como un argumento a favor de supuestos rudimentarios. Es justo lo contrario: usa un modelo sencillo que puedas explicar y luego haz que discrepe consigo mismo. Si una estrategia solo funciona con una estimación de ejecución convenientemente favorable, esa incertidumbre forma parte del resultado.

¿Por qué puede ser engañosa una estimación precisa del deslizamiento?

Supongamos que tienes barras OHLCV de 1 minuto y envías una orden de mercado por 2,000 acciones. La barra muestra el rango y el volumen total durante un minuto. No indica cuál era el bid y el ask cuando llegó tu orden, qué cola tenía por delante, cómo se distribuyó el volumen a lo largo del minuto ni cuánto habría consumido tu orden.

Aun así, puedes asignarle una cifra al deslizamiento. Podrías ejecutar al precio de apertura de la barra siguiente más un costo fijo en puntos básicos, o escalar el costo según el tamaño de la orden dividido por el volumen de la barra. Son aproximaciones útiles. No son observaciones. Informar el resultado como «deslizamiento: 3.2 puntos básicos» hace que una decisión de modelado parezca una medición.

Veamos un ejemplo práctico: una estrategia opera $20,000 por orden en una acción cuyo volumen en la barra siguiente es de $400,000. Su tasa de participación es del 5%. Un modelo que cobra 2 puntos básicos cuesta $4 por orden; uno que cobra 10 puntos básicos cuesta $20. En 500 operaciones de ida y vuelta, la diferencia asciende a $16,000 antes de las comisiones. Si el beneficio bruto del backtest es de $18,000, el supuesto de ejecución influye casi tanto como la señal.

5%tamaño de la orden como proporción del volumen de la barra siguiente
$16,000diferencia de costos en 500 operaciones de ida y vuelta a 2 frente a 10 puntos básicos

Construye un rango que refleje lo que tus datos pueden mostrar

Empieza con un caso base que corresponda al tipo de orden de la estrategia y a la resolución de los datos. Una orden de mercado necesita spread e impacto. Una orden limitada necesita una regla para determinar si se ejecuta; asumir que se ejecuta cada vez que el precio la toca es otro error de ejecución.

Después, ejecuta el mismo backtest con un conjunto pequeño de casos explícitos. Mantén fijas la señal, el tamaño de las posiciones y las marcas de tiempo para poder atribuir los cambios a la ejecución:

CasoSupuesto de ejecuciónQué evalúa
FavorableSpread base e impacto bajo¿Cuánto depende la estrategia de condiciones de trading benignas?
BaseSpread e impacto típicos, escalados según la participación¿Qué implica el supuesto de trabajo elegido?
AdversoSpread más amplio, mayor impacto y ejecución demorada¿Sobrevive la ventaja en un mercado difícil pero plausible?

No son intervalos de confianza, a menos que los hayas calibrado estadísticamente. Son pruebas de escenarios. Explica su significado en el informe y no los promedies para inventar un «deslizamiento esperado» sin pruebas que respalden las probabilidades.

Haz que el modelo responda a la orden

Un cargo fijo en puntos básicos puede ser una primera aproximación razonable para órdenes pequeñas. A medida que aumenta la participación, deja de ser una representación adecuada. Como mínimo, registra el nominal de la orden, el volumen disponible en la barra y la tasa de participación. Si la estrategia opera futuros, registra el valor del contrato y las unidades de volumen relevantes; si opera cripto al contado, especifica la moneda de cotización y la plataforma.

Una curva de impacto sencilla puede revelar presión sobre la capacidad sin pretender reproducir un libro de órdenes. Por ejemplo, define el costo como un cargo base por spread más un término de impacto que crezca con la raíz cuadrada de la participación. Ajusta sus parámetros solo si tienes datos de ejecución adecuados. De lo contrario, varía los parámetros y muestra con qué rapidez se deteriora el resultado.

Y evita que el modelo de ejecución rescate silenciosamente la estrategia. Una señal de compra que llega después de una subida brusca no debería obtener el mínimo de la barra solo porque esté dentro de la vela. Usa una convención de ejecución causal; luego estresa el precio y retrasa la ejecución. Si la orden demorada pierde el movimiento, ese es un resultado de ejecución, no una molestia que debas suavizar.

Una pregunta útil: ¿con qué spread, impacto, demora o tasa de participación la rentabilidad neta cae a cero? Ese punto de equilibrio suele ser más útil que un único Sharpe del backtest.

Usa el trading simulado para acotar el rango

El trading simulado no revelará el precio de ejecución que habrías obtenido en un motor de casación real. Aun así, puede decirte si el flujo de órdenes del backtest se parece a las decisiones reales del sistema: cuándo se generan las órdenes, qué tamaño tienen y durante cuánto tiempo siguen siendo ejecutables.

Compara el precio simulado de la orden con cotizaciones contemporáneas o con los datos de mercado que registre tu sistema de trading simulado. Haz seguimiento de la diferencia por instrumento, hora del día, tamaño de la orden y tipo de orden. Esas observaciones pueden acotar los supuestos para esa configuración. No se trasladan automáticamente a otra plataforma, otro régimen de mercado o una orden de mayor tamaño.

Quienes critican este enfoque tienen razón al señalar que los escenarios pesimistas pueden ser arbitrarios. Un modelo deliberadamente severo puede descartar una estrategia viable, igual que uno favorable puede hacer que una débil parezca mejor. Así que no declares que el caso más severo es la verdad. Publica los supuestos, muestra la sensibilidad y recopila los datos necesarios para sustituir las conjeturas por estimaciones calibradas.

Un backtest no puede conocer la posición que ocupaba en la cola histórica a partir de una vela. Sí puede mostrar si la idea sigue teniendo sentido cuando la ejecución empeora de maneras que tus datos no permiten descartar. Esa respuesta es más útil que un decimal.

deslizamientoimpacto de mercadobacktestingejecucióntrading simulado
← Todos los artículos