用途
find-arbitrage-opps 用于跨交易所寻找套利机会。它比较同一交易对在不同来源的价格,并考虑可互换代币(例如 BTC = WBTC,USDT = USDC),从而发现低买高卖的机会。
主要能力
- 查询所有 Hummingbot 已连接交易所(CEX)的价格。
- 可选获取 DEX 价格:Jupiter(Solana mainnet-beta)、Uniswap(Ethereum mainnet)、PancakeSwap(Ethereum BSC,默认网络 bsc)。DEX 价格通过 Hummingbot Gateway 直接获取。
- 支持可互换代币映射:基础代币如 BTC、WBTC、cbBTC 均代表比特币;计价代币如 USDT、USDC、USD 均代表美元。
- 输出各 CEX 和 DEX 来源的价格、所有来源中的最佳买价/卖价、套利价差(低买高卖)以及推荐的套利对。
- 支持按最小价差百分比过滤结果。
- 支持将结果输出为 JSON。
- 当搜索包含 BTC/WBTC/cbBTC 时,自动打印警告:某些交易所的 BTC 市场仅对澳大利亚居民开放。
使用方式
前置条件
Hummingbot API 必须正在运行,并已配置交易所连接器。可使用以下命令检查前置条件:
bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/lp-agent/scripts/check_prerequisites.sh)
基本命令
# 仅 CEX
python scripts/find_arb_opps.py --base BTC --quote USDT
# 包含可互换代币
python scripts/find_arb_opps.py --base BTC,WBTC --quote USDT,USDC
# 包含 DEX 价格(通过 Gateway 的 Jupiter + Uniswap)
python scripts/find_arb_opps.py --base SOL --quote USDC --dex
python scripts/find_arb_opps.py --base ETH,WETH --quote USDT,USDC --dex
# 最小价差过滤
python scripts/find_arb_opps.py --base SOL --quote USDC --dex --min-spread 0.1
# 过滤到特定 CEX 连接器
python scripts/find_arb_opps.py --base BTC --quote USDT --connectors binance,kraken,coinbase
脚本选项
python scripts/find_arb_opps.py --help
| 选项 | 描述 |
|---|---|
| --base | 基础代币,逗号分隔(例如 BTC,WBTC) |
| --quote | 计价代币,逗号分隔(例如 USDT,USDC) |
| --connectors | 过滤到特定 CEX 连接器(可选) |
| --dex | 通过 Gateway 包含 DEX 价格(Jupiter + Uniswap) |
| --min-spread | 显示的最小价差百分比(默认:0.0) |
| --json | 以 JSON 输出 |
环境变量
export HUMMINGBOT_API_URL=http://localhost:8000
export API_USER=admin
export API_PASS=admin
export GATEWAY_URL=http://localhost:15888 # 用于 DEX 价格
脚本按以下顺序查找 .env 文件:./hummingbot-api/.env → ~/.hummingbot/.env → .env
输出示例
============================================================
SOL / USDC Arbitrage Scanner
DEX: Jupiter (Solana mainnet-beta), Uniswap (Ethereum mainnet)
============================================================
Lowest: binance $132.4500
Highest: jupiter (DEX) $132.8900
Spread: 0.332% ($0.4400)
Sources: 5 prices from 5 sources
Top Arbitrage Opportunities:
--------------------------------------------------------
1. Buy binance @ $132.4500
Sell jupiter (DEX) @ $132.8900
Profit: 0.332% ($0.4400)
适用场景
- 需要快速扫描多个 CEX 和 DEX 上同一交易对的价格差异。
- 希望将可互换代币(如 BTC/WBTC、USDT/USDC)视为同一资产进行套利比较。
- 需要按最小价差筛选有意义的套利机会。
- 需要以 JSON 格式获取结果以便进一步处理。
限制
- 需要 Hummingbot API 正在运行并配置交易所连接器(用于 CEX 价格)。
- 使用 --dex 时需要 Gateway 运行在 http://localhost:15888(或设置 GATEWAY_URL)。
- 交易所连接器需要配置 API 密钥。
- 某些交易所的 BTC 市场仅对澳大利亚居民开放,脚本会自动打印警告。
- 关于收费、价格、平台支持范围等更多细节,资料中暂未提供。