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–100 毫秒延迟队列重放捕获的市场数据
TFIQFeed / TFInteractiveBrokers 连接市场数据和经纪商 API 的连接器
TFIndicators 常见的技术分析指标
TFHDF5TimeSeries 将时序数据持久化到 HDF5 文件
TFVuTrading 用于可视化数据和订单的 UI 小部件(wxWidgets)
OUCharting 用于绘图的 ChartDirector 包装器
OUSQL 用于交易记录存储的 SQLite ORM

示例应用程序

  • AutoTrade – 自动化 HFT 策略的模板(包含早期机器学习工作)。
  • ComboTrading – 演示如何跟踪多腿期权组合的完整生命周期。
  • Collector – 将实时买卖盘数据流式传输到磁盘,供后续回测或模型训练使用。
  • 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)。

适合人群 需要低延迟市场数据处理、期权组合会计和模拟功能的量化开发人员或业余算法交易者。代码面向生产环境(使用 -march=native,支持 Level-II 数据,包含投资组合级损益追踪器),但需要大量设置工作和对 C++ 构建工具的熟悉。

范围 该项目专注于算法交易基础设施,而非 AI 研究。虽然包含一个小型机器学习示例(基于收集数据的 LSTM),但主要重点是市场数据接收、实时分析和订单执行。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目