tf2 quick protocol finance quickfix

finance - quick - ¿La mejor manera de analizar un mensaje FIX?



quickfix tf2 (6)

¿Cómo se analiza un mensaje FIX usando python? (Mensaje FIX como en el Protocolo FIX ''financiero'')


¿Te refieres al usar QuickFIX? (Puedo ver QuickFIX en tus etiquetas)

Si ese es el caso, no lo sé. En general, no es difícil escribir un analizador simple para un mensaje FIX. Encontré que las herramientas web en una solución válida hacen el trabajo.


Además de usar el quickfixengine real, es fácil analizar el mensaje de corrección cuando se sabe que contiene etiquetas específicas.

Contiene 0x1 pares separados de cadenas ''clave = valor''. Una de las complicaciones son los grupos porque debes averiguar que la etiqueta es la primera en un grupo (encabezado de grupo) y luego averiguar cuándo finaliza el grupo (cuando llega a otra etiqueta que no está en el grupo).

Otro campo problemático es el RawData, que puede contener cualquier cosa, incluido el separador de campo 0x1, pero está precedido por RawDataLength, por lo que debe leerlo primero y luego leer el número de bytes de RawDataLength después de la etiqueta RawData para llegar al siguiente campo.

Creo que quickfixengine usa el diccionario de etiquetas donde puede darse cuenta de que la etiqueta es la primera de un grupo y luego continúa agregando hasta que se golpea la etiqueta que no está en un grupo.

Cuando necesito hacer un análisis personalizado de los mensajes FIX, casi siempre sé exactamente qué mensajes y qué datos esperamos para poder modificarlos para esos mensajes.


El formato FIX es sorprendentemente molesto de analizar (ya que el formato no XML, es decir, el que aún usan casi todos, no tiene marcadores de inicio y fin de subgrupos, en lugar de eso, debe trabajarlo según las reglas de orden de etiquetas y las etiquetas que no están en un subgrupo, el encabezado o la cola pueden estar en cualquier orden).

Así que, en lugar de analizarlo usted mismo, le recomiendo que use una biblioteca existente para hacerlo.

La única opción de código abierto bien mantenida es la QuickFIX/J Java QuickFIX/J

Hay muchas soluciones comerciales, por ejemplo, CameronFIX


No hay una mejor manera de hacerlo, pero dada la etiqueta de corrección rápida que usted o el sistema SO adjunto, un vistazo al motor de FIX de código abierto de QuickFix sería un buen lugar para comenzar.

También hay muchos proveedores comerciales si está en una empresa en la que eso importa o si desea más soporte y servicios.

Buena suerte


a partir del código fuente de quickfixj, usa treeMap para manejar el mensaje FIX.

con respecto al formato XML, creo que FIX es mejor, aunque el análisis es más difícil en Java. coz XML es demasiado pesado.