javifalces/HFTFramework
HFTFramework utilized for research on " A reinforcement learning approach to improve the performance of the Avellaneda-Stoikov market-making algorithm "
何を解決するか
このフレームワークは、高頻度取引(HFT)戦略の開発、バックテスト、デプロイメントに向けたプロフェッショナルレベルのインフラを提供します。細かい研究とライブ実行の間のギャップを埋め、同じコードベースをL2ティックデータのバックテストとライブ市場インターフェースに使用できるようにします。
動作方法
システムはハイブリッドなJavaとPythonアーキテクチャで構築されています。Javaは高性能コア、市場接続、バックテストエンジンを担当し、PythonはZeroMQベースの通信層を通じて戦略開発に使用されます。
- 接続性: 「マーケットエンジン」(例:XChangeによる暗号資産、MetaTrader 5用のカスタムZeroMQゲートウェイ)を使用して、生の市場データを標準化された形式に変換します。
- 戦略実行: パフォーマンス最適化のためJavaでアルゴリズムを記述することも、柔軟性を求める場合はPythonで記述できます。Python戦略はZeroMQ(TCPまたはIPC)を介してJavaコアと通信し、JSONまたはMessagePackでシリアル化できます。
- バックテスト: Parquetファイルを使用したL2ティックレベルのバックテストをサポートしており、シミュレーションがライブ市場の挙動に非常に近づきます。
- モニタリング: Java UI、リアルタイムイベントストリーミング用のWebダッシュボード、JVMおよびポートフォリオパフォーマンス監視用のGrafana統合を備えています。
対象ユーザー
L2マーケットメイキング戦略のテストと、シミュレーションからライブまたは紙取引への移行を必要とする定量研究者およびアルゴリズムトレーダー。
特徴
- 統一されたコードベース: バックテストとライブ取引に同じ論理を使用することで、シミュレーションバイアスを低減します。
- ポリグロット対応: 低遅延ZeroMQトランスポートを用いて、JavaまたはPythonで戦略を記述できます。
- L2の細かさ: ティックレベルでのバックテストにより、高い精度を実現します。
- リアルタイム可視化: 注文簿の可視化用の組み込みWeb UIと、PnLおよびレイテンシ監視用のGrafanaダッシュボード。
- RL対応: 強化学習モデルの学習用にGymnasiumラッパーを含んでいます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト