find-arbitrage-opps について
find-arbitrage-oppsは、Hummingbotに接続した取引所の通貨ペア価格を比較し、裁定取引のスプレッドを探します。代替可能なトークンをまとめて扱え、Gateway経由でDEX価格も任意で含められます。
主な機能
- 01CEXコネクター間の価格比較
- 02代替可能なトークンへの対応
- 03DEX価格の任意取得
- 04最良買値・売値とスプレッド表示
- 05コネクターと最低スプレッドの絞り込み
- 06JSON形式での結果出力
活用シーン
- 01BTCとWBTCの市場比較
- 02各取引所のSOL/USDC価格確認
- 03最低スプレッドによる機会の絞り込み
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ hummingbot/ skills --skill find-arbitrage-oppsインストール後、Claude Code で/find-arbitrage-oppsを入力して読み込まれたか確認します。
同梱ファイルscripts/find_arb_opps.py
詳細
find-arbitrage-opps
Hummingbot に接続されたすべての取引所を対象に、取引ペアの価格を比較して裁定取引の機会を探します。その際、代替可能なトークン(例: BTC = WBTC、USDT = USDC)を考慮します。
前提条件
Hummingbot API が取引所コネクタを設定した状態で実行されている必要があります:
bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/lp-agent/scripts/check_prerequisites.sh)
DEX のサポート
デフォルトでは、スクリプトは Hummingbot API を介して CEX コネクタに問い合わせます。--dex を追加すると、以下のソースからも価格を取得します:
| DEX | チェーン | デフォルトネットワーク |
|---|---|---|
| Jupiter | Solana | mainnet-beta |
| Uniswap | Ethereum | mainnet |
| PancakeSwap | Ethereum (BSC) | bsc |
DEX の価格は Hummingbot Gateway を介して直接取得されます。Gateway が http://localhost:15888 で実行されていることを確認してください(または GATEWAY_URL を設定してください)。
⚠️ BTC 市場は、一部の取引所ではオーストラリア居住者のみが利用できます。検索対象に BTC/WBTC/cbBTC が含まれる場合、警告が自動的に表示されます。
ワークフロー
ステップ 1: トークンマッピングの定義
ユーザーは、代替可能な等価トークンを含めて、基軸トークンとクォートトークンを指定します:
- 基軸トークン: BTC、WBTC、cbBTC(すべて Bitcoin を表します)
- クォートトークン: USDT、USDC、USD(すべて USD を表します)
ステップ 2: 裁定取引の機会を探す
# Basic - CEX only
python scripts/find_arb_opps.py --base BTC --quote USDT
# Include fungible tokens
python scripts/find_arb_opps.py --base BTC,WBTC --quote USDT,USDC
# Include DEX prices (Jupiter + Uniswap via Gateway)
python scripts/find_arb_opps.py --base SOL --quote USDC --dex
python scripts/find_arb_opps.py --base ETH,WETH --quote USDT,USDC --dex
# Minimum spread filter
python scripts/find_arb_opps.py --base SOL --quote USDC --dex --min-spread 0.1
# Filter to specific CEX connectors
python scripts/find_arb_opps.py --base BTC --quote USDT --connectors binance,kraken,coinbase
ステップ 3: 結果の分析
スクリプトは以下を出力します:
- 各 CEX および DEX ソースからの価格
- すべてのソースを通じた最良の買値/売値
- 裁定取引のスプレッド(安く買い、高く売る)
- 裁定取引に推奨されるペア
スクリプトのオプション
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 として出力 |
出力例
============================================================
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)
環境変数
export HUMMINGBOT_API_URL=http://localhost:8000
export API_USER=admin
export API_PASS=admin
export GATEWAY_URL=http://localhost:15888 # for DEX prices
スクリプトは以下の場所で .env を探します: ./hummingbot-api/.env → ~/.hummingbot/.env → .env
要件
- Hummingbot API が実行中であること(CEX 価格の取得用)
- Gateway が実行中であること(
--dexフラグ使用時の DEX 価格取得用) - API キーを設定した取引所コネクタ