Hummingbot 第6章:交易所连接器
Hummingbot 的连接器(Connector)体系是其核心优势之一,支持 20+ 中心化交易所(CEX)和去中心化交易所(DEX)。
CLOB 交易所连接器
CLOB(Central Limit Order Book)连接器用于连接传统中心化交易所。
支持的 CEX 列表
| 交易所 | 连接器名称 | 现货 | 合约 | 速率限制 |
|---|---|---|---|---|
| Binance | binance | 支持 | 支持 | 1200次/分钟 |
| OKX | okx | 支持 | 支持 | 20次/秒 |
| Bybit | bybit | 支持 | 支持 | 50次/秒 |
| KuCoin | kucoin | 支持 | 不支持 | 30次/秒 |
| Gate.io | gate_io | 支持 | 支持 | 300次/分钟 |
| Kraken | kraken | 支持 | 不支持 | 25次/秒 |
| Coinbase | coinbase_exchange | 支持 | 不支持 | 300次/分钟 |
| Huobi | huobi | 支持 | 不支持 | 100次/秒 |
| Bitfinex | bitfinex | 支持 | 不支持 | 90次/分钟 |
| HitBTC | hitbtc | 支持 | 不支持 | 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 V3 | uniswap_v3_ethereum | Ethereum | 最流行的 DEX,集中流动性 |
| PancakeSwap V3 | pancakeswap_v3_bsc | BSC | BSC 上最大的 DEX |
| QuickSwap | quickswap_polygon | Polygon | Polygon 生态核心 DEX |
| SushiSwap | sushiswap_ethereum | Ethereum | 多链部署的 DEX |
| Trader Joe | traderjoe_avalanche | Avalanche | Avalanche 生态 DEX |
| Raydium | raydium_solana | Solana | Solana 生态 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_key | string | 交易所 API Key |
api_secret | string | 交易所 Secret Key |
passphrase | string | OKX 等交易所需要密码短语 |
memo | string | 部分交易所的备注标识 |
trading_pair | string | 交易对格式(交易所无关) |
rate_limits | bool | 是否启用限速(默认启用) |
费率说明
CEX 交易费率
| 交易所 | Maker 费率 | Taker 费率 | 备注 |
|---|---|---|---|
| Binance | 0.10% | 0.10% | BNB 抵扣可打折 |
| OKX | 0.08% | 0.10% | 持有 OKB 可折扣 |
| Bybit | 0.01% | 0.06% | VIP 等级越高费率越低 |
| KuCoin | 0.08% | 0.10% | KCS 抵扣可打折 |
| Gate.io | 0.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 限速 | 减少机器人数量或降低频率 |