交易系统深入

Hummingbot

围绕交易所连接器、策略控制器与执行器组织的自动化交易框架,常用于做市研究。

★ 20,599hummingbot/hummingbot核验 2026-10-20
PythonCython异步事件

为什么值得学

适合理解持续报价、库存和订单状态如何在异步系统中协调。

需要的基础

  • 订单簿与做市
  • 异步编程
  • 订单状态机

涉及哪些内容

交易所连接器控制器执行器做市

数据与控制流程

  1. 1连接器更新行情
  2. 2Controller 决策
  3. 3Executor 管理交易
  4. 4订单回报
  5. 5状态反馈

此流程为教学归纳,便于建立整体认识;完整条件分支与运行细节请对照下方源码。

架构拆解 · 4 个核心模块

每个入口均已核对,点击可阅读源码
MODULE 01

交易所连接器基础

ExchangeBase 组织交易所行情、订单簿和交易操作的公共能力。

输入
订阅、交易请求与外部回报
输出
标准市场数据和订单状态
源码入口 ↗hummingbot/connector/exchange_base.pyx
MODULE 02

策略控制器

ControllerBase 持有策略配置与处理数据,并决定需要哪些执行动作。

输入
市场信息与执行器状态
输出
创建 / 停止执行器等动作
源码入口 ↗hummingbot/strategy_v2/controllers/controller_base.py
MODULE 03

持仓执行器

PositionExecutor 管理一个交易任务从入场到退出的订单过程。

输入
交易任务和价格更新
输出
订单状态与交易结果
源码入口 ↗hummingbot/strategy_v2/executors/position_executor/position_executor.py
MODULE 04

回测基础

BacktestingEngineBase 将历史数据和控制器接到模拟执行过程。

输入
控制器配置与历史数据
输出
模拟执行结果
源码入口 ↗hummingbot/strategy_v2/backtesting/backtesting_engine_base.py

建议阅读顺序

  1. 先区分 Controller 与 Executor 的职责
  2. 跟踪 PositionExecutor 的退出条件
  3. 读 ExchangeBase 的订单簿与事件
  4. 最后看回测如何模拟同一控制器
本站设计的学习练习

动手做一次

在离线或模拟环境中记录一个交易执行器的完整生命周期。

完成后,检查这些证据

  • 记录创建、下单、成交与退出事件
  • 演示取消或失败路径
  • 说明库存、手续费和延迟分别影响哪层

适用边界与版本说明

历史蜡烛回测难以还原真实盘口排队和延迟;主仓库之外还有相关部署产品和工具,不应混成同一个模块。

Star 快照:20,599 · 核验日期:2026-10-20 · GitHub 归档标记:未归档

核验默认分支:master · 源码固定提交:9af100d6822d ↗

来源:GitHub 仓库与 Star 页面、README及上述源文件。分层、阅读顺序与练习为本站归纳;未逐一安装运行这些框架,源码提交不等于推荐安装版本。

同方向继续比较