クリプト

Uniswap v3を完全に理解した

池田らいく's icon'
  • 池田らいく
  • 2021/04/04 03:53

Uniswap v3ではwhitepaperにある式2.2に沿ってx, yの2つのトークンの量が変化する。

https://uniswap.org/whitepaper-v3.pdf

Content image
引用図0.1

最終目標:①depositした資金は価格が動くとどのように変動するのか、②また現物をHODLしていた場合との差, 損失はどのくらいになるのか、depositする資産額と価格レンジの最小値、最大値を使って計算・予測できるようにする。

 

1) 式2.2の導出

2つのトークンx, yに対してUniswapはxy=kが成立するとしている。

このとき2つのトークンは、yをxで評価した価格Pを使って

y/x=P
y=Px

と書ける。

(例えばx=ETH, y=DAIとして, x=1, y=1800なら価格P=1800)

Content image
図1.1

y=Pxとxy=kとの交点が価格Pに対してxy=kのプールが持つxとyの数である。

この交点のx,yをk, Pで表現すると下のように書ける。

Content image
式1.1

今回、取引する価格帯の下限の価格をPmin, 上限の価格をPmaxとすると、それぞれのx, y座標を表現できる。

Content image
式1.2

この価格より大きくなったり小さくなったときにxまたはyが0になるようにxy=kの式をx軸、y軸に対して平行移動するとする。

Content image
図1.2

つまりxy=kの式をx軸方向にxmax, y軸方向にyminだけ平行移動した式である。

(x+xmax)(y+ymin)=k

Content image
式1.3

kの平方根をLとすると

Content image
式1.4

式2.2が導出される。

中学生でもできますね

 

2) 平行移動後の価格Pにおけるx, yをPmin, Pmax, P, Lで表現する

元々のxy=kの式が平行移動したので、価格Pも平行移動させます。

平行移動後の価格Pにおけるx, yは、点の平行移動なので

Content image
式2.1

と表現できる。

筆者はバカなのでy=Pxを平行移動させて交点をわざわざ計算しました。

なお、これが成立するのはPmin≦P≦Pmaxのときのみ。

またこの範囲で2つのトークンの価値が釣り合っているときの価格Pmidを求めると,

Content image
式2.2

範囲の最大値と最小値の幾何平均となる.

 

3) P<Pmin, Pmax<Pのときのx, yについて考える

3-1) P<Pminのとき, y=0となる.

Content image
式3.1

3-2) P>Pmaxのとき, x=0となる.

Content image
式3.2

 

4) 自分のポートフォリオを知る

自分のLPにdepositした資産ωが現在価格Pに対してどのように変化するのか見ていきます。

yで評価した時の資産は下の式で表現できる.

Content image
式4.0

4-1) P<Pmin のとき, 全財産はxになっている.

Content image
式4.1

4-2) P>Pmaxのとき, 全財産はyになっている.

Content image
式4.2

4-3) Pmin<P<Pmaxのとき

Content image
式4.3

 

5) Lとは何か、初期deposit資産ω0, Pmin, Pmaxおよびdepositするときの価格Piから求める

これもPiがPmin~Pmaxの範囲に対して外側にあるか内側にあるかで異なる.

というのも範囲外から始める流動性提供は片側の流動性提供となるので, 実質的なPiは範囲の境界値で決定されるため.

式2.2(WP)および4)で求めた式を変形することでω0, PiのときのLを求めることができる.

5-1) Pi<Pminのとき, xのみdepositする.

Content image
式5.1

5-2) Pmax<Piのとき, yつまりω0のみdepositする.

Content image
式5.2

5-3) Pmin<Pi<Pmaxのとき

Content image
式5.3

 

6) 最終目標①depositした資金は価格が動くとどのように変動するのか.

4)で求めた式に5)の式を適用することで任意の価格に対する現在の資産の評価額が求められる.

deposit時の価格PiがPi<Pmin, Pmin<Pi<Pmax, Pmax<Piの3通りと, 現在価格PがP<Pmin, Pmin<P<Pmax, Pmax<Pの3通りの合計9通りの表現が存在しうる.

単純に5)で求めたそれぞれのPiの状態に対するLを4)で示したPで表現される資産評価額ωの式に代入すればいい. 見た目が冴えないのが課題 シミュレータを考える時はLを分岐付けて計算してまとめておくと見栄えがいい.

6-1-1) Pi<Pmin, P<Pminのとき

Content image
式6.1.1

6-1-2) Pi<Pmin, Pmax<Pのとき

Content image
式6.1.2

6-1-3) Pi<Pmin, Pmin<P<Pmaxのとき

Content image
式6.1.3

6-2-1) Pmax<Pi, P<Pminのとき

Content image
式6.2.1

6-2-2) Pmax<Pi, Pmax<Pのとき

Content image
式6.2.2

6-2-3) Pmax<Pi, Pmin<P<Pmaxのとき

Content image
式6.2.3

6-3-1) Pmin<Pi<Pmax, P<Pmin のとき

Content image
式6.3.1

6-3-2) Pmin<Pi<Pmax, Pmax<Pのとき

Content image
式6.3.2

6-3-3) Pmin<Pi<Pmax, Pmin<P<Pmaxのとき

Content image
式6.3.3

7) 最終目標②また現物をHODLしていた場合との差, 損失(impermanent loss)はどのくらいになるのか.

Impermanent Lossは定義から, v3にある資産の評価額ωv3とHODLしていたときの資産評価額ωHODLを使って, 以下の式で求められる

Content image
式7.0

depositしたときのポートフォリオ, x, yが価格Pによってどのように変化するのか分かれば, 6)で求めたdepositした資産評価額との比較でImpermanent Lossを求めることができる.

以下で一応整理した式を記載しておくが, 定義の式に代入して個人的な美学で変形しただけであり, その式の形は本質を明示していないこともある.

ということで, Pi<Pmin, Pi>Pmax, Pmin<Pi<Pmaxのときの初期のポートフォリオを求め, それぞれからImpermanent lossを計算する.

7-1) Pi<Pminのとき, xのみdepositするのでポートフォリオはxのみ.

このときのx, ωHODLは

Content image
式7.1
Content image
式7.1.0

7-1-1) Pi<Pmin, P<Pminのとき

Content image
式7.1.1

7-1-2) Pi<Pmin, Pmax<Pのとき

Content image
式7.1.2

7-1-3) Pi<Pmin, Pmin<P<Pmaxのとき

Content image
式7.1.3

いずれにおいてもIL≦0

 

7-2) Pmax<Piのとき, yのみdepositするのでポートフォリオはyのみ, つまりω0.

Content image
式7.2

7-2-1) Pmax<Pi, P<Pminのとき

Content image
式7.2.1

7-2-2) Pmax<Pi, Pmax<Pのとき

Content image
式7.2.2

7-2-3) Pmax<Pi, Pmin<P<Pmaxのとき

Content image
式7.2.3

いずれにおいてもIL≦0

 

7-3) Pmin<Pi<Pmaxのとき、depositするx, yは2)と5)から求められる

Content image
Content image
Content image

以下の式は、Supporting Infromationで示した式の方がきれいかもしれない。

7-3-1) Pmin<Pi<Pmax, P<Pminのとき

Content image
式7.3.1

7-3-2) Pmin<Pi<Pmax, Pmax<Pのとき

Content image
式7.3.2

7-3-3) Pmin<Pi<Pmax, Pmin<P<Pmaxのとき

Content image
式7.3.3

いずれにおいてもIL≦0

 

定義の式に代入して個人的な美学で変形しただけであり, その式の形は本質を明示していないこともある、大事なことなので。

 

8) それぞれのパターンにおけるILのグラフを示しておく

7) までの式を抽象度を高めるため, depositするときの相場価格Piに対して, 現在価格P=rPiと置き、変動率rとILの関係曲線を示す。気が向いたら各自rおよびPmax=MPi, Pmin=mPiと置いたときのM, mを使って7)の式を変形してみてほしい.

 

また、ポートフォリオ内の2つのトークンの価値が50:50になっている点は前にPmidで表現した.

1) PmidとPiが等しいとき

Content image

2) Pmid<Pi<Pmaxのとき

Content image

3) Pmin<Pi<Pmidのとき

Content image

4) Pi<Pminのとき

Content image

5) Pi>Pmaxのとき

Content image

(Pi=任意の値, Pmin=500, Pmax=2000, Pmid=1000で描写)

 

9) 資金効率が何倍になるかを考える

ロックされてある資産額がfee収入の計算に使われるため, v2と比べてv3では何倍相当になったかを求めればいい.

Pmidにおけるv3の資産ωv3とv2における資産ωv2を比較する.

Pmidにおけるv3の資産ωv3をv2の形で評価すると以下のようになる.

Content image
Content image

同じくv2のときの資産ωv2を、kを使って表現すると下のようになる.

Content image

よってこれらの比は

Content image

 

おまけ:シミュレータ

 

Content image
サムネ

 

Supporter profile iconSupporter profile iconSupporter profile iconSupporter profile icon
Article tip 4人がサポートしています
獲得ALIS: Article like 488.96 ALIS Article tip 18.92 ALIS
池田らいく's icon'
  • 池田らいく
  • @cryptak
仮想通貨2️⃣年目❗ALISで何か書くとお金が貰えると聞いてやってきました🖊️💪🔥Twitter ID:@iketalike_max

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

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

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

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

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

CoinList(コインリスト)の登録方法

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

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

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

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

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

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

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

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

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

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

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

クリプトスペルズで入手したMCHCを引き出す方法

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

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

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

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

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

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

Like token Tip token
121.79 ALIS