見出し画像

流動性提供の手数料発生のしくみ Part 3

Part 1 および Part 2 からの続きです。

流動性の集中で資本効率を高める

集中流動性のメリットである「資本効率」を確認します。

前章では流動性を提供しているレンジをすべてカバーする $${100 \rightarrow 108 \rightarrow 92 \rightarrow 100}$$ という都合が良い動きを想定しました。

同じ 50 サイクルが $${100 \rightarrow 104 \rightarrow 96 \rightarrow 100}$$ の狭い範囲で発生した場合の手数料を計算します。

  • 2.002 SOL

  • 200.04 USDC

96 ~ 104 価格変動 (50 サイクル)

前章の手数料の約半分まで落ちてしまいます。理由は明らかです。$${[104, 108]}$$ および $${[92, 96]}$$ の範囲に提供している流動性が全く手数料を稼いでいません。

流動性を提供する範囲を狭める

同じ流動性 ($${L}$$) をより狭い範囲に提供します。

  • 流動性($${L}$$): 1000

  • レンジ: $${[96, 104]}$$

この時、預け入れる SOL と USDC は以下の通りとなります。稼げる手数料は変わらないものの、原資が減っているため資本効率は回復します。

  • 1.94193 SOL

  • 202.041 USDC

[96, 104] への流動性提供

狭めた範囲により多くの流動性を提供する

手元の原資の半分しか使えていない点を改善するため、以下の条件に変更します。流動性($${L}$$) を 2 倍にします。

  • 流動性($${L}$$): 2000

  • レンジ: $${[96, 104]}$$

この時、預け入れる SOL と USDC は以下の通りとなります。

  • 3.88386 SOL

  • 404.082 USDC

この場合、手数料も以下の通りとなり、資本効率を維持しつつ、より多くの原資を投入することで手数料を稼いでいます。

  • 4.004 SOL

  • 400.08 USDC

ただし、狭い範囲に流動性を提供することは、価格がレンジ外に移動してしまうリスクも高まっているため、狭い範囲で価格が動くことに確信がなければ難しいと思われます。

[96, 104] への 2 倍の流動性提供

レンジ外 (Out of Range) を制する

集中流動性 AMM で流動性を提供する場合、価格がレンジ外に移動してしまうことを心配している質問をよく目にします。

すでに確認した通り、価格がレンジ外に移動しても、ロスカットのようなことにはなりません。単に 1 種類のトークンの買い注文 (または売り注文) を並べた状態になるだけです。

ですから、レンジ外を恐れる必要はありません。

むしろ、意図的にレンジ外からスタートすることのメリットもあります。流動性提供が何をしているのか理解したとき、レンジ外の状態を使いこなせるようになると思います。

「レンジ外を制する者は流動性提供を制す」かもしれません。

レンジ外を制する者は流動性提供を制す?

LP while Dip

一例として、上昇トレンドのなかで一時的に価格が下落すると予想した時に、少し下のレンジで待ち構えることを考えます。

現在価格が 102 USDC/SOL の状態で、$${[90, 100]}$$ のレンジに落ちそうだと予想した上で、以下の条件で流動性を提供します。

  • プール: SOL/USDC

  • 手数料率: 1 %

  • 流動性($${L}$$): 1000

  • 現在価格: 100 USDC / SOL

  • レンジ: $${[92, 98]}$$

LP while Dip

流動性 $${L}$$ を実現するために預け入れるのは、USDC のみです。現在価格が 102 USDC/SOL の時点で設定すれば、レンジ外のため SOL は必要ありません。

  • 307.833 USDC

想定通り、価格が 90 USDC/SOL 程度まで下落し、$${[92, 98]}$$ を横断する動きを 7 サイクルした場合、稼げる手数料は以下の通りです。

  • 0.2269365 SOL

  • 21.54831 USDC

最終的に価格が 98 USDC/SOL を超えて戻っていけば、預け入れた USDC はそのまま引き出すことができ、手数料分が収益になります。

なお、レンジを下に抜けた場合は 3.24195 SOL と手数料が残ります。

レンジを下抜けした場合😱

この場合、3.24195 SOL と稼いだ手数料の合計が預け入れた 307.833 USDC を下回らないうちに流動性提供をやめて SOL を売却するか、価格が上昇してくるのを待つことになります。

ポジションを In Range で作らなければならないという思い込み

手数料を稼がなければ意味がない、というのはその通りなのですが、だからといってポジションを必ず In Range の状態、つまり価格がレンジ内にある状態で作らなければならない、ということではありません。

そう思い込んでいると思われる質問はよく見かけます。

実は In Range のポジションを作るというのはスリッページ・エラーに遭遇しやすいというハードルがあります。

板取引表現から察せられますが、価格が動くと、SOL と USDC の量が変化していきます。価格がウロウロしている状況は手数料を稼ぐ絶好のチャンスであるにも関わらず、預け入れるトークンの量が変化してしまい、預け入れのトランザクションが失敗してしまうという問題が発生します。

一方、Out of Range のポジションを作る場合、預け入れるトークンの量が変化しないためトランザクションは成功します。つまり、価格が動いてくる方向で待ち構えるための準備は失敗しにくいのです。

最後に

手数料発生の仕組みを書いてきましたが、感覚的に捉えるための重要なのは下図(すでに掲載した図に対応を明示する矢印を追加)となります。

手数料は「横断」したトークン量 × 手数料率

価格を流動性提供する範囲内でウロウロさせ、横断するトークンの量を増やせば、手数料が増えます。

横断されるトークンの量はグラフから捉えることもできますが、このポストでは板取引表現にして説明してみました。

集中流動性 AMM のグラフを板取引表現にマッピングするポイントは、一定の範囲でグラフを細切れにし、範囲を板取引の 1 行として表現していくことでした。

グラフ表現 (再掲)
板取引表現 (再掲)

以上でこの一連のポストは終了です。

なぜこの投稿のイメージが「風力発電の風車」になっているか明らかになってきたでしょうか。

流動性提供がトレードという風をうけて、その風の力をそぎ取り、手数料を「発電」していく行為に見えてきていたら、このポストは「成功」です(笑

Solana で流動性提供にトライしてみたいなと思ったら、ぜひ Orca を活用してみてください!🐳

サイトから利用する場合も、プログラムから利用する場合も、Developer Advocate と Community Manager が手厚くサポートします!🔥

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