mcpField
I
impermanent-loss

impermanent-loss

github.com/agiprolabsその他456431 回インストール8 週間前に更新
リポジトリ

impermanent-loss について

DeFiの流動性提供者向けに、インパーマネントロスを分析するスキルです。定積型と集中流動性プールの計算、シナリオモデル、手数料との損益分岐分析を扱います。

主な機能

  1. 01定積型プールのインパーマネントロス計算
  2. 02集中流動性による増幅の推定
  3. 03手数料収入と損失の比較
  4. 04モンテカルロ法による価格経路のモデル化
  5. 05過去価格を用いたポジション分析
  6. 06計算・シナリオ分析スクリプト

活用シーン

  1. 01流動性提供による損失の評価
  2. 02LP手数料とインパーマネントロスの比較
  3. 03価格経路ごとのポジション結果のモデル化
  4. 04過去期間の流動性ポジションの検証

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/agiprolabs/claude-trading-skills --skill impermanent-loss

インストール後、Claude Code で/impermanent-lossを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
breakeven_analysis.md
il_formulas.md
scripts/
il_calculator.py
il_scenario_modeler.py

詳細

インパーマネントロス — 計算、モデリング、損益分岐点分析

インパーマネントロス(IL)は、トークンを単に保有する場合と比べた、自動マーケットメーカー(AMM)への流動性提供にかかるコストです。トークンを流動性プールに預けると、価格の変動に応じてAMMがポジションを継続的にリバランスします。このリバランスは常に不利に働きます。値上がりしたトークンを売り、値下がりしたトークンを買うため、元のトークンをそのまま保有した場合よりも価値が低くなります。

なぜ「インパーマネント」なのか?

ILは、資金を引き出したときにのみ確定するため、「インパーマネント」と呼ばれます。価格が元の比率に戻れば、ILはゼロに戻ります。しかし、実際には価格が元どおりになることはほとんどないため、ILは通常、現実に生じます。

主なポイント

ILは絶対価格ではなく、価格比率の変化によって決まります。トークンが1ドルから2ドルに動いた場合も、100ドルから200ドルに動いた場合も、ILは同じです。どちらも比率が2倍になっているためです。また、変動の方向も関係ありません。2倍の上昇と0.5倍への下落では、ILの大きさは同じです。

定積型ILの計算式

標準的な x * y = k AMM(Raydium standard、Orca legacy)の場合:

IL = 2 * sqrt(r) / (1 + r) - 1

ここで r = P_new / P_initial(価格比率)です。

主な価格比率におけるIL
価格変動比率(r)IL
-75%0.25-5.72%
-50%0.50-5.72%
-25%0.75-0.60%
0%1.000.00%
+25%1.25-0.60%
+50%1.50-2.02%
+100% (2x)2.00-5.72%
+200% (3x)3.00-13.40%
+400% (5x)5.00-25.46%
+900% (10x)10.00-42.54%

対称性に注目してください。2倍の上昇(r=2.0)と2倍の下落(r=0.5)は、どちらも-5.72%のILになります。

集中流動性(CLMM)によるILの増幅

集中流動性マーケットメーカー(Orca Whirlpools、Raydium CLMM、Meteora DLMM)では、LPが価格範囲 [P_lower, P_upper] 内に流動性を集中できます。これにより、手数料収入とILの両方が増幅されます。

集中度係数
concentration_factor = 1 / (1 - sqrt(P_lower / P_upper))

現在価格を中心とする±10%の範囲では、concentration_factor ≈ 10x です。

CLMMにおけるILの挙動
  • 価格が範囲内にある場合:定積型ILと比べて、集中度係数に応じてILが増幅されます。
  • 価格が範囲を外れた場合:ポジションは値下がりした資産のみで100%構成されます。これは、その方向における最大のILです。保有するのは値下がりしているトークンだけになります。
IL_clmm ≈ IL_constant_product * concentration_factor

この近似は、小さな価格変動の場合に成り立ちます。大きな価格変動の場合や、価格が範囲の境界に近い場合は、完全なCLMMの計算式を使用してください(references/il_formulas.md を参照)。

例:CLMMと定積型の比較

SOLが150ドルの場合、±20%の範囲(120~180ドル)でLPを行う例:

シナリオ定積型ILCLMM IL(±20%)
SOL → $180-0.62%約-3.1%
SOL → $200-1.03%SOL 100%(範囲外)
SOL → $120-1.80%約-9.0%
SOL → $100-3.42%USDC 100%(範囲外)

ILと手数料:損益分岐点分析

すべてのLPにとって重要な問いは、**獲得した手数料が発生したILを上回るか?**ということです。

Net Position = LP_value + accrued_fees - hold_value

accrued_fees > IL の場合に利益が出ます。

損益分岐の手数料率

定積積プールの場合、期間ごとの予想ILはおおよそ次のとおりです。

expected_IL ≈ σ² / 8

ここで、σはその期間の対数リターンの標準偏差です。つまり、次のようになります。

日次ボラティリティ(σ)予想日次IL損益分岐に必要な最低日次手数料率
1%0.001%0.001%
3%0.011%0.011%
5%0.031%0.031%
10%0.125%0.125%
20%0.500%0.500%

LP の日次手数料収入:

daily_fee_income = (deposit / TVL) * daily_volume * fee_rate

損益分岐分析の全体的なフレームワークについては、references/breakeven_analysis.md を参照してください。

IL の経時的なモデル化

モンテカルロシミュレーション

幾何ブラウン運動(GBM)を使って、多数のランダムな価格経路をシミュレーションします。

import numpy as np

def simulate_price_path(
    initial_price: float,
    daily_vol: float,
    days: int,
    drift: float = 0.0,
) -> np.ndarray:
    """Simulate a price path using geometric Brownian motion."""
    dt = 1.0  # daily steps
    log_returns = np.random.normal(
        (drift - 0.5 * daily_vol**2) * dt,
        daily_vol * np.sqrt(dt),
        days,
    )
    prices = initial_price * np.exp(np.cumsum(log_returns))
    return np.insert(prices, 0, initial_price)

各経路について、各時間ステップでのILと累積手数料収入を計算します。N回のシミュレーション後、結果の分布を分析します。

完全なモンテカルロシミュレーションについては、scripts/il_scenario_modeler.py を参照してください。

ヒストリカル分析

実際のOHLCV価格データを使って、過去の期間におけるILを計算します。これにより、より現実的な(ただし過去のデータに基づく)推定値が得られます。

IL の軽減策

1. ステーブルコインペア

USDC/USDTのようなペアは価格比がほとんど変動しないため、ILはほぼ発生しません。手数料収入はほぼそのまま利益になります。

2. 相関性の高いペア

SOL/mSOLやETH/stETHのようなペアは連動して動くため、価格比は1.0に近い状態を保ちます。ILは最小限です。

3. CLMMのレンジを広げる

レンジを広げると集中度係数が低下し、資本単位あたりの手数料収入は減少しますが、ILも軽減されます。

4. レンジの積極的な管理

価格を監視し、価格が境界に近づいたらCLMMのレンジをリバランスします。これにより、価格がレンジから完全に外れるリスクを軽減できます。

5. 手数料ティアの選択

より高い手数料ティア(例:0.3%ではなく1%)は、ボラティリティの高いペアで発生するILを補います。予想ボラティリティに応じて手数料ティアを選びます。

IL を許容できる状況

  • 取引量の多いプール:手数料収入が予想ILを大幅に上回ります。
  • 安定したペアまたは相関性の高いペア:構造的にILが最小限です。
  • トークン蓄積戦略:いずれにしても、より安価なトークンを蓄積したい場合です。
  • アクティブ管理を伴う短い投資期間:手数料が複利で増え、大きな価格変動の前にリバランスできます。

LP を避けるべき状況

  • 取引量が少なく、ボラティリティが高い場合:ILが優勢になり、手数料では不十分です。
  • トレンド相場:一方向への大きな価格変動により、ILが大きく、長期にわたって発生します。
  • 流動性の低い新規トークン:数時間で価格が10倍以上動き、壊滅的なILを引き起こす可能性があります。
  • スプレッドの広いプール:取引量が少ないため、手数料ではILをまったく補えません。

関連スキル

  • lp-math:ILの計算式の基盤となるAMMの仕組みとリザーブの計算。
  • yield-analysis:IL控除後のLP利回りを、他のDeFi機会と比較します。
  • liquidity-analysis:プールの深さと取引量を評価し、手数料収入を推定します。
  • volatility-modeling:ILのモデル化に使用するボラティリティの入力値を予測します。

ファイル

リファレンス
  • references/il_formulas.md — 定積積プール、CLMM、マルチアセットプールのIL導出の全容
  • references/breakeven_analysis.md — 実用的なツールを含む、手数料とILの損益分岐フレームワーク
スクリプト
  • scripts/il_calculator.py — プールの種類を問わず、任意の価格変動に対するILを計算します。表と比較機能も備えています。
  • scripts/il_scenario_modeler.py — 手数料とILをモデル化し、LPポジションの経時的なモンテカルロシミュレーションを行います。

コメント