rburkholder/trade-frame
C++ 17 based library (with sample applications) for testing equities, futures, currencies, etfs & options based automated trading ideas using DTN IQFeed real time data feed and Interactive Brokers (IB TWS API) for trade execution. libtorch/lstm/cuda demo. Support for Alpaca & Phemex. Notifications via Telegram.
trade-frame – 高速市場データ、分析および注文実行用のC++フレームワーク
何であるか 低遅延・高容量の取引システムを構築するためのC++17ライブラリと例題アプリケーションのコレクション。コア機能は以下の通り:
- 市場データの受信(IQFeed、Interactive Brokers、Alpaca、Phemex)
- 時系列データの整理、リアルタイムでの指標およびオプション・グリークの計算
- 設定可能な遅延/スリッページを持つ注文フローのシミュレーション
- 注文、ポジション、ポートフォリオ、オプション・コンボのライフサイクル管理
主要コンポーネント
| ライブラリ | 目的 |
|---|---|
TFTimeSeries |
価格、取引、グリーク、Level-IIオーダーブックデータの格納 |
TFOptions |
リアルタイム・グリークエンジンを備えたオプションオブジェクト |
TFTrading |
注文、執行、ポジション、ポートフォリオ管理 |
TFSimulation |
オフラインバックテストエンジン。キャプチャした市場データを50〜100ms遅延キューで再実行 |
TFIQFeed / TFInteractiveBrokers |
市場データおよび証券会社APIへの接続用コンポーネント |
TFIndicators |
一般的なテクニカル分析指標 |
TFHDF5TimeSeries |
時系列データをHDF5ファイルに永続化 |
TFVuTrading |
データおよび注文の可視化用UIウィジェット(wxWidgets) |
OUCharting |
プロット用のChartDirectorラッパー |
OUSQL |
取引記録保存用のSQLite ORM |
例題アプリケーション
- AutoTrade – 自動HFT戦略のテンプレート(初期の機械学習作業を含む)。
- ComboTrading – オプション・コンボのライフサイクル全体を追跡するデモ。
- Collector – ライブのBid/Askティックをディスクにストリーミングし、後でバックテストやモデル学習に使用。
- LiveChart、DepthOfMarket、IndicatorTrading、SP500(libtorchを用いたLSTMベースの予測)など。
導入方法
- 依存関係をインストール(Debian系:
git、wine64、wxWidgets、boost、curl、zlib、hdf5、sqlite、portaudio19-dev、libcrypto++-dev)。 - ヘルパーリポジトリ
libs-buildをクローンし、./build.sh tradeframeを実行して必要なサードパーティライブラリを取得・コンパイル。 - このリポジトリをクローンし、
buildディレクトリを作成。cmake ..とcmake --build .(DebugまたはRelease)を実行。 - IQFeedデーモン(Wine経由)とInteractive Brokers TWSを紙取引モードで起動し、サンプルアプリ(例:
IQFeedMarketSymbols、ComboTrading)を実行。
対象者
低遅延市場データ処理、オプション・コンボ会計、シミュレーションにC++基盤が必要な量化開発者または趣味のアルゴリズムトレーダー。コードはプロダクション指向(-march=native使用、Level-IIデータ対応、ポートフォリオレベルのPLトラッカーを含む)だが、大幅なセットアップ作業とC++ビルドツールの知識が必要。
範囲 このプロジェクトはAI研究ではなく、アルゴリズム取引インフラに特化している。小さな機械学習例(収集データ上のLSTM)を含むが、主な焦点は市場データ受信、リアルタイム分析、注文実行にある。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト