見出し画像

金利スワップに特化したVoltz Protocolとは

以下は金利スワップであるVoltz Protocolを解説したものです。誤り等ございましたら、コメント欄でお教えいただける幸いです。何分初めての投稿になりますので温かい目で見守っていただければと思います。NFA、DYORでお願い致します。また基本的にはhttps://www.voltz.xyz/litepaperを参考に本記事を執筆しているのと、筆者が記事を書いたのは9月であるためかなり状況が変わっていることにお気を付けてください。

概要

Voltz Protocolは、金利スワップ(IRS)を行うためのノンカストディアルAMMである。Voltz Protocolにおいて特筆すべきはUniswapV3で用いられているConcentrated Liquidity、Virtual AMM を固定金利の設定に応用している点と原資産をMargin Engineという独自の仕組みによって管理している点である。以上の仕組みの組み合わせにより、他の金利スワッププロトコルよりも最大3,000倍もの高い資本効率を実現する。流動性提供者とトレーダーの両者はレバレッジを活用することにより効率的にスワップ取引を進めることが出来るというのがVoltz Protocolの概要になる。

金利スワップとは

そもそも金利スワップってなんだという方向けにまず伝統的な金融機機関が提供するスワップ商品を概観する。注意点としてVoltz Protocolは金利の支払いではなく、どちらかと言えば金利の受け取りに関するプロトコルとなっているので注意が必要となる。

変動金利と固定金利の交換する金利スワップの例

出典 : 知るぽると やさしいデリバティブ スワップ取引

C子さんは、今後金利は低下すると考えている。しかし、ローンを固定金利で借りているので、その間現在の水準の固定金利を支払い続けなければならない。したがってできることなら、変動金利型ローンにしたいと思っている。他方、D男君は、今後金利は上昇すると考えている。しかし、変動金利型ローンを借りているので、その支払利息の負担が膨らんでいくのではないかと懸念している。したがってできることなら、現在の水準の固定金利型ローンにしたいと思っている。

出典 : 知るぽると やさしいデリバティブ スワップ取引

こんな場合、両者の悩みを一気に解決する良い方法がある。それはC子さんの固定金利をD男君が代わりに支払い、逆にD男君のローンの変動金利をC子さんが代わりに支払うことにすればよい。2人のローンの金利タイプ以外の条件が全く同じであれば、実質的にC子さんのローンは毎回の利払いが変動金利型になり、D男君のローンは毎回の利払いが固定金利型になったことと同じになる。そして、金利低下を予想するC子さんは満足。金利上昇を予想するD男君も満足、ということになるだろう。ここからは実際にVoltz Protocolを構成するいくつかの仕組みについて解説を進めたい。

Concentrated Liquidityとは

Voltz Protocolでは、Uniswap V3で実装されたvAMMの仕組みを応用して固定金利が決定される。Voltz Protocolの理解を深めるにあたってここでは先ず、集中流動性のメカニズムについて一瞥したい。


出典:Voltz protocol
出典:Voltz protocol

上記のグラフを含めUniswap V3の仕組みを概観すると、これまでの定積式(x*y=k)では、Liquidity Provider(以下LP)が流動性を価格範囲(0, ∞)全体に提供する必要があった。しかしながら、全てのトークンペアにおいて提供した流動性が効率よく利用されるかというとそうではない。例えばUSDC-USDTのペアをUniswap V2で流動性提供したとする。このペアの価格変動などせいぜい0.99-1.01の間に収まる。すると提供された$${L<0.99, 1.01< L}$$のレンジの流動性は全く利用されない。この課題に着目し一つの解決策を示したのがUniswap v3であり、LPは図のように自由に、提供したい流動性の範囲を決定することが出来る。

Voltz IRS vAMMとは

Voltz Protocolは、Uniswap v3から着想を得たVoltz IRS vAMMを実装している。これにより、LPは自由な固定金利の範囲に流動性を提供できる。この意味については以下で順を追って解説するが、Voltz Protocol自体は、Aaveやcompoundなどで提供されている変動金利とVoltz IRS vAMMによって独自に決定される固定金利をスワップするプロトコルなのである。したがってどのように固定金利がVoltz Protocol内で決定されるのかと、実際にどのような仕組みでスワップが行われるのかについてVoltz IRS vAMM仕組みを踏まえながら解説していきたい。

1. vAMMによる固定金利の決定

出典:Voltz protocol

上記の図の説明を行おう。まず大前提としてVoltz IRS vAMMでは、トレーダーが原資産に対して固定金利を変動金利に、そして変動金利と固定金利を交換できるような仕組みを構築しなければならない。差し当たってVoltz IRS vAMMでは以下のような新しい仕組みを導入している。$${x}$$軸に1%の固定金利トークンを、$${y}$$軸に変動金利トークンをとる。$${x}$$軸は、1%の固定金利トークンが提供された量を表している。加えて1%の固定金利トークンとは、ある主体(基本的にはFTもしくは場合によってはLP)が100枚の1%固定金利トークンを保持している場合、IRSプールの満期時にその主体は原資産のトークンを1枚、カウンターパーティ(基本的にはVTもしくは場合によってはLP)に請求することが出来るトークンである。1%の固定金利トークンとはその枚数についての意味で、実際の固定金利とは関係ない。$${y}$$軸は、変動金利トークンが提供された量を表している。加えて変動金利トークンとは、ある主体(基本的にはVTもしくは場合によってはLP)が100枚の変動金利トークンを保持している場合、IRSプールの満期時にその主体は原資産のトークンを変動金利分の枚数カウンターパーティ(基本的にはFTもしくは場合によってはLP)に請求することが出来るトークンである。変動金利が1.5%ならこの場合1.5枚。

必要な仕組みと用語の説明が終了したところで次にVoltz IRS vAMMによる固定金利決定の仕組みについて解説を行う。以下が固定金利の決定式である。
$${Implied Fixed Rate = 1/AMM price = x/y}$$
$${AMM price = y/x}$$
まず基礎的な他のAMMと同様、vAMMが機能するためには、流動性供給者LPが必要となる。LPの仕組みについては後の章で解説を行うので併せて参照していただきたい。集中流動性を採用しているため、AMM Priceの算出は容易ではないが、その他諸々難しい話は後にして、ここでは簡単にLPが初めて流動性提供を行った時点を想定したい。具体的にLPは固定金利トークンを2枚、変動金利トークンを1枚流動性提供したとする。すると
$${AMM price = y/x = 1/2}$$
したがって
$${Implied Fixed Rate = x/y = 1×0.01/1/2 = 0.02}$$
よって、$${Implied Fixed Rate}$$は、2%となる。具体的なケーススタディはLPの解説が終わったのちに行う。

Voltz Protocol においてLPは、提供したい流動性を指定し供給をする代わりに、その取引手数料収入を得ることが出来る。またUniswap v3と同じく提供した固定金利のレンジ外で取引が発生したとしても手数料収入を得ることはできない。ここまでは一般的なAMMとその仕組みは変わらない。しかしながらVoltz IRSのvAMMでは、他のAMMと比較して、LPを提供時にいくつかの重要な違いがある。

単一資産のLP:

まず各IRSプールは単一の資産(例:aDAI)の上に構築されている。ここで疑問に思うのは先ほど1%の固定金利トークンと変動金利トークンの解説があったため、例えば、Aaveの変動金利の債権トークンと固定金利の債権トークンを流動性プールに提供するというようなことを想定された方もいるかもしれないが、そうではない。というのもVoltz Protocol においてvAMMは基本的に固定金利決定のために使われるため、例えばaDAIのプールであれば必要トークンはDAIのみでよいし、実際にDAIが流動性プールにステーキングされるわけではない。理解を深めるためここで再びUniswap v3の流動性提供の仕組みを振り返りたい。


出典 : Uniswap v3 simulator
出典 : Uniswap v3 simulator

こちらはUniswap v3 simulator という分析ツールである。スクリーンショットのようにUniswap v3においてはLPが流動性を提供するレンジを決めた場合それに応じて提供するトークンの枚数や割合が変化しする。Voltz Protocol においても同じようなことが発生している。LPが流動性を現在の固定金利も含まれるレンジで提供した場合、

出典:Voltz protocol

〇〇%は、変動金利トークンとしてその流動性を提供しているとみなされ、残りの××%は固定金利トークンとしてその流動性を提供しているとみなされ、計算される。またLPが流動性を現在の固定金利よりも高いレンジで提供した場合、

出典:Voltz protocol

全て変動金利トークンとしてその流動性を提供していると見なされ、計算される。詳しくは上記のUniswap v3 simulatorの右のスクリーンショットを参照されたい。Voltz ProtocolでvAMMは固定金利の決定に用いられているため、例えばDAIトークンの現物がAMMにステーキングされるわけではない。あくまで提供された枚数と提供するレンジに応じて、仮想的に変動金利トークンと固定金利トークンの提供割合が決定される。

LPの報酬について

Voltz Protocolでは、取引が行われる度に手数料収入が発生する。したがってUniswap v3などと同じく、LPが提供している流動性の範囲内で取引が発生すれば、その手数料収入を受け取ることが出来る。これが流動性を提供するインセンティブとなる。具体的な手数料は、以下の計算式で算出される。
$${GrossFee = Ntγ}$$
ここで、𝑁は想定元本、𝑡は満期までの期間、そして γはガバナンスによって設定された手数料パラメータである。変数 𝑡 は、満期日までの日数が 0 日であれば 0 になる。また満期日までの日数がMax日であれば1となる。$${γ}$$はガバナンスによって設定されるパラメータである。また、GrossFeeの一部はプロトコルが徴収し、プロトコルのトレジャリーに保管される。これらの資金は、ガバナンスの投票に従って分配することができる。したがって、実際の手数料は以下のように計算される。
$${LP Collected Fees = Ntγ(1 - λ)}$$
$${Protocol Collected Fees = Ntγλ}$$
ここで、𝜆はガバナンスによって設定されるパラメータであり、LP手数料のうちプロトコルのトレジャリーに入る割合を決定するものである。

vAMMとLPの仕組みを概観した所で、簡単なケーススタディを設ける。ここでは実際にVoltz Protocolがどのように機能するのかと利用時のリターンとリスクに関して簡単に見ていく。

出典:Voltz protocol

図を元にまずここでは流動性が提供されており、IRS プールの開始時に取引が行われたと仮定する。そして現在の固定金利はA点の2%であるとする。そこに想定元本 1000枚を固定金利にスワップしたいFT が現れたとする。すると1000 枚 の1%固定トークン(A と B 間の水平距離)を得る代わりに1000 枚の変動金利トークン(B と C 間の垂直距離)を支払う。これによって固定金利は曲線に沿って A から C まで動く。また1%の固定金利(1000/1000)をFTは受け取る。Voltz ProtocolでこのFTは1000 枚 の1%固定金利トークンを保持しているとみなされるので、その1000枚分の固定金利を受けることが出来る。そしてさらに想定元本 1000 トークンを変動金利にスワップしたいVT が現れたとする。すると1000 枚の変動金利トークン(B と C 間の垂直距離)を得る代わりに1000 枚の1%固定トークン(A と B 間の水平距離)を支払う。VTは1000 枚 の変動金利トークンを保持しているとみなされるので、その1000枚分の変動金利を受けることが出来る。これによって固定金利は曲線に沿って Cから Aまで動く。FTはVTに、VTはF TをカウンターパーティとしてLPを通じ金利の獲得と支払いをする。ここで注目したいのは、もしLPがAからCの固定金利レンジで流動性を提供し、その範囲内でずっとスワップ取引が行われるなら、LPは追加で流動性を提供することなく、取引毎に発生する手数料を得ることが出来る。これをMargin recycleと呼ぶ。Uniswap v3と同じくスワップ取引のレンジを見事に推定し流動性を提供できれば、圧倒的に資金効率よく手数料収入を獲得することが出来るのである。

出典:Voltz protocol

LPのリスク

ここまでを振り返るとLPはすごくうまそうなポジションでガッポリ儲かりそうな印象であるが、実際のところ最もリスクが大きいポジションは現状私の中ではLPである。というのもマージンリサイクルが起こるのはあくまでFTとVTの全体ポジションが均衡している場合である。しかしながら現状のVoltz Protocolをご覧いただきたい。

出典:Voltz protocol

特にステーブルプールに注目いただきたいのだが、今回はAave-USDCのプールを例にとる。私なら9月30日までにAaveの変動金利0.42%がステーキング時の固定金利1.14%を超えてくることはないだろうと考え、変動金利を払って固定金利を得たいと考える。話が冗長になったが実際にどんな状況なのかをDune Analyticsを用いて分析してみる。

出典:Dune analytics

そのほとんどの比率をFTが占めていることが占めていることがわかる。もちろんFTがどの時点で固定金利の借入を行うかによって状況は大きく変わるが、このことはLPとって大きなリスクである。その意味について先ほどの例を用いて説明したい。(12月30日現在記事執筆時点と比較して偏りは改善している。)

出典:Voltz protocol

図を元にまずここではAからCにだけ流動性が提供されており、IRS プールの開始時に取引が行われたと仮定する。そして現在の固定金利はA点の2%であるとする。先ほどと同じように想定元本 1000枚を固定金利にスワップしたいFT が現れたとする。すると1000 枚 の1%固定トークン(A と B 間の水平距離)を得る代わりに1000 枚の変動金利トークン(B と C 間の垂直距離)を支払う。これによって固定金利は曲線に沿って A から C まで動く。また1%の固定金利(1000/1000)をFTは受け取る。すると今度は想定元本 100枚のトークンを変動金利にスワップしたいVT が現れたとする。100枚の変動金利トークン(B と BからC 間の点の垂直距離)を得る代わりに100枚の1%固定トークン(BとAと B 間の点の水平距離)を支払う。VTは100枚 の変動金利トークンを保持しているとみなされるので、その100枚分の変動金利を受けることが出来る。ここで問題が発生する。現状FTは1000枚分の固定金利を受ける代わりに1000枚分の変動金利を支払う。一方VTは100枚分の変動金利を受け取るが、100枚のみしかカウンターパーティであるFTには固定金利を支払わない。この差分を誰が埋めるのかといえばLPが埋めるのである。したがって、このまま満期を迎えた場合、LPもFTのカウンターパーティとして変動金利を受けとり、固定金利を支払わなくてはならない。原理的なところでもう少し深堀ると、例えばLPが固定金利5対変動金利5で流動性を提供したとする。するとまずLP-FTの間でLPは固定金利をFTに5分支払い、変動金利を5分受け取る。FTはその逆で変動金利をLPに5分支払い、固定金利を5分受け取る。そしてLP-VTの間でLPは変動金利をVTに5分支払い、固定金利を5分受け取る。VTはその逆で固定金利をLPに5分支払い、変動金利を5分受け取る。金利スワップというとFTとVTが直接金利スワップを行っているように見えるが、あくまでFT-LP-VTという仕組みで取引は行われている。実際上記の例の場合、LPのポジションはネットゼロである。同じように万が一固定金利が変化し、このLPが提供した流動性のレンジを超えた場合、引き出し時には固定金利0対変動金利10のようになる。するとLPはFTにひたすら固定金利を払い続け、変動金利を受け取ることとなる。以上のことをlite paperではfunding risk、資金調達リスクと表現している。つまりLPはfunding risk分をスワップ手数料分が超えない場合に、損失を被る。


マージン・エンジン

マージンエンジンは、固定金利のレンジの資産と流動性プールを管理する。具体的にはFTとVTのプールを介して、スワップ取引当事者間のキャッシュフローの動きを促進する仕組みである。またトレーダーとLPが利用できるレバレッジを高めるため、マージンエンジンが担保を確保する役割も担う。例えば取引参加者が必要証拠金を満たせなくなった場合、清算人が清算行う。基本的に全ての取引参加者は、Voltz protocolにおいて証拠金を提供しなければならないが、資本効率を最大化するために、トレーダーとLPがそのポジション応じた部分的な担保を提供するモデルを採用している。部分的な担保を提供するだけで良いのは、完全担保を必要とするシナリオが実現する可能性が極めて低いからである。例えば、VTが10%の固定金利で100の想定元本を1年間取引する場合、10の想定元本を証拠金として預ける必要がある。しかしながら、この担保要求は、変動金利が0%に低下し、IRSの契約期間全体にわたってその状態が続くことを想定しており、このシナリオはおよそ起こりにくい。したがって改めてFTとVTの必要な初期および清算証拠金を設定するために、IRS vAMMプールの満期までの原資産プール上限APY下限APYを推定する。当初証拠金は清算証拠金に基づいて計算されるため、まず清算証拠金の計算の概要を説明する必要がある。これは以下のような形式となる。
$${Liquidation Margin = ((f × 0.01)+(v × APY)) × t}$$
$${FTs APY = i and VTs APY = i}$$
必要な初期証拠金を計算する場合、FTの場合は$${APY = τiu}$$、VTの場合は$${APY = τil}$$となる。変数 𝑓 と𝑣 は、トレーダーの固定金利トークンと変動金利トークンの残高である。FTの場合、𝑓の値は正で、𝑣の値は負である。VTの場合はその逆となる。変数 𝑡 は限月に元づいたIRSプール全体の期間を表している。パラメータ$${τl <1}$$,$${τu>1}$$は、それぞれAPYの下限及び上限乗数である。これらのパラメータは、FTとVTの両方について、清算要件と当初証拠金要件の間に健全なバッファーをもたらす。またプロトコルはFTとVTの最低必要証拠金も計算する。これは、上記の計算を補完し、プロトコルがFTとVTのレバレッジの量に上限を設けることを保証する。
$${Minimum Margin = abs(v)× Δ× t}$$
ここで、ΔはFTとVTで別々に設定されるパラメータであり、基礎となるIRSプールによって自由に変化する。さらに、トレーダーがVTである場合、その必要証拠金は、変動金利がゼロ下限より下がることがないと仮定した完全担保証拠金によって制限される。

出典:Voltz protocol

図2.マージンエンジンの変数シミュレーション

図2は、Aave USDCプール(預金金利)の過去のデータから、APYの上限と下限(緑とオレンジの線で表示)が時間と共にどのように変化するかを示している。これらは、FTとVTの清算証拠金所要額を決定するために使用される。紫と赤の線は、APYの上限と下限をスケーリングしたもので、FTとVTの必要証拠金を決定するために使用される。LPの必要証拠金もこれと同じ計算をしたものである。ただし、計算方法は、LPがvAMMの現在価格(固定金利)に対して、どのティック幅で流動性を投入するかに応じて変化する。

以上がVoltz Protocolの概要になります。非常に難解なプロジェクトでありますが、仕組みとしては面白いものと筆者は考えています。ただ総じてLPとして流動性を提供するのはリスクが高いと思われますし、この部分に改善が必要かなと考えます。好評であればTrader Joe v2に関する記事も載せようかなと思います。

この記事が気に入ったらサポートをしてみませんか?