Binance永久スワップL3オーダーブック推定ツール
概要
「binance_l3_est」は、Binance取引所の永久スワップ商品におけるレベル2(L2)オーダーブックデータの時間的変化を利用して、レベル3(L3)オーダーブックのマイクロ構造を推定・可視化するツールです。L3データとは、各注文の個別情報まで含む詳細な注文帳簿を指しますが、Binanceは公式にL3データを提供していません。このため、本プロジェクトではL2の変化情報からL3相当の情報を「推定」することを試みています。Rust言語で実装されており、BinanceのWebSocket APIを介したリアルタイムデータストリーミングを活用。注文の出現や消失、価格帯ごとの変動を観察し、より詳細な市場の動きを理解できるように設計されています。
リポジトリの統計情報
- スター数: 17
- フォーク数: 1
- ウォッチャー数: 17
- コミット数: 7
- ファイル数: 5
- メインの言語: Rust
主な特徴
- BinanceのWebSocket APIを用いたリアルタイムのオーダーブックデータストリーミング
- L2オーダーブックの時間的変化からL3オーダーブックの注文単位の変動を推定
- DOGEUSDT永続スワップ市場の買い(Bid)と売り(Ask)注文を視覚的に表示
- Rustで高性能かつ効率的に実装されており、軽量で高速な処理が可能
技術的なポイント
本プロジェクトの最大の技術的特徴は、L2オーダーブックの変化のみを利用してL3オーダーブックの詳細を推定しようとしている点にあります。通常、L3オーダーブックは注文IDごとの個別注文情報を含み、より微細な市場の動きを把握可能です。しかしBinanceは公式にL3データを提供していないため、開発者はL2の厚み(価格帯ごとの注文量)とその変動に着目しました。
具体的には、L2データの価格帯ごとの注文量変化を時間軸で追い、注文の追加やキャンセル、約定(トレード)により変化した量の差分から、個々の注文の動きを「推定」します。これはいわゆる「naive(単純)モデル」であり、将来的にはより複雑な統計モデルや機械学習を導入して精度向上を目指す構想も示されています。
加えて、Rust言語の採用により、パフォーマンス面でのメリットが大きいです。Rustの強力な型安全性と非同期処理を活かし、WebSocketを通じた大量のリアルタイムデータを効率よく扱い、遅延なくビューへ反映できる設計となっています。これにより、トレーダーや研究者が市場の細かな動きをリアルタイムに監視する用途に適しています。
また、視覚化部分ではBid/Askの価格帯ごとの注文量推定をグラフィカルに表示し、市場の需給バランスや流動性の変動を直感的に把握できるようになっています。これは特に高速取引や高頻度トレードの解析、マーケットメイキング戦略の検証に有用です。
さらに、BinanceのWebSocket APIをフル活用し、接続の再確立やエラーハンドリング、メッセージの整合性維持といったネットワークレベルの堅牢性にも配慮されています。これにより、長時間安定してリアルタイムデータを取得・処理可能です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: Git管理対象から除外するファイルを指定
- Cargo.toml: Rustのパッケージ管理設定ファイル
- README.md: プロジェクトの概要・利用方法等の説明書
- demo.gif: ツールの動作イメージを示すデモGIF
- src: ソースコード格納ディレクトリ
まとめ
BinanceのL2データからL3オーダーブックを推定するユニークなリアルタイム解析ツール。
リポジトリ情報:
- 名前: binance_l3_est
- 説明: Uses L2 data’s change in time to estimate a L3 order book microstructure on Binance
- スター数: 17
- 言語: Rust
- URL: https://github.com/OctopusTakopi/binance_l3_est
- オーナー: OctopusTakopi
- アバター: https://avatars.githubusercontent.com/u/177598040?v=4