Uniswapの流動性提供では損得両方あり得ることを以前記事にしました。
上記記事では損得の比較に主眼を置いたので損失の説明を端折っていましたが、実際問題として、リスク(損失の仕組み)を理解しているほうが大事ですよね。手数料収入で得するほうはイメージしやすいですし。そういうわけで、この記事では損失についてだけ書きます。(ほぼこちらの記事の日本語版です。)
初めに一言で言うと、価格が動くと損失が発生します、ということです。
2020年8月8日追記:
本記事中ではプールの片方がETHとなっていますが、Uniswap v2からはトークン同士のペアでプールが作れるようになりました。
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 = 2 * sqrt(価格変動率) / (1 + 価格変動率) - 1
となります。
いくつかの値で計算してみると、
- 価格が1.5倍になると2%
- 価格が 2倍になると5.7%
- 価格が 4倍になると20%
といった具合で、提供しなかった場合と比較して損失が発生します。
グラフにすると、以下の図のようになります(価格変動率=price_ratioです)。
強調しておきたいのは、価格変動率は上下変動どちらにもあてはまることで、価格が1/1.2倍になると2%、1/2倍になると5.7%、1/4倍になると20%だけ損をします。
つまり提供しているトークンがETH建てで値上がりしても単純にホールドしていた場合より利益が目減りしたり、ETH建てで値下がりしたらさらに単純ホールドでの資産価値下落よりも追い打ちを食らうということがあり得るわけです。
損、損、損、と言ってきましたが、大事なのはこれが手数料収入を上回るかどうかで、その比較をしたのが私の以前の記事です。
結局、式とかよく分からないという場合には、以下のサイトのグラフを見るのが一番分かりやすいと思います。
2020年8月8日追記:
こちらのサイトはまだUniswap v2に対応していません。表示されているデータはUniswap v1のものであることに注意してください。
赤線が手数料収入、青線がImpermanent lossで、それらを勘定した利益(Net Profit)が黄線で描かれています。図中の例で言えば手数料収入は順当に蓄積していますが、9月中旬にトークン(DAI)の価格が提供開始時から大きくずれたために、一時的に損失が手数料収入を上回っています。その後、価格は提供時相当に戻ってきたため手数料収入がほぼ利益に一致してきています。
著者 kyoronut https://twitter.com/kyoronut