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ベースの予測)など。

導入方法

  1. 依存関係をインストール(Debian系:git、wine64、wxWidgets、boost、curl、zlib、hdf5、sqlite、portaudio19-dev、libcrypto++-dev)。
  2. ヘルパーリポジトリ libs-build をクローンし、./build.sh tradeframe を実行して必要なサードパーティライブラリを取得・コンパイル。
  3. このリポジトリをクローンし、buildディレクトリを作成。cmake .. と cmake --build .(DebugまたはRelease)を実行。
  4. IQFeedデーモン(Wine経由)とInteractive Brokers TWSを紙取引モードで起動し、サンプルアプリ(例:IQFeedMarketSymbols、ComboTrading)を実行。

対象者 低遅延市場データ処理、オプション・コンボ会計、シミュレーションにC++基盤が必要な量化開発者または趣味のアルゴリズムトレーダー。コードはプロダクション指向(-march=native使用、Level-IIデータ対応、ポートフォリオレベルのPLトラッカーを含む)だが、大幅なセットアップ作業とC++ビルドツールの知識が必要。

範囲 このプロジェクトはAI研究ではなく、アルゴリズム取引インフラに特化している。小さな機械学習例(収集データ上のLSTM)を含むが、主な焦点は市場データ受信、リアルタイム分析、注文実行にある。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト