Ejemplo de transcripción del libro de órdenes

Un ejemplo de transcripción del libro de órdenes delfeed de libro de órdenes WebSocket API, con una explicación de cada mensaje y el cambio resultante en el libro de órdenes, es el siguiente:

1. Snapshot Inicial

El mensaje del snapshot inicial:

[0,{"as":[["5711.80000","8.13439401","1557070784.848047"],["5712.20000","2.00000000","1557070757.056750"],["5712.80000","0.30000000","1557070783.806432"],["5713.00000","3.29800000","1557070774.281619"],["5713.10000","1.00000000","1557070741.315583"],["5713.90000","1.00000000","1557070698.840502"],["5714.70000","0.50000000","1557070743.861074"],["5715.20000","1.00000000","1557070697.871150"],["5716.60000","1.22700000","1557070775.294557"],["5716.80000","0.35000000","1557070749.823148"]],"bs":[["5711.70000","0.00749800","1557070712.848376"],["5709.20000","3.30000000","1557070766.260894"],["5708.30000","0.75483907","1557070781.425374"],["5708.20000","5.00000000","1557070780.762871"],["5707.80000","2.50000000","1557070722.912548"],["5707.40000","4.33000000","1557070732.546143"],["5707.00000","0.00200000","1557070604.962840"],["5706.90000","1.17300000","1557070715.529722"],["5706.40000","0.85600000","1557070777.204262"],["5706.30000","1.00000000","1557070753.118938"]]}]

proporciona el siguiente libro de orden inicial:

Order_Book_1.png

 

2. Actualizar/eliminar/insertar mensaje

El primer mensaje de actualización modifica el lado de la oferta del libro de órdenes, actualizando el nivel de precio existente 5709.2, eliminando el nivel de precio existente 5708.2, e insertando (tirando al alcance) el nuevo nivel de precio 5705.9:

[0,{"b":[["5709.20000","3.00000000","1557070785.898642"],["5708.20000","0.00000000","1557070786.010118"],["5705.90000","7.62400000","1557070783.582385"]]}]

que da el siguiente libro de órdenes actualizado:

Order_Book_2.png


3. Actualizar/insertar mensaje

El siguiente mensaje de actualización modifica el lado de la oferta del libro de órdenes, actualizando el nivel de precio existente 5709.2, e insertando el nuevo nivel de precio 5709.4 (que tiene el efecto secundario de mover todos los niveles de precios subsiguientes en un nivel hacia afuera, y de empujar el nivel de precio 5705.9 fuera del alcance):

[0,{"b":[["5709.20000","8.00000000","1557070786.250425"],["5709.40000","0.30000000","1557070786.259115"]]}]

lo que provoca el siguiente libro de órdenes actualizado:

Order_Book_3.png

4. Eliminar/insertar mensaje

El siguiente mensaje de actualización cambia el lado de la oferta del libro de ordenes, eliminando el nivel de precio 5708.3, e insertando (tirando de nuevo al alcance) el nivel de precio 5705.9:

[0,{"b":[["5708.30000","0.00000000","1557070786.389495"],["5705.90000","7.62400000","1557070783.582385"]]}]

que da el siguiente libro de órdenes actualizado:

Order_Book_4.png

y así sucesivamente hasta el infinito hasta que se cancele la suscripción del libro de ordenes o se termine la conexión WebSocket.

El código de ejemplo (en Python) que implementa un cliente de libro de órdenes de línea de comandos e ilustra la lógica de mantener un libro de órdenes válido está disponible para revisión y descarga.