クリプト

Uniswap: 流動性提供(プール)のリスク(Impermanent loss, 変動損失)

kyoronut きょろナッツ's icon'
  • kyoronut きょろナッツ
  • 2019/10/06 13:31

Uniswapの流動性提供では損得両方あり得ることを以前記事にしました。

上記記事では損得の比較に主眼を置いたので損失の説明を端折っていましたが、実際問題として、リスク(損失の仕組み)を理解しているほうが大事ですよね。手数料収入で得するほうはイメージしやすいですし。そういうわけで、この記事では損失についてだけ書きます。(ほぼこちらの記事の日本語版です。)

 

初めに一言で言うと、価格が動くと損失が発生します、ということです。

 

2020年8月8日追記:

本記事中ではプールの片方がETHとなっていますが、Uniswap v2からはトークン同士のペアでプールが作れるようになりました。

 

関連記事:より一般化された、非対称プールのImpermanent lossの解説

 

たった一つの基本原理

Uniswapのプールを動かしているたった一つの基本原理はこうです:

プール内のETH量 * プール内のトークン量 = 定数

この関係を満たすようにトレードが実行されていきます。つまり、トークンがETHで購入されれば、プール内のトークン量が減り、ETH量は増えるわけですが、トレードの後でもそれらの掛け算が定数であることは保ってね、と。

 

ところで、ETHのトークン建て価格はいくらでしょうか?プール内のETH量とトークン量は同等の価値を持っているということなので以下のようになります:

ETHのトークン建て価格 = プール内のトークン量 / プール内のETH量

 

そうすると、ここまで出てきた2つの関係から実はプール内のETH量とトークン量が「価格」と「定数」を使って表せてしまいます:

プール内のトークン量 = sqrt(定数 * ETHのトークン建て価格)

プール内のETH量 = sqrt(定数 / ETHのトークン建て価格)

 

価格変動による損失の発生

定数と価格だけでプール内の状況を表すことができたので、価格が変わることで損失が発生する様子を見てみましょう。

 

例として、レートが1 ETH = 100 USDCのときに1 ETHと100 USDCをペアにしてUniswapのプールへ提供したとします。そこから市場に変化がありレートが1 ETH = 120 USDCになったとしましょう。このときUniswapのプールはどのように変わるでしょうか?(手数料は無視します。)

 

さきほど導出した関係を使うと、

プール内のUSDC量 = 109.54

プール内のETH量 = 0.91287

です。

 

それでは、プールへ提供しなかった場合とした場合の現在の資産価値をUSDC建てで比べてみましょう。

 

提供しなかった場合は

1 ETH * 120 USDC/ETH + 100 USDC = 220 USDC

提供した場合は

0.91287 ETH * 120 USDC/ETH + 109.54 USDC = 219.09 USDC

です。

 

0.4%くらい減ってしまいましたね。提供時の価格からずれると必ずこのように損失が発生します。Uniswapへの流動性提供で得をするためには、手数料収入がこの損失を上回る必要があるのです。

 

英語圏の方はこの損失のことを "Impermanent loss"と呼んでいます。直訳すると「未確定損失」といったところでしょうか?あくまでもプールから資産を引き上げるときに損失が確定するという意味でこのような名前を付けたのだと思います。個人的には実情をとらえた呼び方として「価格変動損失」のほうが良いかなと思っています。投票でも募ってみましょうか?以下のツイートとこの記事のコメント欄でお願いします。

Impermanent loss の一般式

価格が変動するとImpermanent lossが発生することは分かりました。ではどれだけ価格が変動すると、どれだけ損失が発生するのでしょうか?これはここまででてきた関係式を使うと一般化できます。つまり、

価格変動率 = 現在の価格 / 提供開始時の価格

として、

Impermanent_loss = 2 * sqrt(価格変動率) / (1 + 価格変動率) - 1

となります。

いくつかの値で計算してみると、

- 価格が1.5倍になると2%

- 価格が  2倍になると5.7%

- 価格が  4倍になると20%

といった具合で、提供しなかった場合と比較して損失が発生します。

 

グラフにすると、以下の図のようになります(価格変動率=price_ratioです)。

Content image

 

強調しておきたいのは、価格変動率は上下変動どちらにもあてはまることで、価格が1/1.2倍になると2%、1/2倍になると5.7%、1/4倍になると20%だけ損をします。

 

つまり提供しているトークンがETH建てで値上がりしても単純にホールドしていた場合より利益が目減りしたり、ETH建てで値下がりしたらさらに単純ホールドでの資産価値下落よりも追い打ちを食らうということがあり得るわけです。

 

まとめ

損、損、損、と言ってきましたが、大事なのはこれが手数料収入を上回るかどうかで、その比較をしたのが私の以前の記事です。

 

結局、式とかよく分からないという場合には、以下のサイトのグラフを見るのが一番分かりやすいと思います。

2020年8月8日追記:

こちらのサイトはまだUniswap v2に対応していません。表示されているデータはUniswap v1のものであることに注意してください。

Content image

赤線が手数料収入、青線がImpermanent lossで、それらを勘定した利益(Net Profit)が黄線で描かれています。図中の例で言えば手数料収入は順当に蓄積していますが、9月中旬にトークン(DAI)の価格が提供開始時から大きくずれたために、一時的に損失が手数料収入を上回っています。その後、価格は提供時相当に戻ってきたため手数料収入がほぼ利益に一致してきています。

 

 

著者 kyoronut https://twitter.com/kyoronut

 

過去記事一覧https://alis.to/users/lisalisa

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 4人がサポートしています
獲得ALIS: Article like 204.89 ALIS Article tip 115.65 ALIS
kyoronut きょろナッツ's icon'
  • kyoronut きょろナッツ
  • @lisalisa
twitter @kyoronut . Non-custodial financeで遊んでいます。

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

Uniswap(ユニスワップ)で$ALISのイールドファーミング(流動性提供)してみた

Like token Tip token
59.89 ALIS
Eye catch
クリプト

UNISWAPでALISをETHに交換してみた

Like token Tip token
19.40 ALIS
Eye catch
クリプト

コインチェックに上場が決まったEnjin Coin(エンジンコイン)コインを解説

Like token Tip token
21.49 ALIS
Eye catch
クリプト

NFT解体新書・デジタルデータをNFTで販売するときのすべて【実証実験・共有レポート】

Like token Tip token
120.79 ALIS
Eye catch
クリプト

Polygon(Matic)で、よく使うサイト(DeFi,Dapps)をまとめてみた

Like token Tip token
235.30 ALIS
Eye catch
クリプト

約2年間ブロックチェ-ンゲームをして

Like token Tip token
51.20 ALIS
Eye catch
クリプト

2021年1月以降バイナンスに上場した銘柄を140文字以内でざっくりレビュー(Twitter向け情報まとめ)

Like token Tip token
38.10 ALIS
Eye catch
クリプト

スーパーコンピュータ「京」でマイニングしたら

Like token Tip token
1.06k ALIS
Eye catch
クリプト

Uniswap v3を完全に理解した

Like token Tip token
18.92 ALIS
Eye catch
クリプト

【初心者向け】$MCHCの基本情報と獲得方法

Like token Tip token
16.32 ALIS
Eye catch
クリプト

バイナンスの信用取引(マージン取引)を徹底解説~アカウントの開設方法から証拠金計算例まで~

Like token Tip token
3.50 ALIS
Eye catch
クリプト

ジョークコインとして出発したDogecoin(ドージコイン)の誕生から現在まで。注目される非証券性🐶

Like token Tip token
38.31 ALIS