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