How is liquidity provision incentivized?

The only reason I like the dutch auction is because unless the pool is “full” nu never pays out the maximum amount. This allows for roll-over which is money nu doesn’t have to spend next term.

Is there a way to incorporate that into the fixed cost model?

Sure, you could create fixed step costs and pay
x for liquidity below volume a,
y for liquidity between volume a and b and
z for liquidity above volume b

Obviously this works with more or less steps, but I’d rather have not too many steps, because by my gut feeling it will make the volume more stable the fewer steps you have.
It requires a sense for the relation between compensation and target volume.

The most simple approach would be only one step, e.g. pay half of the compensation for half the target volume and pay the full compensation above half the target volume.

I’m for infinite steps and having a max liquidity target.

Example (10 nbt/day total fixed cost between both buy and sell):
Every minute, take the 10 nbt/day at 5000 total liquidity, multiply by the actual total liquidity and divide by the 5000 (so 2000 total liquidity would get 4 nbt/day) then cut it in half and give it as fixed cost to either side. So if it’s 500 buy and 1500 sell the rates would be 0.4% buy and 0.133% sell.

Don’t you think there will be more volume oscillation the more steps are in place?

Putting in more liquidity decreases your total payout for fixed cost, this is always true. With infinite steps, putting in liquidity proportionally on both sides while the pool is under target will actually keep the reward rate exactly the same, like a fixed reward pool. How would this cause oscillation?

Use the example above and double the LP on both sides. The reward is now 8 nbt/day and the rewards rates (%) all stay the same.

Infinite steps are rather a theoretical model than practically possible.
You will have a limited number of steps.
LPs that target a minimum compensation rate might create and cancel orders based on the current situation in between steps.

If future ALP clients have configuration parameters to adjust the liquidity volume to the current compensation rate, I fear this will lead to oscillation.

No, floats have a lot of steps (basically infinite). This is a mathematical procedure.

Say the total LP is 2398.45; take the 10, multiply by 2398.45, divide by 5000, and that gives you your fixed cost for the minute.

This is already an issue with fixed cost and is actually somewhat mitigated by the model I’m proposing here. This model helps this problem, it doesn’t make it worse.

If you say so, I tend to believe it :wink:
I should have spent more thoughts about it instead of creating uncertainty.
I will digest this topic a bit more before writing more nonsense.

Nah, thought and discussion is vital, you know that better than most.

Let’s focus on one side. There’s 10 nbt/day (fixed) and 750 nbt in the pool. You have your bot set to put up 500 nbt if the rate is >1% and take down 500 if the rate is <1%. As you can see, the bot begins oscillating.

This could partially be solved (resulting in decreased oscillation) by more steps (more granularity) on bot side.

pseudo code:
While true
Put 50 NBT on order book if compensation is > 1%
Remove 50 NBT from order if compensation is <1%
Wait 2 minutes

Yes, of course there are ways to help with this. However, doing the combined-reward-fixed-cost (CRFC, I just made that up) model does not make this problem worse. This problem is generated because a change in liquidity provided causes a change in reward percentage. CRFC actually reduces this effect (the same change in LP would cause a smaller change in % reward because the fixed-cost amount changes some).

FR - Fixed Reward. Uses a constant % up to a target, then uses dutch auction.

FC - Fixed Cost. Uses a constant NBT/day with no target. % can be calculated from cost and liquidity provided.

CRFC - Combined Reward Fixed Cost. Uses a NBT/day proportional to the combined liquidity on both sides, maxing out at a target. If sides are held proportional (i.e. 50:50 or 75:25) this is identical to FR but using FC at the target instead of dutch auction.

Asymmetric Pool - varying the key constants separately for buy vrs sell side

Flex - varying the asymmetry of the pool based on the liquidity in the network.

3 Likes

I feel FR is suited to a situation in which you want a certain minimal return on your money against a certain risk. And I think this risk is the risk of exchange default.
Ex: You re willing to get at least x% a day in Polo from your funds but not less, otherwise you asses that it is not worth the risk of Polo.
I fee FR is well suite to centralized exchanges.

Conversely, I feel FC is suited to a situation in which you really do not care so much about a certain minimal return (you are willing to see how it goes and see in practice how many participants are competing for the reward) but you know that you will get some. Of course you can walk away if your bot detects that you do not get a certain minimuml but I interpret that in FC you do not specify a rate, do you?

In any case, I feel FC is well suited to a decentralized exchange in which the default risk is in practice 0.

In other words, I think a pool running at a decentralized exchange will offer much less rewards and providers will be fine with that and as long as they get something out of their money, they will be willing to leave it in the pool, and FC deals well with that since it will give your some rewards regardless of the competition.

Am I correct?

1 Like

For FR you say that they only participate if the pool is under target. If you assume a similar concept on FC pools, that the person walks away if the pool isn’t below a target, you can get similar results. For example, if there is less than 5000 nbt on a side in either NuPond pool, you know the rate will be >0.2%. So you can walk away if the liquidity exceeds this in a similar manner. That the FC pool causes more movement amongst custodians can be considered a boon, as it benefits pro-peg gaming of the pools to try to balance inter-exchange as best you can.

I’d like to see CRFC implemented. Sam’s stuff allows for all possible dynamics near as I can tell.

1 Like

This is an assumption. We just don’t have the required skill set available and need to compromise.
Fixed cost will be more expensive or at least as complicated as fixed reward to make it work. I’m thinking of keeping my pools a bit longer on the Dutch action model as it is a lot cheaper for Nu overall. Unfortunately I’m lacking time to compile all the logs with the proof. If someone is interested I’m happy to share after anonymising it.

I doubt fixed cost is going to solve the gaps on 1 exchange because some major trades are happening. That will most likely require the intervention of a T1-T3 custodian anyway. Before those deals are made a few will be paid a premium for almost no liquidity.

CRFC can be used to reduce the costs if FC doesn’t have the desired effect on the liquidity situation:

You’re going to compare nbt/cny on bter to nbt/usd on ccedk?

If you switched to fixed cost and started pulling twice as much liquidity, but having no rollover, would the Dutch auction model still be preferred? What if you cut the cost in half and still pulled 10k combined on the nbt/usd pool? Gotta compare apples to apples here, and the nbt/usd pool has been at target for some time now.

Sounds interesting on paper, so the rewards will be shared amongst all participants on an equal bases? Can everyone compete or is it first in, first paid? I think I have to see this working first.

Not comparing a particular pair. If anythin the EUR/NBT pair is far more interesting as this has been under- and over performing (competition). From what I’ve seen that worked very well. At some stage the pool was just paying 0.9% as it was oversubscribed, at other days it was just paying the liquidity provided when it was under subscribed, nothing less nothing more.

How can you deduce that from the info mentioned on http://nupond.net/ ?

In any case, it seems to me that in FR, you can specify a minimum return if your funds are actually used. You can also make sure that you will get something out of your funds if you are willing to accept the minimum rate but that something is how much?
In FC, is it possible to specify a minimum return rate if your funds are actually used?

In any case, as a potential pool participant, I think it is crucial to be able to guarantee the fact that you will get at least a certain rate on your funds regardless of the liquidity provided.

Is it the case of current pools?