
【DeFi】 トークンの価格変動に伴うLPの価値変動を数式で表す(変動損失について考える)
はじめまして、イケハヤ仮想通貨ラボ(ICL)で仮想通貨、DeFiを勉強中のhiisunと申します。
はじめに
PancakeSwapやAlpacaFinanceなどにおいて、ファーミングの際に同価値の2つのトークンをセットにして市場に流動性を提供します(LP:Liquidity Provider)が、LPの価値変動や変動損失(インパーマネントロス)を意識することは、投資効率を高めるうえで欠かせないと思います。
せっかくファーミングで利益(金利収入)を得ても、LPの価値が下がるとLPの解体時に利益が減ってしまうからです。
(例えば、AlpacaFinanceのファーミングはポジションクローズ時に必ずLP解体を伴います)
どういうときにLPを組んでファーミングを開始すると、より効率的なのかについて考えてみたいと思います。
そのためには、狭義の変動損失よりも、LPの価値変動への理解がより実用的だと思います。
トークンの価格変動に伴うLPの価値変動を数式で表し、変動損失の概念に対する理解の助けになればと思います。
1.価格変動後のLP価値とトークン枚数の変化 (結論)
市場にAとB2つのトークンの流動性を提供するとします。
その後Aの価格がα倍、Bの価格がβ倍に変動したとします。
結論を先に述べますと
(1)LPの価値は √(α×β) 倍になります。
(2)Aの枚数は √(β÷α) 倍に、Bの枚数は √(α÷β) 倍になります。
2.式の証明を行う
流動性提供を行う際
LPの定義(ルール)
1) 2つのトークンは等価値にする
2) 2つのトークンの価格変動前後の枚数の積は変わらない
というのが決まりです。
式の証明を行う際のパラメータ設定を行います。
トークンAの価格をPa、トークンBの価格をPb
流動性を提供するときの枚数をそれぞれNa、Nbとします。
1) のルールから Pa×Na=Pb×Nb ・・・①
つぎにAの価格がα倍、Bの価格がβ倍になったとします。
枚数はそれぞれNa’枚、Nb’枚になったとします。
1) のルールから αPa×Na’=βPb×Nb’ ・・・②
2) のルールから Na×Nb=Na’×Nb’ ・・・③
①の式を変形して
Pa=Pb×Nb / Na ・・・④
Pb=Pa×Na / Nb ・・・⑤
③の式を変形して
Na'=Na×Nb /Nb' ・・・⑥
Nb'=Na×Nb /Na' ・・・⑦
⑤をと⑦を②の式に代入して
αPa×Na’=β(Pa×Na /Nb )×((Na×Nb)/Na’)
整理して α(Na’)^2=βNa^2
∴Na’=√(β/α)×Na ・・・⑧
同様に
Nb’=√(α/β)×Nb ・・・⑨
これで冒頭の結論(2)が証明されました。
また、LPの時価総額はもともと Pa×Na+Pb×Nb です。
価格変動後の時価総額は αPa×Na’+βPb×Nb’です。
⑧と⑨を入れて整理すると
√(αβ)(Pa×Na+Pb×Nb)
となります。
つまり価格変動後の時価総額が √αβ 倍になるということで結論(1)が証明されました。
3.式が見やすいように
Wordで記入したものをスクショして載せてみます。
さいごに
難しい式はDeFiを楽しむのに必要とは思いません。
私はお金を増やすために、理論への一定の理解は必要と思っています。
自分の体感と理論が一致しているか確認したくて、このような記事を書いてみました。
数式が非常に読みにくくて申し訳ありませんでしたが、最後までお読みいただきありがとうございました。