Hummingbot:开源高频加密货币交易机器人框架
Hummingbot 是一个开源框架,用于设计并部署可运行在众多中心化或去中心化交易所上的自动化交易策略(机器人)。代码库基于 Apache 2.0 许可证免费公开,提供 hbot 命令行、Docker 部署、交互式 TUI 客户端、策略框架(Scripts/Controllers/Executors/V1 策略)以及覆盖 CLOB CEX、CLOB DEX、AMM DEX 的交易所连接器。
社区作者 · zZz
它解决什么问题
Hummingbot 是一个开源框架,帮助你设计并部署自动化交易策略(即机器人),可运行在多种中心化或去中心化交易所上。过去一年中,Hummingbot 用户在 140 多个交易场所产生了超过 340 亿美元的交易量。
代码库在 Apache 2.0 开源许可证下免费公开。项目使命是通过建立共享知识、共同贡献代码库的全球算法交易者与开发者社区,让高频交易大众化。
快速链接:官网与文档、安装文档、Discord 社区、YouTube 教程、Twitter 公告、Reported Volumes(所有 Hummingbot 实例的交易量统计)、Newsletter(新版本发布通知)。
入门方式: 1)Condor(AI harness):用于构建和运行 agentic 策略与机器人实例的 AI 框架,通过 Hummingbot API 将 LLM 驱动的决策连接到确定性交易执行,可通过 Telegram 或其 Web 仪表盘控制,见 condor.hummingbot.org。
2)hbot CLI:直接运行 Hummingbot 客户端的推荐方式,从源码安装,以非交互方式运行、控制与监控交易机器人——启动/停止机器人、编写与调优配置、读取交易、PnL、日志与状态,全部可脚本化,输出为紧凑 Markdown 并带稳定退出码。 3)Docker:容器方式与源码方式命令一致。 4)Interactive Client(TUI):经典全屏客户端,是 Docker 默认方式,也可从源码运行。
策略框架(Strategies):
- Scripts:单文件 Python 策略,最易上手和自定义,例如 simple_pmm.py(基础做市脚本)。
- Controllers:可复用的 V2 策略,配置可回测、部署,并可在运行中实时调优,例如 pmm_mister.py(功能完整的做市控制器)。
- Executors:自包含构建块,管理常见模式的订单生命周期——position、DCA、grid、arbitrage、XEMM、TWAP 和 LP,例如 position_executor(以三重障碍风控管理方向性仓位)。
- V1 Strategies:经典旧版策略,如 Pure Market Making、Avellaneda Market Making、Cross-Exchange Market Making,例如 cross_exchange_market_making(在一个交易所做市、在另一个交易所对冲成交)。
交易所连接器(Exchange Connectors):Hummingbot 连接器将不同交易所的 REST 与 WebSocket API 接口标准化,使策略可跨众多交易所以最小改动部署。连接器分为三类:
- CLOB CEX:托管资金的中心化限价订单簿交易所,通过 API 密钥连接,分 Spot(现货)与 Perpetual(永续合约)。
- CLOB DEX:链上中心化限价订单簿的去中心化交易所,非托管,通过钱包密钥连接,分 Spot 与 Perpetual。
- AMM DEX:采用自动做市商协议的去中心化交易所,非托管,通过 Gateway 中间件连接,分 Router(DEX 聚合器,寻找最优兑换路径)、AMM(传统恒定乘积 x*y=k 池)、CLMM(可自定义价格区间的集中流动性做市池)。
交易所赞助方(通过 broker 合作与赞助支持项目开发与维护):Backpack、Binance、Bitget、Derive、Gate.
io、Hyperliquid、KuCoin、Meteora、OKX、Orca、XRP Ledger,分别给出类型、子类型与连接器 ID(如 binance、binance_perpetual、gate_io、gate_io_perpetual、kucoin、kucoin_perpetual、okx、okx_perpetual、hyperliquid、hyperliquid_perpetual、backpack、backpack_perpetual、bitget、bitget_perpetual、derive、derive_perpetual、meteora、orca、xrpl 等)。
其他交易所连接器:master 分支还包含通过 Hummingbot Foundation 治理流程维护更新的连接器,包括 0x Protocol、Aevo、Architect、Balancer、BingX、Bitrue、Bitstamp、BTC Markets、Bybit、Coinbase、Curve、Decibel、Dexalot、DFlow、dYdX、EVEDEX、Foxbit、Gemini、GRVT、HTX(Huobi)、Injective Helix、Jupiter、Kraken、Lambdaplex、Lighter、MEXC、NDAX、OKX DEX、Pacifica、PancakeSwap、Raydium、Titan、Uniswap 等,均列出类型、子类型与连接器 ID。
其他 Hummingbot 仓库:Condor(构建和运行 agentic 策略与机器人实例的 AI harness)、Hummingbot API(运行 Hummingbot 交易机器人的中央枢纽)、Gateway(面向 DEX 连接器的 TypeScript API 客户端)、Hummingbot Site(官方文档,欢迎贡献)。
获取帮助:查阅 FAQ、Troubleshooting Guide 或 Glossary;提交 GitHub issue 报告 bug 或建议功能;加入 Discord 社区在 #support 频道提问。项目承诺不会将你提供的信息/数据用于交易目的,也不会与第三方共享。
贡献:Hummingbot 架构包含模块化组件,可由社区成员维护与扩展,欢迎社区贡献,提交 PR 前请阅读贡献指南;交易所若要接入官方连接器,可参见 How to Add a Hummingbot Connector。
法律:许可证为 Apache 2.0;数据收集说明见 Reporting(Hummingbot 中的匿名数据收集与上报)。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
来源明确给出的安装与使用步骤整理如下。
一、hbot CLI(推荐的源码安装方式) 前置要求:需要 Anaconda 或 Miniconda。
- 克隆仓库并进入目录:
git clone https://github.com/hummingbot/hummingbot.gitcd hummingbot- 创建 conda 环境、构建扩展并暴露 hbot CLI:
make install- 激活环境:
conda activate hummingbothbot --help
- 若希望在 conda 环境之外使用 hbot,运行 make link-cli 将其加入宿主 PATH。
- 首次使用:hbot 会提示输入 keystore 密码,用于加密交易所 API 密钥;如需非交互运行(脚本或 agent 工作流),设置 HBOT_PASSWORD 或传入 --password-stdin。
hbot create simple_pmm --name conf_paper_bot.yml --set exchange=binance_paper_trade --set trading_pair=BTC-USDT hbot start conf_paper_bot.yml # 运行(每次安装只能运行一个机器人) hbot status # 查看状态 hbot stop # 优雅停止
hbot connect binance # 存储 API 密钥(加密) hbot create pmm_mister --name conf_my_bot.yml --set connector_name=binance --set trading_pair=BTC-USDT --set total_amount_quote=100 hbot start conf_my_bot.yml 完整命令参考与本体说明见 hbot CLI guide。
- 创建配置并运行 simple_pmm 纸面交易脚本(对接实时 Binance 行情进行模拟交易,无需 API 密钥):
- 实盘交易:连接交易所 API 密钥并运行策略控制器(如 pmm_mister,可复用的 V2 策略,运行期间可实时调参):
二、Docker 安装 前置要求:安装 Docker Compose。
步骤 1
git clone https://github.com/hummingbot/hummingbot.gitcd hummingbot步骤 2
make setup # 对 “Include Gateway?” 回答 y 可加入 DEX 中间件步骤 3
make deploy # 启动容器(默认是交互式客户端)
步骤 4
make link-cli # 将 hbot 命令放入宿主 PATH(分发进入容器)
- hbot --help # 与源码安装命令相同
说明
make link-cli 会安装一个小包装器,在容器内运行 hbot,因此源码安装与 Docker 安装后上述命令完全一致;也可以跳过它,直接用 docker exec -it hummingbot hbot <command>。若要让容器专门用于 hbot 而非交互式客户端,在 make deploy 前取消 docker-compose.yml 中 command: tail -f /dev/null 的注释,详见 Running in Docker。三、交互式客户端(TUI)
经典全屏客户端是 Docker 默认方式
make deploy,然后 docker attach hummingbot;或从源码运行:make install && make run。若包含 Gateway,会以开发模式启动(未加密 HTTP);生产环境 HTTPS 需使用 DEV=false 标志并运行 gateway generate-certs。详见 Development vs Production Modes。四、常见问题与排障
- 更完整的安装说明与故障排查请访问官方 Installation 文档。
- 遇到问题可查阅 FAQ、Troubleshooting Guide 或 Glossary;报告 bug 或建议功能请提交 GitHub issue;也可加入 Discord 社区在 #support 频道提问。
- 非交互运行必须通过 HBOT_PASSWORD 或 --password-stdin 提供 keystore 密码,否则会卡在密码提示。
- 每次安装一次只能运行一个机器人(one bot per install)。