VBP6 - Modify SLA Requirements on BTC & ETH Markets to Improve Liquidity

VBP6 - Modify SLA Requirements on BTC & ETH Markets to Improve Liquidity

Summary of Changes:
This proposal requests to adjust the following parameters for the BTC/USDT and ETH/USDT Perpetual Markets:

  • Reduce LP Price Range to 5bps (0.05%) (priceRange)
  • Reduce the minimum fraction of time that LPs must spend on the book within the price range to 0 (commitmentMinTimeFraction)
  • Set the max. fraction of fees an LP will lose to someone better than them to 1 (slaCompetitionFactor)
  • Set the number of epochs over which past performance will continue to affect rewards to 0 (performanceHysteresisEpochs)
        "liquiditySlaParameters": {
          "priceRange": "0.0005",
          "commitmentMinTimeFraction": "0",
          "performanceHysteresisEpochs": "0",
          "slaCompetitionFactor": "1"
        },

Rationale:
Currently, Vega’s liquidity for BTC & ETH markets has been very sub-optimal, and non-competitive, and does not provide an ideal trading experience for Vega’s users.

Taking a look at the order book it’s very obvious that LPs are quoting wide and far out from the mid-price to farm rewards, they can do this because there is a wide price range at which their liquidity is counted (indicated by the large cliffs in the order book). Furthermore, Vega’s current liquidity system relies on a competitive environment to thrive which is not the case. You can also see that the spread between best bid and ask is extremely wide on avg. $140 for BTC and ETH varies between $3-$6.

So we have useless deep liquidity that is very far away from mid-price and very wide spreads that immediately put users off from placing a trade; all while Vega has historically been spending 2.4k VEGA per day to subside this liquidity.

Previously this was deemed okay given the issues with Oracle updates and thus, LPs had to widen out to protect themselves from the crazy funding rates. Now that this has been fixed, I think it’s time we take a look at how we can improve liquidity.

The goal of this proposal is to try and improve liquidity by offering rewards to LPs that are quoting in line with industry standards and spending a lot of time on the order book. This is ultimately optimising for users who only really care about getting in and out of positions with as little transaction costs as possible (fees & spreads).

So how can we potentially achieve this?

  1. Reduce the LP Price Range to 5bps (0.05%)

Currently for BTC and ETH, the LP Price range is set to 3%. This means that all LP orders 3% away from mid-price are deemed eligible in reward calculation + contribute to their LP commitment. This range is far too wide and orders this far out should never really be accounted for in SLA requirements as they provide very little value to traders on Vega.

By setting the LP Price Range to 5bps the protocol will only consider LP orders within 5bps from mid-price valid in SLA requirements and therefore, reward LPs accordingly. This should have a significant impact on pushing liquidity closer to the top of the book.

  1. Reduce the minimum fraction of time that LPs must spend on the book within the price range to 0

With the above price range, LPs certainly need to be a lot more active in adjusting and providing quotes to make sure they are not exposed to adverse selection. This ultimately makes their job harder, but nothing out of the ordinary if they are already quoting on tier 1 exchanges.

By reducing the minimum fraction of time that LPs must spend on the book within the price range to 0, they will no longer be penalised if their systems go down or they widen out quotes in high volatility.

Note: this is currently set to 75%.

  1. Set the maximum fraction of fees an LP will lose to someone better than them to 1

Currently, this is set to 0.8, meaning that 80% of a liquidity provider’s accrued fees will go to a person (LP) who achieves a higher SLA performance than them.

By setting this to 1, the protocol will begin rewarding LPs who spend more time on the book than before. For example, with the above changes in place an LP who is on the book for 2x more than another LP will get a 2x boost to their relative fee and rewards payout.

This is pretty important as it incentivises LPs to ensure liveness in their quotes within the LP range, while also heavily rewarding those LPs who are constantly on the book in comparison to others.

  1. Set the number of epochs over which past performance will continue to affect rewards to 0

Now that we have the above 3 settings, I don’t think it makes much sense to punish LPs for failing to meet SLA requirements as it disincentives them to continue quoting, more than pushes them to meet requirements.

Ultimately, Vega should treat LPs like service providers whose sole purpose is to make sure there is ample liquidity in the order book. Their performance should be measured on a very low time scale and be paid accordingly at the time they are taking on a user’s orders. Thus, penalising an LP across a large window discounts previous work that they may have already done earlier in the epoch.

In conjunction, these changes should push LPs closer to the top of the order book, reduce spreads, and provide a better trading environment for users. It will also drastically improve the type of liquidity Vega is paying for on a day-to-day basis. Lastly, the protocol will now focus more on positively incentivizing top-performing LPs based on their most recent performance instead of punishing them in future epochs.

Next Steps
I’m aiming to put this proposal onchain next Monday to ensure there is ample time for LPs to respond and provide feedback.

Thanks!

3 Likes

This looks like a sensible proposal to me. I don’t think doing (4) will make any difference as the SLA is already being set to 0% but I think it is sensible to set this to zero as well.

About this change

For those reviewing the proposal, it’s important to understand that this change proposed by @Jubi is not so much a shift in parameters within a reward regime but actually changing the type of regime under which rewards are paid (I think this is probably a good thing, for the reasons outlined below):

Currently: LPs are required to be on the book most of the time to receive rewards but are only really incentivised to quote tighter spreads by competition with other LPs plus the extent to which it drives higher volume.

If this proposal succeeds: the system will be reconfigured such that LPs are required to quote fairly competitively in order for that volume to qualify for rewards, but they will only be incentivised to spend more time on the book by competition with other LPs.

Notes:

  • In both cases, being on the book more and/or quoting tighter than other LPs will give an LP some benefit in rewards, potentially significantly so if the other LPs perform poorly in comparison.

  • LPs can still widen spreads without penalty in order to manage risk, as a result of the SLA being set to 0%. The competition factor means that other LPs that meet the new spread requirement more often can earn more rewards.

  • In future, if there is sufficient competitive liquidity, the SLA could be raised from 0%, but it seems quite likely that it was a mistake to focus on SLA time rather than price range at this stage when proposing markets.

Should you vote for it?

If the community feel that LPs are operating in a stable “local maximum” under the current LP settings where rewards are earned without the need to provide much of what community members deem to be “useful” liquidity, then in my view it would make sense for token holders to vote for this proposal.

The primary reason for this is that these settings would much more directly incentivise providing this useful liquidity and also uses the LP price range to communicate clearly the spread that the community expects and believes is worth rewarding.

If this proposal, or a version of it, is succesful on these two markets, then it would make sense for similar changes (albeit with different ranges) to follow.

1 Like

Agreed seems like a reasonable proposal to me.

An alternative approach people could look into if they wanted one would be reducing the probability of trading’s tau scaling even further to make that cutoff even more sharp, which could allow for wider bounds and only rewarding the very closest LPs, however that would still be vulnerable to all LPs deciding to stay fairly wide and not compete too much.

So yeah, for the goal of only rewarding liquidity that is provided at the tightest spreads whilst allowing LPs some flexibility to still back off occasionally/manage their position by only quoting one side this seems like the most appropriate set of changes I can think of currently.

1 Like

It is interesting. Some thoughts:

1st - (LP price range 0.05%). Reducing range does make sense i think. I would prefer to split this step on two at least: reduce range to something like 0.30-0.50%. Then if everything goes good we can reduce it more. I think 0.05% range is too radical reducing.

2nd - Interesting but it is dangerous to see an empty order book from time to time. Empty order book may frighten users that they could not close the position at anytime they want. I would be cautious here too and prefer to reduce it to 50% as a firs step.

3rd - Do not fully understand it. But i would support it.

4rd - Support. When I not meet with SLA - i know that i will not get rewards for the next epoch so i just widen my spread to 3% and not contribute to epoch without rewards.

PS: Lower spread - higher risks for the LP’s. So maybe it makes sense to reduce “Stake to CCT Volume” multiplier from 20 to 10. So the LP’s can still meet with SLA with lower volume in order book. IDK. Just a thought.

1 Like

Would it be better to instead allow a smaller minimum LP bonded amount and keep the same multiplier, so less LP cash is tied up in the bond?

I think yes. …

1 Like

Someone from our research team may want to chime in here on the ranges that would work, but there may be an issue with this as follows:

LP volume may be hit by incoming orders and matched against before it is measured for the purpose of the SLA calc. This means that it is impossible to maintain 100% time on book without posting a LOT of dpeth, and that in fact with a tight range it may be difficult to consistently score very high on this.

It may be that something like 10% orf 20% would work, but I suspect that for 50% there might be trouble, or at least a risk of it.

We can look into protocol enhancements in future, to for instance allow specifying a different range for rewards vs. the SLA time on book eligibility. That way the range could be say a 5% or 10% spread (or whatever) for the SLA but still only counting within 5bps (again, or whatever you decide) for rewards, which might be better? Bujt such an enhancement will need to wait for a future release if it would help.

Anyway I will support VBP-6. Just a little scared that too radical steps may lead us to empty order book … auctions… liquidations… panic chatting etc. So I would prefer to split any radical actions to two less radical at least. We can always go further if everything goes good.

Yes, it sounds interesting. If i understand it correctly. It will let users to see that they can close their positions anytime (with wide spread but they can be calm.) Simultaneously an LP will not get any reward if this orders be fulfilled.

Maybe we should have something like this: LP’s must provide something like 10000$ in 0,05% range and must to provide other 10000$ in 3% range (this part without any reward from vega). So we can always have not empty order book for our users. Empty book - is a panic for me. I think we should always have some liquidity in wide (1-3%) range - so users can see : they can close their position anytime.

I would even imagine something like VEGA community fund which will quote wide range (3-5-10%) in every(?) market with a sole purpose : to let users close their positions anytime. “Keep calm” fund. Just a thought. :laughing: Empty book scares me much more than wide range

Yeah, correct, that would be the idea

Too me this is largely a balancing act between the priceRange and the commitmentMinTimeFraction . For the reasoning @barney shared above, the tighter the range, the more difficult it is for LPs to consistently meet their obligation hence the need for a lower time fraction.

A key part of avoiding a frequently empty order book is ensuring the incentives for competing on time on the book are clear to LPs now the competitionFactor has been increased to 1. An LP just meeting the requirement would lose most their accumulated fees to an LP who is able to provide liquidity within the new range the majority of the time.

However as @MoneySeeker suggested, if the community were still concerned these changes were too drastic, splitting this into these two steps could be acceptable?

  1. priceRange=0.005 (50bps) and commitmentMinTimeFraction=0.5
  2. priceRange=0.0005 (5bps) and commitmentMinTimeFraction=0.1

The first set of changes could give LPs a chance to experience providing liquidity in a tighter range and competing for time on the book. The second set of changes could achieve the ultimate goal of a more competitive spread.

P.S. To be clear on one thing, I think whatever the final proposal, the commitmentMinTimeFraction should always be strictly greater than 0. If it is zero, in the case where LPs continue to provide wide liquidity outside the new bounds (therefore failing to meet their time fraction requirement), fees and therefore rewards will be split evenly amongst the LPs. A commitmentMinTimeFraction even slightly greater than zero would result in all the accumulated fees being transferred to the insurance pool and no rewards distributed.

3 Likes

Thanks @Charlie — the two steps you outlined seen pretty sensible to me…

Thanks everyone for all the discussion!

I agree that it seems sensible and better for LPs if we break this up into the 2 changes mentioned by @Charlie.

I will put up the proposal for the first change next Monday with enactment likely on Wednesday.

1 Like

Hey everyone, since the enactment of stage 1 I’ve noticed a slight improvement in the spread on both BTC and ETH markets.

I’d like to get some feedback from LPs to understand if they have faced any significant issues thus far? cc @MoneySeeker, as I’d also like to begin moving forward with the final change:

priceRange = 0.0005 (5bps) and commitmentMinTimeFraction = 0.1

Thanks!

Hey. My spreads now 0.0008-0.0015 on the each side (0.0016-0.0030 combined). I am holding a position much more often. LIve time on book decreased. My “price taking” rewards increased and became equal to “price making” rewards. So i am not a maker but a taker too :upside_down_face:. “PostOnly” orders often can’t be placed because i must take somebody’s limit order.

I would support to push priceRange further to 5bps and decrease MTFraction to 0.1. But I have some concerns: When the spread be so narrow - the LP’s will often fill each other orders… so we have higher volume and commissions paid by LP’s. Anyway I would prefer to see how it turns out.

1 Like