予測市場 WebSocket API: 安全にライブブックを再構築
ソケット接続は簡単です。シード、デルタ、再接続、および会場固有のケイデンスを通じて正しいブックを維持することが実際のエンジニアリング作業です。
予測市場 WebSocket クライアントは、完全な初期ブック、決定論的な更新順序、ソースと受信のタイムスタンプ、ハートビート処理、およびギャップ後のリカバリパスを必要とします。Polymarket はイベントドリブンな CLOB 更新からキャプチャできます。Kalshi データは別の会場メカニズムを通じて到着する場合があります。正規化されたダウンストリームフレームは、それらのソースの違いを保持し、すべての会場が同じトランスポートを持っていると想定しない場合にのみ役立ちます。
最小限の正しいステートマシン
- サブスクライブする前に、安定した市場と結果の識別子を解決してください。
- 増分変更を適用する前に、完全なブックシードをロードまたは受信してください。
- ドキュメント化されたソース順序で更新を適用し、古い状態を拒否してください。
- 各接続について、ハートビートまたは最終メッセージ時間を独立して追跡してください。
- シーケンスのギャップまたは不確実な再接続の場合、ローカルブックを破棄して再シードしてください。
- ソース時間、受信時間、および明確なスナップショット対デルタフラグをダウンストリームに公開します。
スナップショットとデルタは相互交換できません
スナップショットは状態を置き換えます。デルタはそれを変更します。一方を他方として扱うと、削除されたレベルを保持したり、変更されていないサイズを削除したりしながら、一見もっともらしく見えるブックが生成されます。レベルの挿入、サイズの置換、削除、およびクロスブック拒否について、明示的なテストを作成してください。
ダウンストリームのコンシューマーは、完全なラダーを受信したかどうかを推測する必要はありません。メッセージタイプを含めるか、シンプルさが追加の帯域幅に見合う場合は、正規化された完全ブックフレームを提供します。
会場に配慮した正規化
DepthFeed は CLOB ストリームからの Polymarket をキャプチャし、正規化された観察結果を記録します。Kalshi スポーツおよび暗号通貨ブックは、適用可能な適応型パブリック REST を含む、ドキュメント化された会場固有の収集パスに従います。ダウンストリームスキーマは、メタデータが各ソースがいつどのように観察されたかを識別しながら、一貫性を維持できます。
有料プランでは、DepthFeed の WebSocket は、プラン固有の接続およびサブスクリプション制限を備えた正規化されたライブブックチャネルを提供します。履歴 REST クエリは同じ価格サイズ形状を使用するため、ライブモニタリングとリプレイ間で解析およびフィルロジックを再利用できます。
本番環境での障害テスト
| 障害 | 期待される動作 | 安全でない動作 |
|---|---|---|
| 接続の切断 | 再接続、再シード、既知の状態からの再開 | 古いローカルブックの変更を続行する |
| 重複した更新 | べき等な処理またはソース順序チェック | 残高サイズを倍増する |
| 順序が正しくない更新 | 拒否または再構築 | 証拠なしで到着順序で適用する |
| 遅いコンシューマー | バックプレッシャー、統合または切断ポリシー | 無制限のメモリ成長 |
| 最近の更新がない | 市場ごとの鮮度を公開する | 最後の価格をライブとして報告する |
Key takeaways
- 01デルタが信頼できるブックを形成する前に、完全なシードが存在する必要があります。
- 02再接続の不確実性は、楽観的な継続ではなく、再シードを引き起こすべきです。
- 03ソース時間と受信時間は、異なるレイテンシーに関する質問に答えます。
- 04正規化は、会場固有のキャプチャメタデータを保持する必要があります。
- 05最も安全なライブおよび履歴 API は、1つの明示的なラダー形状を共有します。
ソケット接続は簡単です。シード、デルタ、再接続、および会場固有のケイデンスを通じて正しいブックを維持することが実際のエンジニアリング作業です。
無料で始める