ステーブル間金利スプレッド裁定の実践:USDT/USDCで収益を積み上げる運用設計と完全手順

暗号資産

本稿では、USDT/USDCなどのステーブルコイン間で生じる「金利スプレッド」を捉え、相場方向に依存しにくい収益を狙う裁定(アービトラージ)戦略を、初期設計から実行・監視・終了手順まで一気通貫で解説します。
具体的には、CEX/DEXの金利やプール利回り、借入コスト、スワップ手数料、ブリッジ費用等を加味したネット利回りを確定的に評価し、「いつ・どこで・どのサイズで・どの順で」回すべきかを数式と実務フローで示します。

スポンサーリンク
【DMM FX】入金

戦略の狙いと前提

伝統的なキャリー取引に近い考え方で、低コスト資金を調達し、高利回りの運用先へ資金を配分します。ここで言う「低コスト資金」とは、たとえばAaveやCEXでのUSDT借入年率など、「高利回り運用先」とはAave/Compound/Curve等でのUSDC預入年率などです。通貨はいずれもドルペッグのステーブルであり、価格変動リスクを極小化したまま利回り差分を取りに行くのが基本思想です。

重要コンセプト

金利スプレッド(利回り差)

ネットAPR(年率)は概ね次式で近似します:

Net APR ≒ Lend APR(受取) − Borrow APR(支払) − 手数料年率換算 − スリッページ影響

  • Lend APR: 預入先の公表APY/APR。報酬トークン付与やブーストがある場合は現金換算したうえで引当。
  • Borrow APR: 借入側の変動金利。利用率や市場コンディションで変動。
  • 手数料: スワップ、ブリッジ、入出金、ネットワーク手数料(ガス代)など。回転頻度に応じて年率換算。
  • スリッページ: 約定価格の滑り。サイズが大きいほど影響。

市場の分節

  • CEX系: 先物口座の資金調達やマージン、Earn商品。
  • DEX/Money Market系: Aave、Compound、Spark、Curve等。AMMや貸借マーケットの需給によって金利が更新。
  • ネットワーク/チェーン選定: Ethereum、Arbitrum、Optimism、Base、Polygon、BSCなど。ガス/流動性/ブリッジリスクでトレードオフ。

典型シナリオ(USDT→USDC)

  1. USDTを年率3%で借入(Aave/CEXなど)。
  2. USDT→USDCにスワップ(手数料・スリッページ0.02〜0.20%想定)。
  3. USDCを年率6%で預入(Aave/Compound/CeFiなど)。
  4. 差分=約3% − 手数料年率 − スリッページ影響がネット利回り。

必要に応じて、USDT借入→USDC預入の逆(USDC借入→USDT預入)や、CEX借入→DEX運用のクロス市場も検討します。

数式でみる損益分岐

以下の変数を置きます:

  • B: 借入元本(USDT)
  • r_b: 借入年率(APR)
  • r_l: 預入年率(APR)
  • f_s: スワップ・ブリッジ等のコスト(比率、往復合算)
  • g: ガス・固定費の年率換算

単純化すれば、Net ≒ B × (r_l − r_b) − B × f_s − B × g
損益分岐は r_l − r_b > f_s + g を満たすこと。つまり利回り差が、手数料と固定費の合計を上回るサイズで初めて裁定が成立します。

実行フロー(業務手順)

1. ウォレット/口座の準備

  • ハードウェアウォレットで自己保管体制を基本に、CEXは必要最低限の滞留にする。
  • 主要チェーンのRPC、ガス代(ETH/BNB/AVAXなど)を最低限補充。

2. 入金と在庫設計

  • 当面の回転に必要な在庫(USDT/USDC)とガス、担保(例:ETHやstETH)を設計。
  • チェーン跨ぎ(L1↔L2)の場合は、ブリッジ信用リスクを考慮し、ロック&ミント/バーン&ミント方式を使い分け。

3. 金利ソースの収集

  • 貸借市場(Aave/Compound等)の供給APR/借入APR、AMMプールのLP実効APRを収集。
  • CeFiのEarn商品が絡む場合は、償還条件・ロック期間・途中解約手数料を必ず確認。

4. スプレッド検知と閾値

  • Trigger = (r_l − r_b) − (f_s + g)閾値θ(例:年率1.0%)を超えたら執行。
  • 閾値はサイズ依存(金額が大きいほどスリッページ/ブロックフィーが効く)。

5. 執行設計(スリッページ最小化)

  • DEXスワップはスマートルーティング(アグリゲータ)やTWAPで分割執行。
  • CEXは指値主体、ただし機会損失を避けるために一部は成行も許容。
  • サイズが大きい時は、AMMの価格影響を計算(価格曲線)し、複数プールに分散

6. モニタリングと終了条件

  • 金利差縮小で Trigger < 0 が一定期間続けばポジション解消
  • 借入側の金利急騰(利用率上昇)が出たら緊急リバランス
  • USDT/USDCのデペグ兆候(AMM価格逸脱、流出入フロー偏り)を監視。

リスク管理(必ず読む)

デペグ(ペッグ乖離)

  • 単一ステーブル集中は避け、バスケット構成(USDT/USDC/DAI等)や、ヘッジ(短期先物/オプション)を検討。
  • AMMのステーブルプールで価格逸脱が検知されたら即時にバランス修正。

スマートコントラクト/プロトコルリスク

  • 監査済みプロトコルの利用、預入分散権限管理(Permit/Allowanceの定期見直し)。
  • 報酬トークンの価格変動・流動性がAPRに与える影響を控えめに見積もる。

流動性/引出制限

  • ロック期間・クールダウン・CeFiの引出規約を確認。資金繰り表で納期を可視化。

レート変動

  • 借入金利が上がるとスプレッドは縮小。金利感応度(dNet/d r_b)を前提に上限金利を定義。

サイズ最適化とKPI

  • Risk Budget: デペグ時の想定損失×確率で上限サイズを決める。
  • Carry Drawdown: ネットAPRが一時的に0%近辺まで低下した期間の長さを計測。
  • 利用率リスク: Money Marketの利用率が閾値超えで金利ジャンプが起こる点に注意。

数値例(手計算で検証)

想定:B=100,000 USDT、r_b=3.0%、r_l=6.0%、f_s=0.20%、g=0.10%。
Net ≒ 100,000 × (0.060 − 0.030) − 100,000 × 0.002 − 100,000 × 0.001 = 100,000 × 0.027 = 2,700(年額USDT)。
月間目安 ≒ 225 USDT。スプレッド縮小や手数料上振れに耐えるには、閾値を保守的に(例:1.0%以上)。

拡張アイデア

  • レバレッジ・ループ: 預入→借入→預入の繰り返し。ただし清算閾値と変動金利急騰に注意。
  • クロスマーケット: CEX借入×DEX運用、DEX借入×CEX運用で異常値を狙う。
  • ボラ耐性設計: 0DTEイベント(CPI/FOMC)前後はレートが動きやすいのでサイズを抑制。

自動化の基本ロジック(擬似コード)

// Pseudo
while true:
    r_b = fetch_borrow_apr("USDT", marketA)
    r_l = fetch_lend_apr("USDC", marketB)
    fees = est_swap_fee("USDT","USDC",size) + est_bridge_fee(chainA, chainB) + gas_to_apr()
    trigger = (r_l - r_b) - fees
    if trigger > theta:
        size = size_fn(trigger, risk_budget)
        exec_borrow("USDT", size, marketA)
        exec_swap("USDT","USDC", size, route="smart", twap=True)
        exec_deposit("USDC", size, marketB)
        log_position()
    sleep(60)  // 更新間隔

よくある失敗と対策

  • 金利の名目値だけ見てしまう: 手数料年率換算を怠ると逆ザヤ。
  • サイズ入れ過ぎ: AMMで価格を動かしてしまい、スプレッドの旨味が消える。
  • 単一チェーン集中: 停止や混雑で引出不能リスク。複線化で耐性を作る。

チェックリスト(実行前)

  • 借入先と預入先の両方でKYC/入出金テスト済みか。
  • ブリッジ経路の信用・手数料を把握しているか。
  • スワップ最適化(アグリゲータ、TWAP)を使えるか。
  • デペグ検知の指標(AMM価格・オラクル乖離)を監視できるか。
  • 解約・巻き戻しの終了条件を事前に決めているか。

まとめ

ステーブル間金利スプレッド裁定は、相場の上げ下げを当てずに利回り差を淡々と回収する運用です。ポイントは「利回り差 > 手数料+固定費」が持続する場面だけを選び、実行・監視・終了を機械的に行うこと。正しい在庫設計とサイズ管理、そして撤退基準の明確化が、収益の安定性を決めます。

コメント

タイトルとURLをコピーしました