Cómo inferir quién inicia una operación: tick test, regla de cotización y Lee–Ready
Aprende a estimar si el comprador o el vendedor tomó liquidez usando precios y cotizaciones, con un ejemplo y los límites del algoritmo Lee–Ready.
En esta guíaLa etiqueta identifica al lado que tomó liquidez
Resumen breve
Toda operación tiene un comprador y un vendedor. Decir que una operación fue iniciada por el comprador suele indicar que el lado comprador tomó liquidez disponible; no significa que no hubiera vendedor. Las reglas de clasificación estiman qué lado inició el cruce a partir de precios y cotizaciones, pero no siempre observan directamente esa información.
La etiqueta identifica al lado que tomó liquidez
En cada ejecución hay una parte que compra y otra que vende. Una operación «iniciada por el comprador» significa que una orden de compra tomó liquidez ya disponible, normalmente al cruzar hasta la oferta de venta. Una «iniciada por el vendedor» significa que la orden de venta consumió liquidez de compra que esperaba en el libro, a menudo al precio bid. La etiqueta describe cómo se produjo el emparejamiento: no elimina a la contraparte ni informa quién es cada participante.
Muchos registros Time and Sales muestran precio y cantidad, pero no un campo fiable con el lado agresor. En ese caso se infiere un signo a partir de la secuencia de precios o de la cotización vigente cerca de la operación. Es habitual usar +1 para comprador iniciador y −1 para vendedor iniciador al calcular volumen firmado. Sin embargo, el signo es una estimación y algunas operaciones pueden quedar sin clasificar. Si el feed incluye una variable de agresor definida por la bolsa, hay que interpretar también sus códigos y los casos sin lado asignado.
Esta clasificación ayuda a estudiar volumen firmado, spreads efectivos, desequilibrio de órdenes o formación de precios a corto plazo. Responde a una pregunta distinta de la que responde OFI, que también puede incluir adiciones, cancelaciones y cambios en las mejores cotizaciones. La guía sobre libro de órdenes y Time and Sales explica por qué ambos registros describen eventos diferentes.
El tick test usa el cambio entre operaciones consecutivas
El tick test compara el precio de una operación con el de la operación anterior. Si el precio actual es mayor, hay un uptick y se clasifica como compra iniciada; si es menor, hay un downtick y se clasifica como venta iniciada. Cuando el precio no cambia, es un zero tick y se conserva la dirección del último cambio de precio no nulo. Así, los prints al mismo precio tras un uptick heredan el signo comprador, y tras un downtick heredan el vendedor.
Con precios de 40,00, 40,02, 40,02 y 40,01, la secuencia sería desconocido, compra, compra y venta. El primer print no tiene movimiento previo; el segundo sube; el tercero hereda el último uptick; el cuarto baja. Si todavía no hubo ningún movimiento no nulo, el tick test por sí solo no puede asignar dirección al precio repetido. Es preferible mantenerlo sin clasificar que inventar un signo.
El método funciona aunque no haya datos de cotizaciones, pero no consulta bid ni ask. El precio puede subir por un cambio en las cotizaciones, no porque el lado comprador iniciara esa ejecución concreta. Las operaciones que llegan fuera de orden, las subastas de apertura, las correcciones y las operaciones con condiciones especiales requieren reglas específicas del feed. El artículo original de Lee y Ready examina estas limitaciones junto con los métodos basados en cotizaciones.
La regla de cotización compara el print con el punto medio vigente
Sea b el mejor precio comprador y a el mejor precio vendedor. Si las cotizaciones son válidas y no están cruzadas, el punto medio es m = (a + b) / 2. La regla sencilla del punto medio clasifica los prints por encima de m como iniciados por el comprador y los que están por debajo como iniciados por el vendedor. Si el print coincide exactamente con m, la comparación no resuelve el lado. Algunas implementaciones lo dejan abierto; otras usan el tick test como desempate.
Si bid es 100,00 y ask 100,04, el punto medio es 100,02. Un print a 100,03 queda en el lado comprador; uno a 100,01, en el vendedor. A 100,02 la regla está empatada. La cotización de referencia y la anterior operación responden a preguntas distintas: la primera sitúa el precio dentro del spread actual; la segunda mide si el precio de transacción avanzó o retrocedió.
La comparación solo tiene sentido si se utiliza la cotización que regía cuando se ejecutó la operación. Una cotización atrasada puede colocar el mismo print en el lado opuesto. Cotizaciones ausentes, bloqueadas o cruzadas, varias plazas y operaciones dentro del spread también añaden incertidumbre. Asignar un print interior a la cotización más cercana es una heurística, no un campo de agresor observado directamente.
Lee–Ready combina la posición en la cotización, el tick test y el tiempo
Lee–Ready compara el trade con la cotización vigente y usa el tick test para el caso que la comparación no resuelve. Una ejecución en el ask o por encima suele clasificarse como iniciada por el comprador; en el bid o por debajo, como iniciada por el vendedor. Dentro del spread, pero fuera del punto medio, la versión original asigna el lado de la cotización más próxima. En el punto medio utiliza el tick test. Si tampoco existe un cambio previo no nulo, el caso puede quedar sin clasificar.
El método también abordó un problema histórico de secuenciación. En los datos de NYSE de 1988 estudiados por Lee y Ready, algunos cambios de cotización causados por una operación aparecían registrados antes que el propio trade. Su procedimiento de 1991 usaba la cotización más reciente de al menos cinco segundos antes cuando la cotización actual era demasiado reciente. El ajuste correspondía a la forma de informar de aquella muestra. Esos cinco segundos no son una corrección universal para los feeds actuales: aplicar el retraso a ciegas puede introducir un error nuevo.
Conviene documentar por separado la regla de clasificación y la forma de emparejar trades con cotizaciones. Sus marcas de tiempo pueden proceder de relojes o rutas de publicación diferentes. Selecciona la cotización con una convención de tiempo defendible, evita una que solo estuviera disponible después del print y explica qué ocurre con las operaciones sin cotización emparejable. El nombre Lee–Ready no basta para reproducir el análisis si los detalles temporales difieren.
Un ejemplo sencillo muestra por qué las reglas discrepan
Supongamos que el bid es 100,00 y el ask 100,04, con punto medio de 100,02. El trade anterior fue a 100,00. Un print a 100,01 es un uptick respecto a la operación previa, así que el tick test lo clasifica como iniciado por el comprador. Pero está debajo del punto medio; la regla de cotización lo clasifica como iniciado por el vendedor. Lee–Ready también lo asigna al vendedor porque está dentro del spread y más cerca del bid 100,00. No cambió el print: cambió la referencia de la regla.
Si el siguiente trade ocurre a 100,02, está en el punto medio y la regla de cotización no decide. El último movimiento no nulo, de 100,00 a 100,01, fue al alza; por ello, el fallback de tick test de Lee–Ready lo clasifica como compra iniciada. Un print a 100,04, exactamente en el ask y con esa cotización estable, suele clasificarse como comprador iniciador. Son clasificaciones hipotéticas para ilustrar reglas, no una afirmación sobre operaciones reales ni sobre una oportunidad de inversión.
Con cantidades de 4, 3 y 2 unidades para esos tres prints, Lee–Ready produce volumen firmado de −4 + 3 + 2 = +1 unidad. El tick test aplicado por sí solo da +4 + 3 + 2 = +9. Los precios y las cantidades no cambian; solo la regla de signo altera el total en ocho unidades. Si quedan operaciones sin dirección, informa la proporción clasificada y cómo trataste su volumen en vez de considerarlo implícitamente cero.

Los porcentajes de acierto pertenecen a estudios concretos
Lee y Ready analizaron operaciones de 150 empresas de NYSE en 1988. Documentaron dos dificultades: algunas cotizaciones podían registrarse antes del trade que las había activado y muchos precios se ejecutaban dentro del spread mostrado. El retraso y el fallback de tick test respondían a esos problemas en la muestra histórica. El efecto de un error también depende del uso posterior de los datos.
Ellis, Michaely y O’Hara compararon las reglas con un conjunto propietario de Nasdaq que incluía etiquetas de dirección. En su muestra, la regla de cotización acertó el 76,4 % de los trades, el tick test el 77,66 % y Lee–Ready el 81,05 %. También encontraron que todas las reglas tenían un éxito limitado para operaciones dentro de las cotizaciones; los errores podían afectar las estimaciones de trades grandes, periodos de alto volumen y operaciones ECN (estudio de 2000). Son cifras para esos datos, periodo y diseño de mercado, no una promesa de precisión actual.
Emparejamiento ampliado y campos propios de cada mercado
Jurkatis propuso en 2022 un método de información completa que busca activamente la cotización correspondiente a cada trade, en vez de asignarlo mediante una regla ad hoc fija. En su estudio, la mejora frente a métodos habituales fue especialmente clara cuando las marcas de tiempo solo tenían precisión de segundos; en esa condición se reportó aproximadamente la mitad de errores que con Lee–Ready (Jurkatis, 2022). El resultado corresponde a los datos y métodos evaluados, no establece un clasificador superior para todos los mercados, instrumentos o preguntas.
Algunos feeds ofrecen un campo de agresor. En CME MDP 3.0 Trade Summary, AggressorSide usa 1 para compra, 2 para venta y 0 cuando no se define un agresor en los casos descritos; hay que leer esos valores para el producto correspondiente (CME MDP 3.0 Trade Summary). Nasdaq TotalView-ITCH documenta mensajes de alta y ejecución con referencia a la orden en reposo y su cantidad. Al vincular la referencia con el mensaje Add Order se puede reconstruir el lado de esa orden; no es una etiqueta de agresor genérica para todos los mercados (especificación Nasdaq ITCH 5.0). No extrapoles el significado de un campo de una bolsa a otra.
Alinear marcas de tiempo, resolver casos especiales y validar
Comprueba si el feed usa hora del mercado, del participante o consolidada, cuál es su precisión y si trades y cotizaciones comparten reloj. Conserva el orden original de los mensajes y usa números de secuencia cuando las marcas coincidan. No elijas una cotización posterior solo porque su hora esté más cerca del trade.
Define también el tratamiento de subastas, cruces, operaciones fuera de bolsa, correcciones y anulaciones, cotizaciones bloqueadas o cruzadas y precios fuera de las mejores cotizaciones. Si hay etiquetas independientes de referencia, valida el clasificador para el mismo instrumento, plaza, periodo y tipos de evento. Una comprobación reproducible puede reconstruir mensajes brutos alrededor de ejecuciones conocidas.
Conserva por separado el resultado de cada regla y una categoría explícita de «sin clasificar». Compara los métodos en la misma muestra y comunica tanto su tasa de desacuerdo como la proporción del volumen que recibió signo. Si hay un campo de agresor o datos a nivel de orden, examina por separado las operaciones en bid/ask, dentro del spread, fuera de cotización, en subastas y con baja precisión temporal. La exactitud agregada puede ocultar fallos en un subgrupo relevante.
Comprueba también si la conclusión cambia al modificar de forma razonable el retraso, el emparejamiento de cotizaciones y el tratamiento de los trades en el punto medio. Si eliges parámetros observando los resultados, separa el periodo de selección del de evaluación. Informa del número de errores y del volumen no resuelto. Si el volumen firmado o una estimación del spread cambia mucho según el clasificador, presenta esa sensibilidad como un hallazgo metodológico.
El volumen firmado es una medición, no una conclusión de trading
Para cada trade i, puede definirse una suma de sᵢvᵢ: vᵢ es la cantidad negociada y sᵢ vale +1 si se clasifica como compra iniciada o −1 si se clasifica como venta iniciada. El valor depende del clasificador, unidad, ventana, cobertura de plazas y tratamiento de operaciones sin signo. Una nota metodológica debería nombrar estas decisiones y, si es útil, mostrar qué proporción de la cantidad recibió signo.
Un total positivo no demuestra que haya más compradores que vendedores en sentido económico: toda ejecución tiene ambas partes. Resume una dirección estimada de demanda de liquidez según una regla. Tampoco prueba compras informadas, predice la subida siguiente ni garantiza un fill al punto medio. Para estudiar costes de ejecución, considera spread, comisiones, posición en la cola, latencia e impacto de mercado. Implementation shortfall mide desde otra perspectiva los costes entre la decisión y la ejecución real.
La clasificación de trades es más útil cuando se trata como una decisión de datos reproducible. Expón la regla, la selección de cotizaciones, los casos sin clasificar y la evidencia de validación. Si el resultado cambia mucho al alternar clasificadores razonables, esa sensibilidad forma parte de la conclusión.
Preguntas frecuentes
Q1¿Toda operación está claramente iniciada por compra o por venta?
Toda ejecución tiene comprador y vendedor, pero el feed puede no revelar quién tomó la liquidez. Algunas reglas dejan prints sin resolver y ciertos eventos de mercado no tienen agresor definido.
Q2¿Lee–Ready siempre toma una cotización de cinco segundos antes?
No. Ese ajuste respondía al registro temporal de los datos NYSE de 1988 analizados por Lee y Ready. Para feeds actuales se deben usar sus reglas de tiempo, secuencia y precisión, no copiar un retraso fijo sin comprobarlo.
Q3¿El volumen firmado predice el siguiente precio?
Puede evaluarse como variable explicativa o predictiva, pero su signo es estimado y depende de la regla. Un total positivo no garantiza una subida ni una ejecución rentable después de costes. Fuentes primarias - Lee y Ready, «Inferring Trade Direction from Intraday Data» (1991) - Ellis, Michaely y O’Hara, «The Accuracy of Trade Classification Rules: Evidence from Nasdaq» (2000) - Jurkatis, «Inferring Trade Directions in Fast Markets» (2022) - CME MDP 3.0 Trade Summary - Especificación Nasdaq TotalView-ITCH 5.0
Fuentes
Informar de un problema
Prepararemos un correo con el enlace de este artículo. Mark recibirá el aviso cuando lo envíes
Comprobación rápida
¿Ya leíste la guía? Compruébalo con 3 preguntas
Pregunta 01
Un print tiene el mismo precio que el anterior y el último cambio no nulo fue a la baja. ¿Qué asigna el tick test?
Elige una respuesta para ver la explicación
Glosario de opciones
Call o put cuyo precio de ejercicio está cerca del precio del subyacente; tiene poco valor intrínseco y suele ser sensible al tiempo y la volatilidad
Leer la guía detalladaOpción callContrato que otorga a su titular el derecho, no la obligación, de comprar el subyacente al precio de ejercicio antes o al vencimiento según sus condiciones
Leer la guía detallada