# Uniswap V3から$\sqrt{x}$ perpを作成する
Uniswap V3のLPポジションから、常に2$\sqrt{x}$の価値を持つポジションを作り出す方法について説明する。Uniswap V3 LPポジションを担保に、いつでもトークンを借りることができることを前提とする。
まずUniswap V3のLP position valueは以下のようになる。
$v(x)=L(2\sqrt{x}-\sqrt{a}-\frac{1}{\sqrt{b}})$
ただし $a$はlowerPrice, $b$はupperPrice、$x$はtoken0のtoken1建ての現在価格である。
この時各トークンの数量は
$(token0, token1)=(L(\frac{1}{\sqrt{x}}-\frac{1}{\sqrt{b}}), L({\sqrt{x}}-{\sqrt{a}}))...(0)$
以下$(amount\ of\ token0, amount\ of\ token1)$のような表記をつかう。正の場合は担保、負の場合は負債。
このポジション(0)を$(L\frac{1}{\sqrt{b}},L\sqrt{a})$の担保と共に保有する場合、ポジション価値は$2L\sqrt{x}$となる。
さらにtoken1の負債$-2L\sqrt{x}$を追加することで、レバレッジをかけた$2L\sqrt{x}$ポジションとなる。
### レンジ切り替え
初期のLPレンジを適当に$a_1, b_1$と決めたとして、いつかは現在価格をその範囲を超えてしまう。できれば範囲を出る前にレンジ切り替えをする必要がある。
$a_1$, $b_1$から$a_2$, $b_2$にレンジを移動した場合、以下のように担保と負債が追加される。
$(L(\frac{1}{\sqrt{b_2}}-\frac{1}{\sqrt{b_1}}), L({\sqrt{a_2}}-{\sqrt{a_1}}))$
レンジ切り替えの回数をnとして、より一般化すると
$(L(\frac{1}{\sqrt{b_{n}}}-\frac{1}{\sqrt{b_{n-1}}}), L({\sqrt{a_{n}}}-{\sqrt{a_{n-1}}}))...(1)$
token0の価格が上昇した場合、token0が負債として追加され、token1が担保として追加される。反対にtoken0の価格が下落した場合、token1が負債として追加され、token0が担保として追加される。
上記(1)の方法でレンジ切り替えをする限り、ポジション全体は以下のようなCFMMに似た式で表される
$(L(\frac{1}{\sqrt{x}}), L({\sqrt{x}}))...(2)$
内訳としては以下である。
Uniswap LP:$(L(\frac{1}{\sqrt{x}}-\frac{1}{\sqrt{b_n}}), L({\sqrt{x}-{\sqrt{a_n}}}))$
その他担保、負債:$(\frac{L}{\sqrt{b_n}}, L{\sqrt{a_n}})$
ここで、$a_n$, $b_n$は(n-1)回レンジ切り替えを行った後の、lower priceとupper priceである。このレンジ切り替えの際には、LPポジションのデルタとガンマは変化しない。
### レンジ外になってしまった場合
レンジ切り替えがLPポジションがレンジ外になってから発生する場合は、例外的な処理が必要である。
$a_{n-1}, b_{n-1}$から$a_{n}, b_{n}$にレンジが切り替わる場合について考える。
#### $b_{n-1} <= x$の場合
この場合
(3)..burnで得られる量は、$(0, L(\sqrt{b_{n-1}} - \sqrt{a_{n-1}}))$
(4)..mintで必要な量は、$(L(\frac{1}{\sqrt{x}} - \frac{1}{\sqrt{b_{n}}}), L(\sqrt{x} - \sqrt{a_{n}}))$
なので、レンジ切り替えのために
(3)-(4)=$(
L(\frac{1}{\sqrt{b_{n}}}-\frac{1}{\sqrt{x}}),
L(\sqrt{b_{n-1}} - \sqrt{a_{n-1}} - (\sqrt{x} - \sqrt{a_n}))
)$
だけトークンを得る。
よって(1)のルールに加えて、以下を得ることになる。
(3)-(4)-(1)=$(L(\frac{1}{\sqrt{b_{n-1}}}-\frac{1}{\sqrt{x}}), L(\sqrt{b_{n-1}}-\sqrt{x}))...(5)$
#### $x < a_{n-1}$の場合
この場合
(6)..burnで得られる量は、$(L(\frac{1}{\sqrt{a_{n-1}}} - \frac{1}{\sqrt{b_{n-1}}}), 0)$
(7)..mintで必要な量は、$(L(\frac{1}{\sqrt{x}} - \frac{1}{\sqrt{b_{n}}}), L(\sqrt{x} - \sqrt{a_{n}}))$
なので、レンジ切り替えのために
(6)-(7)=$(
L(\frac{1}{\sqrt{a_{n-1}}} - \frac{1}{\sqrt{b_{n-1}}} - (\frac{1}{\sqrt{x}} - \frac{1}{\sqrt{b_{n}}})),
L(\sqrt{a_n} - \sqrt{x})
)$
だけ得ることになる。
よって(1)のルールに加えて、以下を得ることになる。(マイナスの場合は、そのトークンが必要となる)
(6)-(7)-(1)=$(L(\frac{1}{\sqrt{a_{n-1}}}-\frac{1}{\sqrt{x}}), L(\sqrt{a_{n-1}}-\sqrt{x}))...(8)$
この時以下の等式が成り立つ。
(3)-(4)=(1)+(5)
(6)-(7)=(1)+(8)
全体のポジション価値が(2)に示した$2\sqrt{x}$を保つためには、(1)のルールのみを適応したい。つまり(5), (8)は余計なポジションである。そのため(5),(8)については、トークンの交換を必要とする。
### まとめ
上記の方法で、常に$2\sqrt{x}$の価格を持つアセットを、Uniswap V3のLPポジションを使用して作ることができる。このアセットはconvexyを持ち、理論金利はtoken1建てで$\sqrt{x}\frac{\sigma^2}{4}$である。