Hummingbot 第6章:交易所连接器

Hummingbot 的连接器(Connector)体系是其核心优势之一,支持 20+ 中心化交易所(CEX)和去中心化交易所(DEX)。

CLOB 交易所连接器

CLOB(Central Limit Order Book)连接器用于连接传统中心化交易所。

支持的 CEX 列表

交易所连接器名称现货合约速率限制
Binancebinance支持支持1200次/分钟
OKXokx支持支持20次/秒
Bybitbybit支持支持50次/秒
KuCoinkucoin支持不支持30次/秒
Gate.iogate_io支持支持300次/分钟
Krakenkraken支持不支持25次/秒
Coinbasecoinbase_exchange支持不支持300次/分钟
Huobihuobi支持不支持100次/秒
Bitfinexbitfinex支持不支持90次/分钟
HitBTChitbtc支持不支持100次/分钟

连接 Binance

# 在 Hummingbot 终端中
>>> connect binance

Enter your binance API key: abcdefghijk1234567
Enter your binance API secret: xyz9876543210abcdefgh

# 成功连接后提示
You are now connected to binance.

连接 OKX

>>> connect okx

Enter your okx API key: your-okx-api-key
Enter your okx secret key: your-okx-secret-key
Enter your okx passphrase: your-okx-passphrase  # OKX 需要密码短语

You are now connected to okx.

连接 Bybit

>>> connect bybit

Enter your bybit API key: your-bybit-api-key
Enter your bybit secret key: your-bybit-secret-key

You are now connected to bybit.

AMM DEX 连接器

AMM(Automated Market Maker)连接器用于连接去中心化交易所。

支持的 DEX 列表

DEX连接器名称区块链特点
Uniswap V3uniswap_v3_ethereumEthereum最流行的 DEX,集中流动性
PancakeSwap V3pancakeswap_v3_bscBSCBSC 上最大的 DEX
QuickSwapquickswap_polygonPolygonPolygon 生态核心 DEX
SushiSwapsushiswap_ethereumEthereum多链部署的 DEX
Trader Joetraderjoe_avalancheAvalancheAvalanche 生态 DEX
Raydiumraydium_solanaSolanaSolana 生态 DEX

Uniswap V3 连接配置

# conf_uniswap_v3.yml
strategy: pure_market_making
exchange: uniswap_v3_ethereum
trading_pair: WETH-USDC

# 链配置
chain: ethereum
network: mainnet

# Gas 配置
gas_limit: 200000
gas_price: 50  # gwei

# 滑点设置
slippage_buffer: 0.5  # 0.5%

Uniswap V3 连接需要额外配置 RPC 节点(通过 Gateway):

# 在 Hummingbot 终端中
>>> gateway connect ethereum

Which blockchain do you want to connect to? ethereum
Enter your ethereum wallet address: 0x...
Enter your ethereum private key: ...
Enter your ethereum node URL (Infura/Alchemy): https://mainnet.infura.io/v3/your-project-id

连接器配置

API 密钥管理

交易所 API 密钥存储在本地配置文件中,建议设置严格的文件权限:

# 密钥存储位置
~/.hummingbot.yml
# 或
~/hummingbot/conf/conf_client.yml

# 设置文件权限
chmod 600 ~/.hummingbot.yml

多账户配置

Hummingbot 支持在同一实例中管理多个交易所账户:

# conf_client.yml 中的多账户配置
exchanges:
  binance_1:
    api_key: "key_1"
    api_secret: "secret_1"
  binance_2:
    api_key: "key_2"
    api_secret: "secret_2"
  okx:
    api_key: "key_3"
    api_secret: "secret_3"
    passphrase: "passphrase"

连接参数详解

参数类型说明
api_keystring交易所 API Key
api_secretstring交易所 Secret Key
passphrasestringOKX 等交易所需要密码短语
memostring部分交易所的备注标识
trading_pairstring交易对格式(交易所无关)
rate_limitsbool是否启用限速(默认启用)

费率说明

CEX 交易费率

交易所Maker 费率Taker 费率备注
Binance0.10%0.10%BNB 抵扣可打折
OKX0.08%0.10%持有 OKB 可折扣
Bybit0.01%0.06%VIP 等级越高费率越低
KuCoin0.08%0.10%KCS 抵扣可打折
Gate.io0.10%0.15%GT 抵扣可打折

连接器性能测试

测试交易所连接延迟:

# 在 Hummingbot 中测试连接速度
>>> connect -t binance

Testing connection to binance...
Ping: 45ms
WebSocket: connected
Order book: synced (5000 bids, 5000 asks)
Trading capabilities: OK

连接器故障排除

问题可能原因解决方法
API 认证失败Key/Secret 错误重新生成 API 凭证
IP 白名单未添加 IP 到白名单在交易所后台添加服务器 IP
余额不足交易对基础币/计价币不足向交易所充值
交易对不支持未启用交易权限在 API 设置中开启交易权限
请求频率限制超过 API 限速减少机器人数量或降低频率