WebSocket更新によるリアルタイム板情報の管理
コード クオンツ講座ライブラリ
サマリー
この例では、デリバティブ取引所に接続して認証を行い、公開注文板フィードを購読し、認証後に口座関連の非公開ストリームを要求するWebSocketクライアントを説明しています。ワーカーループはメッセージを受信してイベントハンドラーを呼び出し、ソケット障害後に再接続します。別スレッドは定期的にpingフレームを送信します。この例では注文IDをキーとする辞書で買い気配と売り気配の各価格帯を管理し、部分スナップショット、挿入、変更、削除に応じて更新します。
注文板メッセージを受信するたびに、買い気配を高値から安値へ、売り気配を安値から高値へ並べ替え、価格と数量の上位5段までをティック形式の構造体にコピーします。これはリアルタイムの板情報を管理・表示する基本的な方法の例です。レイテンシーの測定値、売買シグナル、執行結果は示されておらず、更新の欠落に対する順序管理や復旧策も抜粋では説明されていません。認証情報がハードコードされているため、このサンプルはそのまま本番環境に導入できません。
主なアイデア
- 非公開ストリームを購読する前に、クライアントはWebSocket経由で認証します。
- ワーカースレッドはメッセージを受信し、ソケットエラー後に再接続する一方、別のスレッドが定期的にpingを送信します。
- 注文板のスナップショットと差分メッセージに応じて、注文IDをキーとする買い気配・売り気配のマップを更新します。
- 買い気配を価格の降順、売り気配を昇順に並べ替え、最良の5段を選びます。
- この例には成績を示す根拠がなく、更新欠落からの復旧や認証情報の安全な管理についても説明がありません。
タグ
個人の講座コレクションに収録された資料です。原文は公開されていません。