Python を使用して FIX メッセージを解析するにはどうすればよいですか? (「金融」FIX プロトコルのような FIX メッセージ)
6 に答える
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の方が良いと思います。coz XML は重すぎます。
最善の方法は 1 つではありませんが、あなたまたは SO システムが添付したクイックフィックス タグを考えると、QuickFixオープン ソース FIX エンジンを調べることから始めるのが良いでしょう。
それが重要な会社にいる場合、またはより多くのサポートとサービスが必要な場合は、多くの商用ベンダーもあります.
幸運を