|
|
Four Hearts は、FIX ワイヤを型付きセッション・オブジェクトへ変換する仕様駆動のマイクロ秒クラス Java FIX カーネルです。本番実績があり、2026年に再検証済み。QuickFIX/J および FIX Antenna Java との 9 通り ESP マトリックスで最速セルを記録し、すべてのクロスエンジン組み合わせがワイヤ上で動作することを確認しました。
課題
銀行・ブローカーは依然として FIX でカウンターパーティ接続を構築しますが、多くのスタックは痛みのあるトレードオフを強います。
- オープンソース(QuickFIX/J)— 安価だが遅い、タグスープ、運用負荷
- 商用製品 — 高速だが高価、API は依然タグ指向のことが多い
- 社内開発 — ダイアレクト保守に数年、脆いセッション層
チームが必要とするのは、低レイテンシ、安定したメモリ特性、クリーンな統合— カウンターパーティごとにセッション機構を作り直すことなく。
4H の答え
- 仕様言語 + コード生成 — ダイアレクトを一度定義し、型付き Java を生成。メッセージはワイヤ上のデータ、振る舞いはアプリ側。
- セッション・パイプライン — FIX バイト列を型付きセッション・メッセージへ。一度配線する pub/sub カーネル。
- 組み込み可能なマイクロカーネル — モノリシックサーバではなくライブラリ。プロセス構成はお客様が決める。
- 実績あるカバレッジ — Barclays、Deutsche、Citi、GS、Morgan Stanley、Currenex、Commerzbank、Lucid、Traiana ほか。
性能 — マーケティングではなく計測
正直な ESP ベンチマーク ExampleBankFlow:繰り返しグループ、ドリフトする FX ミッド、ウォッチリスト、現実的なクリップ(1M〜10M)。_4h、QuickFIX/J 2.3.2、FIX Antenna Java 2.27.0 で同一ペイロード。
9 通りクライアント×サーバ・マトリックス(p50 中央値、µs)
ウォームアップ 5,000 · 計測 50,000 イテレーション · セルあたり 3 回実行 · クロスエンジンは別 JVM
| client \ server | _4h | QuickFIX/J | FIX Antenna |
|---|---|---|---|
| _4h | 21.6 | 104.3 | 93.7 |
| QuickFIX/J | 94.2 | 77.0 | 83.0 |
| FIX Antenna | 89.9 | 84.4 | 63.5 |
| ハイライト | 結果 |
|---|---|
| マトリックス全体の最速セル | _4h クライアント + _4h サーバ — p50 21.6 µs、38,106 ops/s |
| クライアントとして最良平均 | _4h 73.2 µs(QFJ 84.7、Antenna 79.3) |
| サーバとして最良平均 | _4h 68.6 µs(QFJ 88.6、Antenna 80.1) |
| クロスエンジン相互運用 | 9 セルすべて TCP で成功(対角外 ~84–104 µs) |
| _4h 対角の安定性 | 3 回: 25.2 / 21.6 / 18.1 µs → 中央値 21.6 µs |
ハイライト数値の算出方法(
ExampleBankMatrixRunner → examplebank-matrix.txt):
- 最速セル — 9 通りの client×server のうち p50 が最小の 1 セル(本例: _4h↔_4h の 21.6 µs)。
- クライアントとして最良平均 — そのエンジンがクライアントのときの 行 3 セルの p50 の算術平均。_4h: (21.6 + 104.3 + 93.7) ÷ 3 = 73.2 µs。
- サーバとして最良平均 — そのエンジンがサーバのときの 列 3 セルの p50 の算術平均。_4h: (21.6 + 94.2 + 89.9) ÷ 3 = 68.6 µs。
ミーティング用フレーズ
「9 通り測った最速のクォート経路。」 すべてのエンジンをクライアント・サーバの両方で組み合わせ。4H↔4H が 21.6 µs — 単一ベンチの抜粋ではない。
「送信側・受信側のどちらでも最速クラス。」 同一マトリックスでクライアント平均・サーバ平均の両方が最低。
「相互運用はスライドではなくテストスイート。」 6 組のクロスエンジンが同一グループ ESP ペイロードで TCP 成功。
「商用ベースラインの約 3 倍速(正直な経路で)。」 同質ダイアゴナルで 21.6 µs vs Antenna 63.5 µs、QFJ 77.0 µs。
「御社の環境で再現可能。」
./gradlew :engine:examplebankMatrix でフルレポート取得。
「Four Hearts は、型付きセッション層を備えた商用クラスの Java FIX レイテンシを提供します。9 通りすべて — あらゆるクライアント対サーバの組み合わせで QuickFIX/J と FIX Antenna と同一 ESP ペイロードを計測しました。4H は 21.6 マイクロ秒で最速セルを獲得し、クライアント・サーバ両方の平均でトップ、すべてのクロスエンジン・ペアがワイヤ上で動作しました。電子取引に必要な速度、長年の本番運用に耐えるアーキテクチャ、そしてベンダーのエコー試験ではなく御社ハードウェアで再実行できるベンチマーク — それが 4H です。」
正直な但し書き: 生パースはタグ指向エンジンが有利(Antenna ~0.6 µs vs _4h ~5 µs)。クロスエンジン・セルは全スタックで ~84–104 µs — 速度の主張には同質ダイアゴナルを引用。サブ 5 µs や「世界最速 FIX」は主張しません。