Hummingbot
围绕交易所连接器、策略控制器与执行器组织的自动化交易框架,常用于做市研究。
为什么值得学
适合理解持续报价、库存和订单状态如何在异步系统中协调。
数据与控制流程
- 1连接器更新行情
- 2Controller 决策
- 3Executor 管理交易
- 4订单回报
- 5状态反馈
此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。
架构拆解 · 4 个核心模块
每个入口均已核对,点击可阅读源码交易所连接器基础
ExchangeBase 组织交易所行情、订单簿和交易操作的公共能力。
- 输入
- 订阅、交易请求与外部回报
- 输出
- 标准市场数据和订单状态
hummingbot/connector/exchange_base.pyx策略控制器
ControllerBase 持有策略配置与处理数据,并决定需要哪些执行动作。
- 输入
- 市场信息与执行器状态
- 输出
- 创建 / 停止执行器等动作
hummingbot/strategy_v2/controllers/controller_base.py持仓执行器
PositionExecutor 管理一个交易任务从入场到退出的订单过程。
- 输入
- 交易任务和价格更新
- 输出
- 订单状态与交易结果
hummingbot/strategy_v2/executors/position_executor/position_executor.py回测基础
BacktestingEngineBase 将历史数据和控制器接到模拟执行过程。
- 输入
- 控制器配置与历史数据
- 输出
- 模拟执行结果
hummingbot/strategy_v2/backtesting/backtesting_engine_base.py建议阅读顺序
- 先区分 Controller 与 Executor 的职责
- 跟踪 PositionExecutor 的退出条件
- 读 ExchangeBase 的订单簿与事件
- 最后看回测如何模拟同一控制器
动手做一次
在离线或模拟环境中记录一个交易执行器的完整生命周期。
完成后,检查这些证据
- 记录创建、下单、成交与退出事件
- 演示取消或失败路径
- 说明库存、手续费和延迟分别影响哪层
适用边界与版本说明
历史蜡烛回测难以还原真实盘口排队和延迟;主仓库之外还有相关部署产品和工具,不应混成同一个模块。
Star 快照:20,599 · 核验日期:2026-10-20 · GitHub 归档标记:未归档
核验默认分支:master · 源码固定提交:9af100d6822d ↗
来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。