I’d like to share with you the calculator that I created for working out expected staking rewards of stake pools and how these are affected if pool and network parameters are changed. This work branched out from a topic with @brouwerQ where we delved into the reward formula
What does the calculator do?:
shows the expected annual return of a stake pool for the operator and the delegators
shows the distribution of these returns using a Monte Carlo simulation, this is particularly important for smaller pools where the range of rewards can be much higher or lower than expected due to luck
comparison between pools
tweak the monetary policy parameters, pool parameters and reward parameters and see how the expected rewards change
What questions does it help to answer for Pool Operators?
Is it worth running a new stake pool if pledge x and get y from delegators?
what is the expected return of a pool and how much lower/higher can it be due to luck alone?
from a reward point of view is it better to have your ada as a pledge or a stake?
how does my pool compare to another pool x?
how many blocks can I expect to mint in a year?
how much ada can I expect to receive per minted block?
I have not minted any blocks in the last x epochs, is it normal for my pool?
if the reward parameters x is changed how will it affect by pool?
can you show me how the Cardano monetary policy and reward formula work?
What questions does it help to answer for Delegators?
what is the expected return of a pool that I am delegating to and how much lower/higher can it be due to luck alone?
I am thinking of moving my stake to another pool, will I get a better return? Will this return be more stable?
the pool to which I have delegated has not minted any blocks, how many blocks is it expected to mint?
I want to compare the expected returns from across 5 different pools, how do I do it?
do pools with a small stake generate a higher return compared to pools with a large stake?
Disclaimer: this is a prototype for educational purposes only, I am not advocating that you delegate to any particular pool and be sure to do your own research
Thanks for the feedback! I haven’t managed to get the SMASH server working and pushing pool details to PostgresSQL yet, so I don’t have access to the pool meta data besides the pool id… equally as a result don’t have the pool web addresses.
If anyone can work out how to add SMASH service to the same docker-compose file in this repo then I would very happy to add all the other pool info to the calculator and would also add the ability to search by pool ticker
Nice job @dstratio. Just wondering if you would open the code. I’m good at coding but not in mathematics. It would be great for me to see the code to understand how the calculations are made.
I would use Blockfrost.io ~ API Documentation for this purpose. Is very straightforward, and you don’t have to deal with all the stack of Cardano. Which is very overwhelming at this moment.
I have updated the Reward Calculator which is now about 10x faster after I significantly optimized the GraphQL queries and now also run a dedicated graphql server in the background - detail on how and how others can use it will follow shortly
TL;DR
The going rate of the staking return at an average stake pool is now 4.52% annualized, about 1% lower compared to a year ago. This is expected as the reserve diminishes and income from fees should increase (fees have increased about 4x from around 80k ada per epoch a year ago to around 310k in the last epoch - but that is not yet enough to compensate for the reduction in the distribution from the reserve. The distribution from the reserve reduced around 39mn ada per epoch a year ago to around 33mn ada per epoch now)
you can now adjust the “Current ADA Suppply” field in the calculator as requested by @brouwerQ
The rest of the functionality is as before only much faster
Or link to the calculator from your own website by passing the poolid of your stake pool like in the example below. This will automatically load your pool’s details into the calculator: