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 预测)等。
如何开始
- 安装依赖项(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)。
适合人群
需要低延迟市场数据处理、期权组合会计和模拟功能的量化开发人员或业余算法交易者。代码面向生产环境(使用 -march=native,支持 Level-II 数据,包含投资组合级损益追踪器),但需要大量设置工作和对 C++ 构建工具的熟悉。
范围 该项目专注于算法交易基础设施,而非 AI 研究。虽然包含一个小型机器学习示例(基于收集数据的 LSTM),但主要重点是市场数据接收、实时分析和订单执行。
相关
- 项目
- 项目
- 项目
- 项目
- 项目