Se preguntaron cómo un mercado comunica la información de precios de todos los activos que permite operar, y qué procesamiento se realiza sobre esa información para que veamos siempre los precios correctos en pantalla? La cantidad de productos que pueden operarse en un mercado suele ser muy alta. Además, si es un mercado con mucha liquidez, la información de precios cambia muy frecuentemente.
Esto deriva en que la cantidad de información a transmitir es muchísima. Asegurarse de que todos los participantes reciban prácticamente al mismo tiempo información precisa para garantizar la correcta operatoria se vuelve un desafío muy interesante, e involucra a ambas partes: el mercado y quienes operan en él.
ArQuants oficia como suscriptor frente a los mercados. Esto nos lleva a la tarea de escuchar y comunicar a las estrategias de trading información precisa en el menor tiempo posible. Les contamos como lo hacemos!
Solicitando información de precios al mercado
El mercado le plantea a sus participantes dos alternativas para consultar los precios de un activo:
A) Solicitando una foto: el mercado le envía un único Snapshot con el book completo en ese momento.
B) Realizando una suscripción: el mercado envía un Snapshot inicial y ante cada cambio de precios le remitirá al suscriptor la nueva conformación de precios, a través de un Full Refresh o un Incremental Refresh dependiendo del tipo de suscripción. Snapshot y Full Refresh implican enviar el libro completo ante cada cambio. Incremental Refresh implica notificar qué cambio exacto se dió en el libro.
Comparemos cómo sería una suscripción a market data para AY24D con Full Refresh y Incremental Refresh. El mercado responde con un Snapshot para que el participante reciba el book completo.
Si se hubiese solicitado una foto única, ya estaría finalizada la comunicación. Al ser una suscripción, el mercado deberá notificar cada vez que esa información de precios cambie

Si la suscripción es Full Refresh, cuando cambie el precio o la cantidad de algún nivel del bid o el offer, el mercado volverá a enviar la foto completa. Esto es poco eficiente, ya que por un cambio en un nivel de precios, comunicará nuevamente los restantes 9 niveles. Si la suscripción es Incremental Refresh, el mercado sólo comunicará el nivel de precios que está cambiando. Es muchísima menos información (un 10% aproximadamente).
Pero seguramente se estarán preguntando ¿Cómo hace esto? Pués bien, simplemente enviando un mensaje que dice que una determinada posición se Agrega, Elimina, o Modifica. Si el mercado indica Agregar en la posición 3 un bid por 1000 a 28.74, se agrega esa información en la posición 3 y los niveles de precios que se encontraban de la posición 3 hacia abajo deben descender un nivel, y el que estaba en el último nivel, olvidarse.

Si el mercado indica Eliminar en la posición 1 un offer, los niveles de precios que se encontraban de la posición 1 hacia abajo deben ascender.

El mensaje anterior puede estar seguido de un mensaje que indique Agregar en la posición 5 del offer (la última), un nivel de precios que pudiese estar oculto.

Si alguien se anota en el offer a 28.82 por un tamaño de 1000, el mercado indicará Cambiar la posición 2 a cantidad 1123 y precio 28.82.
Optimizando la información propagada
Los mercados se interesan por propagar la información de precios de la manera más óptima posible. La opción es suscribirse a la market data de un activo mediante Incremental Refresh. Esto tiene el desafío para el participante de mantener actualizado el book de precios, pero resulta en una mejora sustancial en el tiempo de procesamiento de la información. A modo de ejemplo, les muestro un video del mensaje FIX del tipo W (MarketDataSnapshotFullRefresh) y una captura de un mensaje del tipo X (MarketDataIncrementalRefresh). Noten la diferencia de información en cada uno de ellos
Acá va la captura del MarketDataIncrementalRefresh. Gran diferencia no? El Incremental Refresh transmite la misma información de manera mas optima
Estas conversaciones se dan a nivel software entre los mercados y las aplicaciones que permiten cada día realizar la operatoria

Estas conversaciones se dan a nivel software entre los mercados y las aplicaciones que permiten cada día realizar la operatoria. Por esto, adquiere importancia la manera en que un mercado propaga la información. En el próximo hilo vamos a analizar exactamente que información tienen adentro cada uno de estos mensajes.
