見出し画像

結局、流動性提供して本当に儲かるの?


自己紹介

こんにちは。Solana上の集中流動性AMM(以下、CLMM)を提供しているDEX、Orcaの事業開発・アジア地域のコミュニティ運営をContributorとして担当しているRGと申します。

今回は、Solana Advent Calendarの参加者として、DeFiを触ったことがある人なら一度は聞いたことがあるかもしれない、流動性提供についてお話しさせてください。

そして、この記事は本来21日に出す予定だったのですが、完全に忘れていました。3日遅れでの公開、ごめんなさい。

本記事の前提


本記事では、AMMとは何か?そこから進化したCLMMは何か?という話は割愛します。また、CLMMの性質について一歩踏み込んだ内容についても割愛します。CLMMとはなんぞや?と思っている方は先日さるおさんが書いた草稿がとてもわかりやすいので、そちらを是非!(他人任せ)

今回の記事については、UniswapやPancakeswap、Orca、Raydiumなどの Liquidity (流動性)ページを過去にいじったことがある方を対象にしています。

本記事のテーマと、悩んでいること

CLMMで流動性提供を行う方が、(何と比較して)収益を得ているか、に焦点を当てています。
記事を書くきっかけとなった背景は、CLMMへの流動性提供に関する誤解がいまだに多いからです。悩んでいます。

例えばですが、

・CLMMのプールに記載されているAPRを見て、プールに流動性提供すればリスクフリーで収益が得られる
→リスクフリーではありません

・ポジションで指定した価格レンジから外れたらプールの手数料やリワードも発生しないので大損する
→ AMMにはPath Independenceという概念があるので、一概には言えません

・DEX-CEXの裁定取引(所謂、toxic flow)があるので、CLMMで流動性提供すると損する
→流動性提供者にはそのプールのポジション以外の戦略でヘッジ等してる方もいるので、こちらも一概には言えません

・仮にポジションを一定の頻度で入れ替えて価格変動によるImpermanent Lossを最小化しようとしても、LVR(Loss-vs-Rebalance)を加味すると結果として損しているのではないのか
→そもそも頻度にもよりますし、Solanaの低い手数料を活かして、高頻度でのポジション再編成(リバランス)がSolana上のCLMMでは可能です

私が今日お伝えしたいのは、一定数の流動性提供者は様々な収益機会がある中で、自分なりの仮説を立てて取引戦略を編み出し、実際にその取引戦略で建てた前提で収益を得ているということです(収益の最適化の話ではありません)。

本題

ここで本題の流動性提供者の収益性についてお話しさせてください。

MVPの段階ではありますが、OrcaのエンジニアリングContributorが流動性提供者の収益性を、scriptですぐに出せるツールをgithubで公開しました。

[LP Profitability Analysis]
https://github.com/orca-so/profitability-analysis

今現在MVPなので、実際にこちらのツールを使うには最低でもCoingecko Analyst APIが必要になります(月額129USD…)。今後より低コストでアクセスしやすいようにできないかについても検討していますが、もし頻繁に流動性提供される方はぜひご検討ください。

さて、このツールでは、収益性を以下2つの指標で比較しています。

「Token AとToken Bを裸で持っていたままの保有残高 (USD換算)」

に対して

「Token AとToken BのペアをCLMMプールに入れて、ポジションを作成した時の保有残高(プール手数料、リワードも含む)(USD換算)」

がより大きいかどうか、です。

実際のscriptを流す手順は以下の 7 ステップです

1. Click the green "Code" dropdown and click download ZIP.
2. Unzip the folder and move it to preferred location (e.g., Desktop).
3. Open Terminal. type cd {FOLDER_PATH}, you can also just type cd and drag the folder into Terminal.
4. Run cp .env.sample .env to create a new .env file.
5. Open the .env file and fill in the COINGECKO_PRO_API_KEY and RPC_URL fields. Ask your team for the values.
6. Run the script with yarn start --address <address1> [--address <address2>] --csv output/result.csv (address can be a pool, wallet, position or position mint).
7. Analyze the positions in the summary csv file in output folder

massive thanks to Will for his hard work :)

この手順を見て、実際にスクリプトまで書く人はあまりいないかもしれないのですが、実際にランダムに抽出してもらったデータでは以下のような結果が出てきました。

  • Owner: 流動性提供者のウォレットアドレス

  • No. Positions: アドレスに紐づいた、今回のscriptに含まれたポジション数

  • Av. Size: 各ポジションの平均量(USD換算)

  • Av. Profitability: 各ポジションの平均収益(USD換算)

少しわかりづらいかもしれませんが、以下画像の一番上に載っているウォレットアドレス「Bo4fiffPX…Npt」の保有者は平均400USDの収益を46個のポジションで出しているので、裸保有よりもざっくり 18,400 USDプラスです。

CEXやDEXの無期限先物板でヘッジしているユーザーなどもいるかもしれませんが、この数値だけを見ると流動性提供者で継続的に収益を得ているウォレットが一定数いることがわかりました。損している人もいます。

最後に

上記のツールとサンプルの数字も共有できたので、一旦今回はこちらで締めたいと思います。

CLMMプールへの流動性提供はあくまで取引戦略を構築する上での「How」の一つであり、それをどう活用するかは各人の自由です。まだ発明されてから10年も経っていない新しい金融の体験です。大量の情報が溢れかえる世の中ですが、もしCLMMや流動性提供に興味が湧いた方は、Solana JapanかOrcaのDiscordで私とYugureさんにお気軽にご連絡ください(ドキュメントも、読んでくれると嬉しいです)。

それでは、メリーボンクマス!


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