python?( 'financial' FIX ProtocolのようなFIXメッセージ)を使用してFIXメッセージをどのように解析しますか?
quickFIXを使用するという意味ですか? (私はあなたのタグでQuickFIXを見ることができます)
もしそうなら、私にはわかりません。一般に、FIXメッセージ用の単純なパーサーを作成することは難しくありません。 有効な修正 のWebツールがその仕事をしていることがわかりました。
実際のquickfixengineを使用する以外に、特定のタグが含まれていることがわかっている場合は、修正メッセージを簡単に解析できます。
'key = value'文字列の0x1で区切られたペアが含まれています。タグがグループの最初(グループヘッダー)であることを把握してから、グループがいつ終了するか(グループ内にない別のタグにヒットしたとき)を把握する必要があるため、1つの問題はグループです。
もう1つの問題のあるフィールドは、フィールド区切り文字0x1を含むすべてを含むことができるRawDataですが、その前にRawDataLengthがあるため、最初にそれを読み取り、次にRawDataタグの後にRawDataLengthバイト数を読み取って次のフィールドに移動する必要があります。
Quickfixengineはタグの辞書を使用して、タグがグループの最初であることがわかり、グループにないタグにヒットするまで追加し続けると思います。
FIXメッセージのカスタム解析を行う必要がある場合、私はほとんどの場合、どのメッセージとどのデータを期待するかを正確に知っているので、それらのメッセージ用に微調整できます。
FIX形式は驚くほど解析が面倒です(非XML形式、つまりほとんどすべての人がまだ使用している形式にはサブグループの開始マーカーと終了マーカーがないため、代わりにタグの順序付けルールとタグに基づいて計算する必要がありますサブグループに含まれていない場合、ヘッダーまたはテールは任意の順序にすることができます)。
したがって、自分で解析するのではなく、既存のライブラリを使用して解析することをお勧めします。
手入れの行き届いたオープンソースオプションは、Java QuickFIX/J ライブラリだけです。
多くの商用ソリューションがあります。 CameronFIX
試してください http://fix.nowing.com
これはWebベースの修正メッセージパーサーです
quickfixjソースコードから、treeMapを使用してFIXメッセージを処理します。
xML形式に関しては、Javaでは解析が難しいですが、FIXの方が優れていると思います。 cozXMLは重すぎます。
誰も最良の方法はありませんが、あなたまたはSOシステムが添付されている)のquickfixタグを考えると、 at QuickFix オープンソースのFIXエンジンから始めるのが良いでしょう。
それが重要な会社にいる場合、またはより多くのサポートとサービスが必要な場合は、多くの商用ベンダーもあります。
幸運を