Lección 322 min60 XPGratis
El libro y la profundidad: cuánto hay detrás del precio que ves
Al terminar sabrás
- Leer una pantalla de profundidad (DOM) y saber qué representa cada número
- Explicar la cola FIFO y estimar si una orden límite tuya se ejecutará
- Entender por qué la profundidad visible no es toda la liquidez (icebergs, cancelaciones, spoofing)
Antes de esta conviene haber hecho Los tipos de orden y qué hace cada uno en el libro.
En la pantalla de profundidad ves "48 contratos" en el mejor bid de ES. Parece un muro. En medio segundo pueden ser 3, o 400, sin que se haya cruzado una sola operación. El libro es una foto de intenciones que se retiran, y leerlo bien es saber qué parte de la foto es de fiar.
El problema
La profundidad del libro (L2, DOM) es la información más rica que da un mercado en tiempo real, y también la más malinterpretada. Los números que ves son órdenes límite que alguien puede cancelar en microsegundos, algunas están ocultas a propósito, y tu propia orden límite compite en una cola cuya posición no ves. Sin entender la mecánica, leer el libro es leer posos de café.
Tres capas
Intuición
El libro es una doble fila de gente esperando: a la izquierda los que quieren comprar, ordenados de quien más paga a quien menos; a la derecha los que quieren vender, de quien menos pide a quien más. La pantalla te enseña cuántas personas hay en cada escalón. Lo que no te enseña: quién llegó antes dentro de cada escalón, quién está a punto de irse, ni cuánta gente hay en la fila con un cartel tapado que dice "tengo 500 pero solo enseño 10".
Tú te pones al final de la fila de los que compran a 99,50. Delante tienes a 20. Cada vez que alguien vende a mercado, se atiende al primero de la fila. Para que te toque a ti, tienen que venderse 20 contratos a 99,50 sin que el precio se aleje. Si el precio sube antes, la fila se disuelve y tú te quedas sin comprar. Si el precio baja, te ejecutas... y ahora vas largo en algo que está bajando. Esa es la trampa de la orden límite: te toca cuando el precio viene hacia ti, y el precio viene hacia ti porque hay más vendedores que compradores.
Ejemplo numérico
Modelo de juguete, calculado en el código de abajo: estás en el mejor bid con contratos delante. Cada segundo llegan ventas a mercado que consumen la cola (una media de 0,8 contratos por segundo), y con un 2 % de probabilidad por segundo el precio se aleja y el nivel desaparece sin ejecutarte. Ventana: 2 minutos.
| Contratos delante | Probabilidad de fill en 2 min | Mediana de tiempo hasta el fill |
|---|---|---|
| 0 | 96,5 % | 1 s |
| 5 | 85,3 % | 7 s |
| 20 | 58,2 % | 26 s |
| 50 | 27,9 % | 63 s |
| 100 | 3,3 % | 114 s |
Misma orden, mismo precio. Con 100 delante casi nunca te ejecutas; con 5, casi siempre. La pantalla te enseña el total del nivel (lo que hay delante más lo que hay detrás), pero no tu posición. Los números exactos dependen del mercado y de la hora; la forma de la tabla, no.
Otro número que sale del libro: el desequilibrio. Si en los tres mejores bids hay 120 contratos y en los tres mejores asks hay 40, el desequilibrio es (120 − 40) / (120 + 40) = +0,5. Un libro cargado del lado de compra. ¿Predice que el precio sube? Un poco, a horizontes de segundos, y ese poco lo explotan máquinas que están a 1 ms del matching engine. A tu escala, es información sobre dónde hay liquidez, no una señal.
Formal
Un libro de órdenes límite (LOB) es, en cada instante, dos funciones escalonadas: la profundidad acumulada del lado comprador y del vendedor . El coste de ejecución de una orden de mercado de tamaño es la integral del precio sobre la profundidad consumida (M0.1.1). La pantalla L2 muestra y para los mejores niveles (10 en CME por defecto); L1 muestra solo el mejor de cada lado.
Cola FIFO. En cada nivel las órdenes se ejecutan en orden de llegada. Tu posición en la cola del nivel es el volumen que había en cuando llegaste (menos cancelaciones anteriores a ti). La probabilidad de ejecución es la probabilidad de que el flujo agresor acumulado en el nivel supere antes de que el nivel desaparezca (por agotamiento o porque el mejor precio se mueve). Modificar el precio de una orden la manda al final de la nueva cola; modificar solo la cantidad a la baja suele conservar la posición (regla de CME), a la alza no.
Liquidez oculta. Iceberg orders: muestran una fracción ("display quantity") y reponen automáticamente al ejecutarse; CME las soporta nativamente. Consecuencia: la profundidad visible subestima la liquidez real en niveles donde hay icebergs, y el volumen ejecutado en un nivel puede superar con mucho lo que se veía. Cancelaciones: la mayoría de las órdenes límite se cancelan sin ejecutarse (ratios de cancelación por encima del 90 % son normales en mercados con HFT), así que la profundidad es una foto de intenciones revocables. Spoofing (colocar órdenes grandes sin intención de ejecutarlas para engañar) es ilegal en EE. UU. desde Dodd-Frank y se persigue, pero la línea entre spoofing y gestión legítima de órdenes es fina y a tu escala no la vas a distinguir.
Desequilibrio. sobre los mejores niveles. La literatura empírica (Cont, Kukanov y Stoikov, 2014, entre otros) documenta correlación positiva entre y el siguiente movimiento del mid a horizontes muy cortos. El edge que produce se agota en milisegundos y requiere estar al lado del matching engine. Para un sistemático de barras, el libro sirve para estimar coste de ejecución y elegir tipo de orden, no para predecir.
Ejemplo trabajado con código
# numpy 2.4 — Prioridad precio-tiempo: ¿cuánto tarda en ejecutarse tu límite según dónde caes en la cola?
import numpy as np
rng = np.random.default_rng(42)
# Modelo de juguete: en el mejor bid hay Q contratos delante de ti. Cada segundo llegan ventas a mercado
# (Poisson, media 0,8 contratos/s) que consumen la cola, y con prob. 2 %/s el precio se mueve en tu contra
# (el nivel desaparece sin ejecutarte). Medimos si te ejecutas y en cuánto tiempo, 10.000 veces.
def simular(delante, horizonte_s=120, llegada=0.8, p_salto=0.02):
ejecutadas, tiempos = 0, []
for _ in range(10_000):
cola = delante + 1 # tú eres el último
for t in range(1, horizonte_s + 1):
if rng.random() < p_salto: # el precio se aleja: te quedas sin fill
break
cola -= rng.poisson(llegada)
if cola <= 0:
ejecutadas += 1; tiempos.append(t); break
return ejecutadas / 10_000, (np.median(tiempos) if tiempos else float("nan"))
print(f"{'delante':>8s} {'P(fill en 2 min)':>17s} {'mediana seg':>12s}")
for q in [0, 5, 20, 50, 100]:
p, med = simular(q)
print(f"{q:>8d} {p:>16.1%} {med:>12.0f}")
print("Mismo precio, misma orden: la diferencia es solo cuántos llegaron antes que tú.")delante P(fill en 2 min) mediana seg
0 96.5% 1
5 85.3% 7
20 58.2% 26
50 27.9% 63
100 3.3% 114
Mismo precio, misma orden: la diferencia es solo cuántos llegaron antes que tú.Figura
(Figura estática en SVG.)
El error típico
Leer la profundidad como intención: "hay 300 contratos en el bid, no va a bajar de ahí". Tres razones por las que no funciona: (1) esos 300 pueden cancelarse en el instante en que el precio se acerque, y de hecho es lo habitual; (2) el nivel puede ser un iceberg de 3.000 o una pared de cartón; (3) el volumen que de verdad frena un precio es el que se ejecuta, no el que se muestra, y la ejecución no la ves hasta que ha pasado. El libro es útil para dos cosas a tu escala: estimar cuánto te va a costar una orden de mercado de tu tamaño, y saber si tu orden límite tiene alguna posibilidad realista de ejecutarse antes de que el precio se vaya.
Quiz
5 preguntas · se aprueba con 60 %
1.Pones una límite en el mejor bid y la pantalla dice que el nivel tiene 48 contratos. ¿Qué sabes de tu posición en la cola?
2.Modificas el precio de tu límite de 99,50 a 99,55 para "adelantarte". ¿Qué pasa con tu posición en la cola?
3.Una orden iceberg de 500 contratos con 10 visibles. ¿Qué ve el resto del mercado?
4.Desequilibrio del libro: 150 en los tres mejores bids, 50 en los tres mejores asks.
5.La profundidad del mejor bid pasa de 300 a 20 contratos en un segundo sin que se ejecute nada. ¿Qué ha pasado?
0 de 5 respondidas
Ejercicio
Abre la profundidad (DOM) de MES en TradingView o en tu plataforma durante la sesión regular. Durante dos minutos, cada 15 segundos anota la cantidad del mejor bid y del mejor ask, y cuántas operaciones se han ejecutado en ese intervalo (columna de volumen o "prints"). Después responde: ¿cuánto varió la profundidad del mejor bid entre lecturas consecutivas? ¿Cuántos contratos se ejecutaron en total frente a cuánto "desapareció" de la profundidad?
Resultado verificable: la variación de profundidad entre lecturas suele ser mayor que el volumen ejecutado en ese intervalo. Si te sale así, acabas de medir la tasa de cancelación. Anota hora, vencimiento y tus ocho lecturas: es tu primer dato propio de microestructura.
Qué te llevas
- La profundidad es una foto de intenciones revocables. La mayoría de lo que ves se cancelará sin ejecutarse.
- Tu orden límite compite en una cola FIFO cuya posición no ves. Cambiar el precio te manda al final.
- A tu escala, el libro sirve para estimar tu coste de ejecución y tus probabilidades de fill, no para predecir el precio.
Siguiente lección: Ejecución y slippage: el precio que ves no es el precio que pagas. Cómo medirlo con tus propios fills y por qué un tick de diferencia convierte una estrategia ganadora en perdedora.
