impermanent-loss について
DeFiの流動性提供者向けに、インパーマネントロスを分析するスキルです。定積型と集中流動性プールの計算、シナリオモデル、手数料との損益分岐分析を扱います。
主な機能
- 01定積型プールのインパーマネントロス計算
- 02集中流動性による増幅の推定
- 03手数料収入と損失の比較
- 04モンテカルロ法による価格経路のモデル化
- 05過去価格を用いたポジション分析
- 06計算・シナリオ分析スクリプト
活用シーン
- 01流動性提供による損失の評価
- 02LP手数料とインパーマネントロスの比較
- 03価格経路ごとのポジション結果のモデル化
- 04過去期間の流動性ポジションの検証
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ agiprolabs/ claude-trading-skills --skill impermanent-lossインストール後、Claude Code で/impermanent-lossを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/breakeven_analysis.mdil_formulas.mdscripts/il_calculator.pyil_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.00 | 0.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を行う例:
| シナリオ | 定積型IL | CLMM 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ポジションの経時的なモンテカルロシミュレーションを行います。