Latencia y slippage en un bot de trading: el coste invisible

Latencia y slippage en un bot de trading: el coste invisible

La latencia y slippage son las dos variables que más estrategias automáticas han matado, y casi ninguna guía las cuantifica. Aquí van definidas, medidas y traducidas a euros.

Las definiciones, sin ambigüedad

Latencia es el tiempo que pasa desde que tu bot decide operar hasta que la orden llega al mercado. Se mide en milisegundos y tiene varios tramos sumables.

Slippage (deslizamiento) es la diferencia entre el precio al que esperabas ejecutar y el precio al que ejecutaste de verdad. Se mide en puntos o en euros.

La relación entre ambos es causal pero no exclusiva: más latencia produce más deslizamiento, pero también lo produce la falta de liquidez aunque tu latencia sea perfecta.

Latencia y slippage: de dónde sale cada milisegundo

La latencia total no es un número, es una suma. Estos son los tramos, del que más pesa al que menos en un montaje doméstico:

  • Red hasta el bróker. Desde una conexión doméstica en España a un servidor en Londres, entre 30 y 60 ms. Es casi siempre el tramo dominante.
  • Procesamiento de tu bot. Lo que tarda tu código en decidir. Bien escrito, menos de 5 ms; con lecturas de disco o consultas mal hechas, cientos.
  • Cola en el bróker. Lo que tarda en aceptar y enrutar. Variable y fuera de tu control.
  • Ejecución en el mercado. El emparejamiento real de la orden.
Barra dividida en los cuatro tramos que suman la latencia total, con el primero claramente dominante
La latencia total es una suma de tramos: optimizar el código no sirve de nada si el tramo de red domina.

Esto tiene una consecuencia práctica que veo ignorar constantemente: si tu tramo de red son 50 ms y tu código tarda 8, reescribir el código para bajar a 3 mejora la latencia total un 8 %. Optimizas lo que no manda.

Publicidad

Rodéate de personas con tu misma mentalidad.

Ad

Traducir el deslizamiento a euros

Aquí es donde la mayoría de backtests mienten sin querer. Un backtest ejecuta al precio exacto de la vela. La realidad no.

Toma una estrategia que hace 20 operaciones diarias con un deslizamiento medio de 0,3 puntos por operación. Con un valor de 10 euros por punto, son 60 euros al día, 1.200 al mes. Si tu ventaja esperada era de 1.500 mensuales, acabas de perder el 80 % del negocio en una línea que no estaba en la hoja de cálculo.

La regla es sencilla: cuantas más operaciones haga tu sistema, más te destruye el deslizamiento. Una estrategia de 200 operaciones al mes tolera mucho menos que una de 10.

Cómo medirlo en tu propio montaje

  1. Registra, para cada orden, el precio que tu bot esperaba y el precio ejecutado. Sin esto no tienes datos, tienes impresiones.
  2. Marca la hora con precisión de milisegundos en tres puntos: decisión, envío y confirmación.
  3. Calcula el deslizamiento medio y, sobre todo, el del percentil 95: lo que pasa en el peor 5 % es lo que te descuadra el mes.
  4. Separa por franja horaria. En la apertura y en las noticias, el deslizamiento se multiplica.

Qué reduce de verdad el problema

Por orden de efecto real: operar en horas de mayor liquidez, usar órdenes limitadas en lugar de a mercado donde la estrategia lo permita, reducir el número de operaciones, y solo después acercar el servidor al bróker. Alquilar un servidor caro sin haber hecho lo anterior es gastar dinero en el tramo equivocado.

Preguntas frecuentes

¿Cuánta latencia y slippage son aceptables? Depende del horizonte. Para una estrategia de varios días, 200 ms son irrelevantes. Para una intradía de scalping, 50 ms ya la condicionan.

¿Un servidor en la nube elimina el deslizamiento? No. Reduce el tramo de red, que es solo una de las causas. Con poca liquidez seguirás deslizando.

¿Cómo lo meto en el backtest? Restando un deslizamiento fijo y pesimista por operación. Es preferible pasarse a quedarse corto.

Puntos clave

  • Latencia y slippage no son lo mismo: una es tiempo, el otro es dinero.
  • La latencia total es una suma de tramos: optimiza el que domina.
  • Cuantas más operaciones, más te destruye el deslizamiento.
  • Mide el percentil 95, no solo la media.
  • Un servidor caro es lo último, no lo primero.
Mario Insausti

Mario Insausti

Ingeniero de software especializado en sistemas de trading algorítmico

Mario Insausti es ingeniero de software con más de diez años diseñando, programando y auditando sistemas de trading algorítmico sobre plataformas como MetaTrader y entornos propios en Python. Ha realizado backtesting y evaluación de cientos de estrategias automáticas, y colabora divulgando buenas prácticas de automatización para inversores particulares. Su enfoque es puramente técnico y anti-humo: métricas verificables, riesgo medido y cero promesas de rentabilidad; la tecnología ejecuta, pero el criterio lo pone el método.

← Volver al inicio