Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update mirror_short_reward with 100% short reward limit. #97

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

kerb101
Copy link
Contributor

@kerb101 kerb101 commented Apr 25, 2022

As discussed in #96

Terra forum thread: https://forum.mirror.finance/t/simp-3-change-short-farm-maximum-reward-allocation-from-40-to-100/
Community poll: https://mirrorprotocol.app/#/gov/poll/261

Please review changes thoroughly before approving.

@kerb101 kerb101 mentioned this pull request Apr 25, 2022
@kerb101 kerb101 changed the title Updated mirror_short_reward with 100% short limit. Update mirror_short_reward with 100% short reward limit. Apr 25, 2022
@csanti
Copy link
Contributor

csanti commented Apr 29, 2022

test_new

Just increasing the cap results in a very steep curve, IMO the function should be flattened. To be discussed with the community.

@kerb101
Copy link
Contributor Author

kerb101 commented Apr 29, 2022

Thank you for you input, Carlos.

Having a steep curve should help keeping the premium within a narrow band. But it will likely also cause large fluctuations in rewards. While I personally don't see this as a big problem, I would not be opposed to extending the curve.

Treating the rewards distribution as a control system problem, the current implementation is a simple proportional-controller. Simplicity is virtue, and I will not suggest making the controller more complicated. But it would help defining a few parameters:
-Premium target: The mAsset premium considered optimal
-Equilibrium: The short reward fraction where the users find going long and short equally attractive.
-Controller range: The premium range of which we want the controller to operate. Defined as percent from the target.

While it would be easy to set the premium target to 0%, there are good reasons for having a slight positive premium. It seems the current code has been written with a premium target of 2%. I don't see a reason to change this.

The equilibrium is impossible to predict accurately as it depends on outside factors like the Anchor interest rate and the stock market sentiment. But an educated guess could be that the equilibrium over time is an equal distribution to longs and shorts. I.e. a fraction of 0.5.

The curve you posted above fulfills a 2% premium target with a rewards equilibrium of 0.5. Since the curve has long tails, I would define the controller range as the 95% interval (0.025-0.975 distribution fraction). This puts the range in the curve to +/-2%. If we want to keep the current steepness of the curve, we could increase the premium range to +/-5%.

In a future version, maybe all three parameters could be added to the governance system. This of course requires a lot more work than simply changing the hard coded numbers as I have done in this pull request.

@csanti
Copy link
Contributor

csanti commented May 2, 2022

Yes, I agree ideally we would have a function that can adapt to the parameters you suggest. For now, since this is a provisional solution to try to lower the premiums we can just go with a prefabricated one.

I think the steering committee is discussing if we go with the flatter curve or if we lower the cap. Let's move forward after a decision is made.

@csanti
Copy link
Contributor

csanti commented May 8, 2022

Okay, so since the 100% poll did not pass, we will prepare the change for 80% weight cap and submit the poll to see if the poll passes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants