18.1 De la rueda al libro
Durante las fases habilitadas de una rueda ingresan mensajes de compra y venta. El mercado conserva las órdenes activas que todavía no fueron retiradas ni completamente ejecutadas y las organiza en un libro de órdenes.
El libro es una fotografía cambiante de intenciones, no un registro de promesas inmutables. Un mensaje posterior puede agregar, modificar o retirar información.
Idea central: cada lado se ordena a favor de quien quiere operar: el comprador prefiere precios más bajos, pero la mejor oferta compradora es la más alta; el vendedor prefiere precios más altos, pero la mejor oferta vendedora es la más baja.
18.2 Los dos lados del libro
Compra · bid
Reúne intenciones de adquirir el instrumento. Un precio mayor es más competitivo para quien vende.
Venta · ask u offer
Reúne intenciones de entregar el instrumento. Un precio menor es más competitivo para quien compra.
Las palabras bid y ask describen el lado del libro, no una recomendación. Siempre deben leerse desde la perspectiva de la intención publicada.
18.3 Precio y cantidad forman un nivel
Una cotización del libro necesita al menos un precio y una cantidad disponible. Decir «la compra está en $100» omite cuántas unidades se ofrecen comprar a ese valor.
Cuando varias órdenes comparten precio, una vista agregada puede sumar sus cantidades y presentar un único nivel. Esa suma no revela necesariamente cuántas órdenes o participantes la componen.
18.4 Cómo se ordena cada lado
- Las compras se muestran de mayor a menor precio.
- Las ventas se muestran de menor a mayor precio.
- El primer nivel de cada lado es su mejor punta.
Con compras a $99,80, $100,00 y $99,90, la primera es $100,00. Con ventas a $100,50, $100,20 y $100,35, la primera es $100,20.
18.5 Punta compradora
La punta compradora, mejor compra o best bid es el precio de compra más alto visible en el libro considerado. Su cantidad indica el volumen publicado en ese nivel.
No representa el precio al que el titular necesariamente venderá toda la cantidad que desee: la cantidad disponible puede ser menor, cambiar antes de la orden o pertenecer a una vista parcial.
18.6 Punta vendedora
La punta vendedora, mejor venta o best ask es el precio de venta más bajo visible. Es el primer precio publicado que un comprador observa del lado vendedor.
La mejor venta tampoco garantiza ejecutar cualquier cantidad a ese precio. Precio y cantidad deben interpretarse juntos.
18.7 Leer las mejores puntas
El ejemplo indica que alguien ofrece comprar 500 unidades a $100,00 y alguien ofrece vender 300 a $100,20. No informa que se haya concretado una operación.
18.8 Spread absoluto
El spread o diferencia entre puntas mide la separación entre el mejor precio vendedor y el mejor precio comprador.
El resultado conserva la moneda y la unidad de cotización del instrumento. No deben compararse spreads absolutos de instrumentos con escalas de precio diferentes sin normalizarlos.
18.9 Precio medio y spread relativo
El punto medio entre las puntas, o mid-price, sirve como referencia aritmética. No es necesariamente un precio al que se pueda operar.
spread relativo = spread absoluto / precio medio × 100
Con puntas de $100,00 y $100,20, el medio es $100,10 y el spread relativo es aproximadamente 0,1998%.
18.10 Libro por órdenes y libro por niveles
| Vista | Qué muestra | Qué puede ocultar |
|---|---|---|
| Por órdenes | Cada orden visible como una fila. | Identidad real del participante, si el mercado no la publica. |
| Por niveles | Cantidad agregada para cada precio. | Cantidad de órdenes y posición individual dentro del nivel. |
| Solo mejores puntas | Primer nivel de compra y de venta. | Todos los niveles posteriores. |
18.11 Profundidad visible
Una fuente puede publicar uno, cinco, diez o más niveles por lado. La cantidad observada depende del alcance del dato contratado, de las reglas de difusión y del estado del mercado.
Ver más niveles ayuda a describir el libro, pero no permite anticipar por sí solo el resultado de una orden. Liquidez, profundidad y deslizamiento se estudiarán específicamente en el tema 21.
18.12 Spread positivo, libro cerrado y libro cruzado
- Libro normal: mejor compra menor que mejor venta; el spread es positivo.
- Libro cerrado o locked: ambas puntas tienen el mismo precio; el spread es cero.
- Libro cruzado: mejor compra mayor que mejor venta; el spread calculado es negativo.
Un libro cruzado puede aparecer transitoriamente por latencia, datos de fuentes distintas, una fase especial o un problema de calidad. No debe corregirse intercambiando precios automáticamente.
18.13 Libro vacío o incompleto
Puede faltar uno de los lados o ambos. Sin compras no existe mejor compra; sin ventas no existe mejor venta. En cualquiera de esos casos, el spread no puede calcularse.
Usar cero para reemplazar una punta ausente inventa un precio y genera porcentajes engañosos. La ausencia debe representarse explícitamente, por ejemplo con null.
18.14 Una fotografía con marca temporal
El libro cambia con cada evento. Una captura debe incluir la hora de mercado, la hora de recepción, el instrumento, el segmento y un número de secuencia cuando la fuente lo ofrezca.
Importante: mezclar una compra de las 10:00:01 con una venta de las 10:00:05 puede producir un spread que nunca existió como fotografía simultánea.
18.15 Laboratorio: reconstruir las puntas
Ingresá tres niveles de cada lado, en cualquier orden. El laboratorio descarta niveles vacíos o sin cantidad, busca las mejores puntas y clasifica el estado del libro. No ejecuta ni modifica órdenes.
Libro didáctico · MIF
Precios ficticios en ARS por unidad. Cada fila representa un nivel agregado.
Compras
Ventas
Libro normal: las puntas están separadas por un spread positivo.
18.16 Buscar las mejores puntas con JavaScript
La mejor compra usa el máximo; la mejor venta, el mínimo. La reducción debe comenzar con un nivel real para no introducir precios artificiales.
const compras = [
{ precio: 99.80, cantidad: 700 },
{ precio: 100.00, cantidad: 500 },
{ precio: 99.90, cantidad: 900 }
];
const ventas = [
{ precio: 100.50, cantidad: 400 },
{ precio: 100.20, cantidad: 300 },
{ precio: 100.35, cantidad: 600 }
];
const mejorCompra = compras.reduce((mejor, nivel) =>
nivel.precio > mejor.precio ? nivel : mejor
);
const mejorVenta = ventas.reduce((mejor, nivel) =>
nivel.precio < mejor.precio ? nivel : mejor
);
console.log(mejorCompra);
console.log(mejorVenta);
18.17 Calcular y clasificar el spread
function analizarPuntas(bid, ask) {
if (bid === null || ask === null) {
return { estado: "INCOMPLETO", spread: null };
}
const spread = ask - bid;
const medio = (ask + bid) / 2;
const relativo = medio === 0 ? null : spread / medio * 100;
const estado = spread > 0 ? "NORMAL"
: spread === 0 ? "CERRADO"
: "CRUZADO";
return { estado, spread, medio, relativo };
}
const normal = analizarPuntas(100, 100.20);
const cruzado = analizarPuntas(100.30, 100.20);
console.log(normal.estado, normal.spread.toFixed(2), normal.relativo.toFixed(4) + "%");
console.log(cruzado.estado, cruzado.spread.toFixed(2), cruzado.relativo.toFixed(4) + "%");
18.18 Errores frecuentes
- Elegir como mejor compra el precio más bajo.
- Elegir como mejor venta el precio más alto.
- Confundir una punta publicada con una operación ejecutada.
- Calcular el spread sin verificar que existan ambos lados.
- Sumar cantidades de precios distintos como si fueran un nivel.
- Comparar libros con instrumentos, monedas o instantes diferentes.
18.19 Ejercicio integrador
Para un instrumento ficticio se reciben compras a $48,10 por 200 unidades, $48,25 por 150 y $48,20 por 500; y ventas a $48,60 por 100, $48,40 por 300 y $48,50 por 250. Calculá las puntas, el spread absoluto, el precio medio y el spread relativo.
Ver una solución posible
const mejorCompra = { precio: 48.25, cantidad: 150 };
const mejorVenta = { precio: 48.40, cantidad: 300 };
const spread = mejorVenta.precio - mejorCompra.precio;
const medio = (mejorVenta.precio + mejorCompra.precio) / 2;
const relativo = spread / medio * 100;
console.log("Compra:", mejorCompra);
console.log("Venta:", mejorVenta);
console.log("Spread:", spread.toFixed(2));
console.log("Medio:", medio.toFixed(3));
console.log("Relativo:", relativo.toFixed(4) + "%");
Las mejores puntas son $48,25 y $48,40. El spread es $0,15, el medio es $48,325 y el spread relativo es aproximadamente 0,3104%.
18.20 Ideas para recordar
- El libro contiene intenciones activas, no operaciones ya concretadas.
- Las compras se ordenan de mayor a menor y las ventas de menor a mayor.
- La punta siempre incluye precio y cantidad.
- El spread absoluto es mejor venta menos mejor compra.
- El precio medio es una referencia, no una promesa de ejecución.
- Sin ambos lados no existe un spread calculable.
En el próximo tema estudiaremos las órdenes de mercado, limitadas y con condición de activación.