There are a lot of demonstration of yield, such as APY, APR, Daily Return, etc. The main purpose should be make it as clear as possible to let users know the current return status.
So here are some explanation of the APY and APR:
APY is the compounded yield which reinvest the yield in a specific frequency. So let's assume the reinvest frequency is 1 day. The equation will be
APY = (1+daily yield(%))^365-1
APR is more straightforward which won't do anything with the yield, that means the yield won't earn yield compared to APY. So the equation will be
APR = daily yield(%)*365
APY and APR are very traditional yield demonstrations. Most of the Defi protocols inherit them. The main benefit is that people are more familiar with these demonstration and they can quickly get feeling of how is the yield.
However, there are some problems to use them among the Defi protocols.
Some protocol will misuse of the APY and APR to make the number higher. But it will mislead the users.
The reward is distributed with each block generated. But the block time is not forever stable and it will vary between each block. This will make the APY or APR very different between each block although the time only passes seconds.
Protocol will never consider any costs when they are demonstrating the APY or APR. In fact, if you want to get compounded yield which is APY, you need to bear at least gas cost or even other costs. But protocol will never tell you and only show you the best thing.
The reward token price and all the other related variables are fluctuating. This may make the long term yield prediction not that reasonable.
Because of all mentioned above, we will seperately display some data to make a full and more reasonable return demonstration.
grossAPY which is APY data without considering any cost. It can be simply calculated as
grossAPY = (1+daily yield(%))^365-1
strategyGrossAPY which is APY data only considering the strategy fee. This will be shown only at the beginning period of each strategy.
netAPY which is APY data minus all the other fees occurred to apply the strategy.
netAPY = (1+net daily yield(%))^365-1
Daily Return contains 2 parts: one is the daily return in reward token and the other one is in the form of the percentage. This one is to give a very short term view of the return.
And to calculate the data above, we will use an avg block time fetched from last 5000 blocks to avoid the single block time difference.
So remember that the APY data from protocol you will never acheive that number. It's just a demonstration which tell you the feeling of their return. And the netAPY we are showing is much more possible to acheive and it will be very close to the grossAPY. It should be higher than you do nothing to the yield. And to learn more, please see this article.