Как вы анализируете сообщение FIX с помощью python? (Сообщение FIX, как в финансовом протоколе FIX)
Лучший способ разобрать сообщение FIX?
Ответ 1
Вы имеете в виду, используя QuickFIX? (Я вижу QuickFIX в ваших тегах)
Если это так, я не знаю. Как правило, не сложно написать простой синтаксический анализатор для сообщения FIX. Я обнаружил, что веб-инструменты на valid fix выполняют эту работу.
Ответ 2
Помимо использования реального quickfixengine, легко разобрать сообщение об ошибке, когда вы знаете, что оно содержит определенные теги.
Он содержит 0x1 разделенных пар строк "key = value". Одно из осложнений - это группы, потому что вам нужно понять, что тег является первым в группе (заголовок группы), а затем выясняется, когда группа заканчивается (когда она попадает в другой тег, но не в группе).
Еще одно проблемное поле - это RawData, которое может содержать что угодно, включая разделитель полей 0x1, но ему предшествует RawDataLength, поэтому вам нужно сначала прочитать это, а затем прочитать RawDataLength количество байтов после тега RawData, чтобы перейти к следующему полю.
Я считаю, что quickfixengine использует словарь тегов, где он может понять, что тег является первым из группы, а затем добавляет до тех пор, пока тег не попадет в группу.
Когда мне нужно выполнить индивидуальный синтаксический анализ сообщений FIX, я в основном точно знаю, какие сообщения и какие данные мы ожидаем, поэтому я могу настроить его для этих сообщений.
Ответ 3
Формат FIX на удивление раздражает для синтаксического анализа (поскольку формат не-XML, то есть тот, который все еще используется почти всем, не имеет маркеров начала и конца подгруппы, вместо этого вы должны работать с ним на основе правил упорядочения тегов, и теги, которые не входят в подгруппу, заголовок или хвост могут быть в любом порядке).
Чтобы вместо этого разобрать, я бы рекомендовал использовать существующую библиотеку для этого.
Единственная поддерживаемая опция с открытым исходным кодом - это Java библиотека QuickFIX/J.
Существует множество коммерческих решений, например. CameronFIX
Ответ 4
попробуйте http://fix.nowing.com
это анализатор сообщений на основе веб-страниц
Ответ 5
из исходного кода quickfixj, он использует treeMap для обработки сообщения FIX.
относительно формата XML, я думаю, что FIX лучше, хотя разбор в JAVA сложнее. coz XML слишком тяжелый.
Ответ 6
Нет лучшего способа, но с учетом тега quickfix, который вы либо подключили к системе SO, посмотрите QuickFix механизм FIX с открытым исходным кодом был бы хорошим местом для запуска.
Существует много коммерческих поставщиков, если вы находитесь в компании, где это имеет значение, или если вам нужна дополнительная поддержка и услуги.
Удача