コンパウンドの頻度
おはようございます。😊
先日、僕と同じように計算大好きな方を見つけて、うれしくなってしまいました。僕よりずっとレベルが高いです!
薬学生さんいわく「最初に誰もが疑問に思いそうなのに解説記事が見つからなくて」ということです。そうなんです、最初に疑問に思いますよね、これってやりすぎたら損するし、やらなすぎても損するし、一番お得なところを教えてよって!
思いますよね!!!?
今日はコンパウンドの頻度研究を徹底的にやっていきたいと思います。
以前の記事⇒
・最もお得なCompoundの回数は?
・続、最適なCompoundの回数は?
投資効率計算ツール
なぜ誰も興味を示さないのか、この答えが僕はわかりました。自分で計算しなくてもPancakeSwapさんで簡単に計算できるのです。「投資効率計算ツール」で!
例えば$5000分のBNB-BUSDペアを1年間ファーミングする場合で、複利の頻度を1日の場合と30日の場合を簡単に比べることができるんです。
なるほど、だからみんな興味ないんだ~。みんな知ってるからわざわざ言わないんだ~。
いや、違う!
僕はさらに知っています、そもそもこの投資計算ツールさえあまり誰も興味がないことを。だって僕これ知らなかったですもの、話題沸騰になってなかったですもの。不思議ですけどみなさん利益にはあまり興味がなくて、ツールで計算しようとすることさえ通りすぎるのです。
だから、薬学生さんみたいな人を見るとその希少価値にときめいてしまうのです。
薬学生さんのブログ
薬学生さんのブロク、僕はすごくワクワクしました、計算式だけで成り立たせていてレベルが高い! すごいです! 僕はどっちかというと力技なので尊敬です!
僕の理解でブログの内容を説明させていただくと、PancakeSwapで何かしらのペアをファーミングしている前提だと思います。ファームでCAKE報酬をもらってそのCAKEをどう処理するかを取り扱っておられます。
何日かに1回「集める」(Collect)して、集めたCAKEをSyrup Poolの自動CAKEに放り込む、それが「何日に1回」が一番効率の良いのか、日数を求めたい式がこちらです。
ちょっと具体的な例をあてはめて考えてみます。
前提:BNB-BUSDペアを$10,000分ファーミング(CAKE報酬 $4.80 / 日)
1 BNB = $400, 1 CAKE = $20(計算を簡単にするため丸めてます)
d = 0.001BNB=$0.4
A = 1日あたりにLPファーミングで得られるCAKE報酬($)…$4.80
k = Syrup PoolのAPR 60% / 365(日)=0.164(%/日)
最適頻度=2 * √0.4 / (4.80 * 0.00164)=14.3日
……うーんなるほど、例のペアの場合、14.3日に1回「集める」すればいいということだそうです。
ただ、薬学生さんもおっしゃっているとおり、この式ではSyrup PoolのCAKE報酬の利益分を複利計算できていないことになると思います。ここまで考えて計算しても、計算ツールでちょこちょこっとクリックした結果に負けるのです。
でも、負けたからといってやめる理由にはなりません。僕は考えることが好きなんですから。
というわけで僕なりにも考えてみました、まず数式をできる限り使わない。そして図解にします。興味ある人は現れてくれるのでしょうか、それではいってみましょう!
手順を計画する
最終目的としては、一番お得なコンパウンド(複利)の頻度を知ることです。計算ツールでは出せない細かいところを算出してドヤります。
コンパウンドにかかる手数料(支出)は、
・「集める」の時にトランザクション手数料
・Syrup Poolで「+」を押してCAKEを追加する時のトランザクション手数料
(トランザクション手数料っていうのは、「集める」を押した後メタマスクのポップアップで「確認」を押すときにとられる0.001BNBとかのアレです)
もらえる利益は、つぎの2つです
(1) BNB-BUSDのファーミングでもらえるCAKE報酬
(2) Syrup PoolでもらえるCAKE報酬
これらを図解して調べてみることから始めて、関係をグラフにしてみたらわかりやすいんじゃないでしょうか。この方針で進めていきます。
(1) CAKE報酬とトランザクション手数料を視覚化してみる
※HarvestとかCollectとかclaimとかいろいろありますが、このnoteではCAKEを回収することをPancakeさんの日本語表現にあわせて「集める」といいます、また、「集める」してからそのCAKEをプールに「+」で追加する複利の作業のことをコンパウンドということにします。
BNB-BUSDペアなどを流動性提供してCAKE報酬をもらいます。それをSyrup Poolに預けるには2ステップ、「集める」と「+」の手続きが必要です。この時に必要な手数料をトランザクション手数料といって、BNBで支払います。
だいたい2つの手続きの合計で0.0017BNBくらいでした(実測値)、ここでは計算を簡単にするため0.002BNBとします。
これが変動するかはちょっとよくわかりませんが、仮に一定としましょう。現在のレートを(計算しやすいように)およそ 1 BNB = $400、1 CAKE = $20とします。すると0.002 BNB = $0.8です。これは、収穫されるCAKEの量に関わらず一定です。
上のイメージは、左側にもらえたCAKEの量と、トランザクション手数料の量を示しています。右側は、もらえたCAKE−トランザクション手数料=差引利益を示しています。
また、前提として$10,000分のBNB-BUSDをファーミングしていて、1日あたりのCAKE収入が約$4.8と仮定します。
イメージを確かなものにするために、LPの投資額が少なくて、もらえるCAKEが少ない場合のことを考えてみます。下の図のような感じになるでしょう。
CAKE報酬が少なくても、トランザクション手数料は一定なので、かなりの部分を手数料に持っていかれてしまっています。いかにももったいない感じです。
もっともらえるCAKEが少なくなると、コンパウンドすればするほど損をしてしまうという状態になります。
というわけで、ファーミングの差引利益は次の式で表すことができます。
CAKE報酬($) -($0.8 * コンパウンド回数)
ファームからコンパウンドすればするほど損をするようですが、そこはSyrup Poolの複利があります、次の項目で複利の視覚化をしていきます。
(2) Syrup Poolの利益を視覚化してみる
得られたCAKEを「集める」しないでファームに預けているだけとか、「集める」してもウォレットに入れているだけではCAKE増えませんが、Syrup Poolに入れておくとCAKEが増えます。
Syrup PoolのAPR(単利)は現在約60%、1日あたり0.164%と仮定します。
これは自動プールなので、内部で生まれたCAKE報酬は自動でコンパウンドしてくれます。複利なのでAPRが60%でも、1年間では単利とは差が付き、APY(複利)は80%以上になります。
APRとAPYについてはこちら⇒魔界の年利(APRとAPY)
その代わりに2%のパフォーマンスフィー(成功報酬)がとられますが、ここでは無視して、すべてAPRで計算します。
ちょっと豆知識!
自動コンパウンドがお得な理由は、トランザクション手数料が金額によらないため、プール全体でコンパウンドの作業をやるとものすごい効率的なんです。
金額と預け入れ期間にもよりますが、Syrup Poolに預け入れている期間が1年、金額が$2,500の場合に自動と手動の手数料はほぼ同じになります。金額が$2,500以下だと自動がお得、それ以上だと手動がお得ですが、手間もはぶけるし、そこまで変わらないのでほとんどの人には自動がおすすめです。
シミュレーション1(手数料なし)
前提:
$10,000分のBNB-BUSDをファーミング⇒1日あたりのCAKE報酬 $4.80
BNB、CAKEの価格変動は考えません
Syrup PoolのAPR = 60%、1日あたり0.164%
手数料はまだ考えていません。
この前提では、Syrup Poolに1日あたり$4.8の入金があります。そこに0.164%の利子がつくので、預入期間によってつぎのようにお金が増えていきます。
Syrup Poolに預け入れないと7日で$33.60なので、Syrup Poolに預け入れると7日間で$0.166得することになります。365日間をグラフにすると下の図のとおり。
365日で$2,396になりました。コンパウンドしなかったら$4.8 * 365 = $1,752なので、$644の利益になります。
この調子で、7日ごとコンパウンド、30日ごとコンパウンドのグラフを作ってみます。手数料はまだ考えていません。
ほとんど差がないですね。頻度別に数字で書くと以下のとおりです。
毎日:$2,396
週1:$2,384
月1:$2,340
当たり前ですが、コンパウンドの頻度が多ければ多いほど利益は大きくなります。しかし、ほんとうはコンパウンドには$0.8の手数料がかかりますので、その分を考えないといけません。
シミュレーション2(手数料あり)
前提:
コンパウンド手数料:$0.80(1回あたり)
その他は同条件です。
毎日$4.8増えるんですが、コンパウンドに$0.8かかるので、$4.0ずつしか増えていきません。ほんとうは7日間で$33.6増えているんですが、手数料を引くと$28.138に減ってしまいます。
これはコンパウンドの回数を減らした方がよさそうです。週一にするとこうです。
7日目にはじめて預け入れができ、その時に$33.6預け入れ、$0.8の手数料を支払います。8日目からは利子がついていき、14日目で$65.978になります。ただウォレットにもっているだけでは$4.8 * 14日 = $67.2になりますが、手数料を支払う分少し損をしているものの、さきほどの毎日コンパウンドと比べると大幅に手数料削減になっています。
つぎに月イチにするとこうです。だいぶはしょっています。
$4.8 * 30日 = $144で、30日目に預け入れをするまで利子はつかない代わりに手数料も発生しません。31日目からは利子が発生します。この調子で表を作成し、グラフにしてみました。
数字で示すとつぎのとおりです。
毎日:$1,997
週1:$2,327
月1:$2,326
毎日はやはり手数料の負担が大きく、月1、週1に大きく差をつけられてしまいました。一方、月1と週1の差がほとんどありません。
差がないなら手間が少ない方がいいので、月1のコンパウンドが良さそうです。しかし、見えていないだけで2週間に1回とかのほうが良いのではないでしょうか、そのあたりを調べていきます。
計算による最適なコンパウンド頻度の算出
条件はさきほどまでと同じで、コンパウンドの頻度を
1日に1回
2日に1回
…
30日に1回
…
とずっと点を取っていき、グラフに落としてみました。結果、16日に1回の$2,342が最高でした。さきほどの週1:$2,327、月1:$2,326に比べて$15ほど多いですね。
では、薬学生さんのようにこれを普遍的に数式にしたいところですが、僕の数学の実力ではできませんでした。なので、これをまた力技で複数検証しました。
前提:
トランザクション手数料1回あたり $0.80
BNB、CAKEの価格変動は考えません
Syrup PoolのAPR = 60%、1日あたり0.164%
1日あたりのCAKE報酬を $1.0 〜 $30 まで変動
1日あたりのCAKE報酬額を変動させたところ、表の真ん中の列の「頻度(日/回)」というところが僕がスプレッドシートの力を使って実際に積み上げて計算した値、右の「薬学生式」というのが薬学生さんの式を使って算出した値です。
すごく相関あります。形はほぼ同じ。
※9月19日修正:僕がスプレッドシートに入力した数式が、原文と違うものでした、薬学生さん、たいへん失礼いたしました。
数式とスプレッドシートの違いは、数式の方はガス代として差し引かれたはずの部分にまで利率がかかってしまっていることですが、ほぼ影響はないようです。
すごく細かくいうと、図の式をこのように直すと、その細かい部分まで考慮に入れることができると思います。
というわけでヒヨコロ式に直したものと比べてみたのが次の図です。
※9月19日修正:昨日からいろいろいじくりました、薬学生さんにも聞きました。現時点ではたぶんこれが正解じゃないかなと思います。
まとめ
たぶん一番正しいのはスプレッドシートじゃないなかと思いますが、ただ、スプレッドシートはなんというか力技で、手探りなところがあるので、計算しやすい式ができたことは良いことだと思います。
薬学生さんに感謝です。
もっとも効率の良いコンパウンドの頻度
=√((ガス代($) * Poolの日利 * 預入期間(日)+ガス代($)*2) / (1日あたりCAKE報酬($) * Poolの日利)
※ガス代は1回のコンパウンドにかかるガス代としてください、現時点のパンケーキスワップの「集める」と「+」の場合は合わせて0.002BNB=$0.8程度です。また、Poolの日利は%表示ではありません、つまり、1%の場合0.01と入力してください。全てドルに換算してください。
ということです。数式は出さない約束だったのに…
例えばBNB-BUSDを$10,000預けた時に1日あたりのCAKE報酬が$4.8だとして、Syrup PoolのAPR(手動の方)が60%だとしたら日利は 0.6 / 365 = 0.00164、ガス代は$0.8なので、
√((0.8 * 0.00164 * 364+1.6) / (4.8 * 0.00164)) = 16.25
16日~17日くらいが一番効率が良くて、現実的には月2でコンパウンドするのが良さそうです。
あくまで計算上ですので、変動は大きくあると思います。CAKE報酬も減る方向ですし、DeFiの世界でなかなか年単位の計算は難しいというか、不可能な面があります。あくまで計算上、道楽だと考えてください。
ではでは、今日の内容は以上です。いや~長かった、一日費やしました。おかげで僕の満足のいく記事になりました。
限りなくゼロに近いと思いますが、今日の記事を楽しんでいただいた方がいらっしゃったらすごくうれしいです。
なお、使いやすい?スプレッドシートを作ってみましたので、試しに使ってみていただけますか、わからないところがあればご意見ください。
本記事は有料記事とします、以下のような方の購入をお待ちしています。
・本記事が役にたったので投げ銭したいという未来志向の方
・有料部分に書かれている計算シートの使い方をちょっと見てみたい方(将来的に無料でREADMEにする可能性があります、ご了承ください)
それではまた、DeFi~(@^^)/~~~
ここから先は
¥ 100
この記事が気に入ったらサポートをしてみませんか?