Hummingbot 第1章:Hummingbot 简介与安装

Hummingbot 是一个开源的加密货币量化交易机器人框架,专注于做市和套利策略。它支持连接各大交易所,通过自动化策略执行交易操作。

什么是 Hummingbot

Hummingbot 由 CoinAlpha 公司于 2019 年创立,是一个用 Python 编写的开源项目。它提供了一系列预置的交易策略模板,用户无需编写大量代码即可快速搭建自己的交易机器人。

核心特性

特性说明
开源免费Apache 2.0 协议,完全开源,社区活跃
多交易所支持支持 20+ CEX 和 DEX 交易所连接
策略模板内置纯做市、跨交易所做市、套利等策略
脚本扩展支持 Python 脚本自定义策略逻辑
回测引擎内置历史数据回测功能,验证策略有效性

适用场景

  • 做市(Market Making):在交易所提供买卖深度,赚取买卖价差
  • 套利(Arbitrage):利用不同交易所之间的价差进行低买高卖
  • 流动性管理:为代币项目提供交易对流动性支持

系统要求

在安装 Hummingbot 之前,需要确认系统满足以下最低要求:

操作系统

操作系统支持状态说明
Ubuntu 20.04+完全支持推荐使用 Linux 服务器部署
macOS 12+完全支持适合开发和测试
Windows 10/11有限支持部分功能受限,建议使用 WSL2

硬件要求

  • CPU:2 核以上(推荐 4 核)
  • 内存:最低 4 GB(推荐 8 GB)
  • 磁盘:至少 10 GB 可用空间
  • 网络:稳定的互联网连接,延迟越低越好

软件依赖

  • Docker(推荐安装方式)或 Python 3.9+
  • Git(源码编译安装时需要)
  • Conda(可选,用于环境管理)

安装方式概述

Hummingbot 提供三种主要的安装方式:

Docker 安装(推荐)

Docker 安装是最简便的方式,所有依赖都封装在容器中:

# 拉取最新镜像
docker pull hummingbot/hummingbot:latest

# 创建数据目录
mkdir -p ~/hummingbot_data

# 运行容器
docker run -it \
  --name hummingbot \
  --network host \
  -v ~/hummingbot_data:/home/hummingbot/data \
  hummingbot/hummingbot:latest

源码编译安装

适合需要二次开发或定制功能的用户:

# 克隆仓库
git clone https://github.com/hummingbot/hummingbot.git
cd hummingbot

# 安装依赖
conda create -n hummingbot python=3.10
conda activate hummingbot
pip install -r requirements.txt

# 编译安装
python setup.py build_ext --inplace
pip install -e .

Conda 一键安装

通过 Conda 包管理器快速安装:

# 创建并激活环境
conda create -n hummingbot python=3.10
conda activate hummingbot

# 使用 pip 安装
pip install hummingbot

验证安装

启动 Hummingbot 后,可以通过以下命令验证安装是否成功:

# 进入交互式终端
hummingbot

# 在 Hummingbot 终端中输入
>>> status

# 如果显示以下信息,说明安装成功:
# ====== Status ======
# Currently not connected to any exchange
# No strategy is currently running

检查版本号

# 使用 Docker
docker exec hummingbot hummingbot --version

# 使用源码安装
hummingbot --version

# 示例输出
# Hummingbot v1.26.0

目录结构

Hummingbot 安装后的主要目录结构如下:

~/hummingbot_data/
├── conf/
│   ├── conf_client.yml      # 客户端配置
│   └── conf_strategy.yml    # 策略配置模板
├── logs/
│   └── hummingbot.log       # 运行日志
├── data/
│   └── ...                  # 交易数据和回测结果
└── scripts/
    └── ...                  # 自定义脚本

社区资源