Author Topic: Subsidizing Market Liquidity  (Read 74401 times)

0 Members and 1 Guest are viewing this topic.

Offline tbone

  • Hero Member
  • *****
  • Posts: 632
    • View Profile
  • BitShares: tbone2
I would like to propose a new feature for BTS that CNX will provide free of charge if a hard fork is approved.

We would like to allow any market pair to reward users who provide liquidity in that market. The feature would work as follows:

Every order that is filled after being open on the books for at least 10 minutes earns shares a reward pool. The shares earned are proportional to the size of the order filled.

Any user *or* worker can contribute funds to the reward pool. These funds can be denominated in any asset specified by the issuer.

At most once per day users may convert their shares in the reward pool to a pro-rata share of the rewards.

The asset issuer has the ability to enable this feature for any market their asset trades in and to specify the asset used to fund the reward pool.

With this feature Open Ledger *could* pay out OBITS to those who provide liquidity in the OPEN.BTC / BTS market.
BTS can vote for a worker to provide liquidity in the BTS / USD and BTS / CNY markets.

It is possible that trades in the BTS / OPEN.BTC market could earn rewards from both BTS and OBITS *if* shareholders voted to subsidize this market.

Assuming we implement this feature in the BTS / USD market and voters approve workers funding this at a rate of 2.5 BTS / sec (50% of allowed dilution) and the internal exchange had $100,000 of daily volume then users trading on the internal exchange would see a 1% more than they would get by trading off chain. If daily volume was $50,000 then they would see a 2% profit over doing the same trades off-chain.

The impact of this should be a major influx of new traders who can make more money trading on the internal exchange than the external exchange. This added liquidity will dramatically tighten the USD / BTS peg and give shorters much more confidence.

This implementation will require 3 new operations on the blockchain:

1. create_liquidity_reward_pool issuer ASSET FUND_ASSET MARKET_ASSET    ie: openledger OBIT OPEN.BTC OPEN.USD
2. fund_liquidity_reward_pool funding_account AMOUNT FUND_ASSET ASSET MARKET_ASSET
3. claim_liquidity_rewards username AMOUNT FUND_ASSET  ASSET MARKET_ASSET

It will also create a new worker type that can direct BTS to any fund where FUND_ASSET is BTS.



Note: CNX reserves the right to retract this offer or request payment for adding this feature. This proposal does not commit CNX to develop the feature if we decide to pursue other options.


Excellent proposal.

I believe the proposal you've cited is outdated. Since then, if I'm not mistaken bytemaster has shown support for the direction this thread has been going, and has chimed in to state that he believes the reward calculations we'd been discussing should be done off-chain.  Also, one of the things we've concluded on this thread, with some guidance from Nasdaq's liquidity incentive program, is that instead of rewarding trades (which we can't guarantee won't be gamed), we should simply reward liquidity (i.e. placement of orders on the book).  In which case, a share of rewards would not be earned when a fill takes place.  Instead, rewards would be earned based on scores during any given period, with the scores calculated based on how many shares were on the book, for how long, and how close to the price feed.  Hopefully we can build on this and move it toward reality ASAP.


Offline compumatrix

I would like to propose a new feature for BTS that CNX will provide free of charge if a hard fork is approved.

We would like to allow any market pair to reward users who provide liquidity in that market. The feature would work as follows:

Every order that is filled after being open on the books for at least 10 minutes earns shares a reward pool. The shares earned are proportional to the size of the order filled.

Any user *or* worker can contribute funds to the reward pool. These funds can be denominated in any asset specified by the issuer.

At most once per day users may convert their shares in the reward pool to a pro-rata share of the rewards.

The asset issuer has the ability to enable this feature for any market their asset trades in and to specify the asset used to fund the reward pool.

With this feature Open Ledger *could* pay out OBITS to those who provide liquidity in the OPEN.BTC / BTS market.
BTS can vote for a worker to provide liquidity in the BTS / USD and BTS / CNY markets.

It is possible that trades in the BTS / OPEN.BTC market could earn rewards from both BTS and OBITS *if* shareholders voted to subsidize this market.

Assuming we implement this feature in the BTS / USD market and voters approve workers funding this at a rate of 2.5 BTS / sec (50% of allowed dilution) and the internal exchange had $100,000 of daily volume then users trading on the internal exchange would see a 1% more than they would get by trading off chain. If daily volume was $50,000 then they would see a 2% profit over doing the same trades off-chain.

The impact of this should be a major influx of new traders who can make more money trading on the internal exchange than the external exchange. This added liquidity will dramatically tighten the USD / BTS peg and give shorters much more confidence.

This implementation will require 3 new operations on the blockchain:

1. create_liquidity_reward_pool issuer ASSET FUND_ASSET MARKET_ASSET    ie: openledger OBIT OPEN.BTC OPEN.USD
2. fund_liquidity_reward_pool funding_account AMOUNT FUND_ASSET ASSET MARKET_ASSET
3. claim_liquidity_rewards username AMOUNT FUND_ASSET  ASSET MARKET_ASSET

It will also create a new worker type that can direct BTS to any fund where FUND_ASSET is BTS.



Note: CNX reserves the right to retract this offer or request payment for adding this feature. This proposal does not commit CNX to develop the feature if we decide to pursue other options.


Excellent proposal.

Offline tbone

  • Hero Member
  • *****
  • Posts: 632
    • View Profile
  • BitShares: tbone2
Absolutely .. the problem is that there are so many things moving and it is next to impossible to get the big picture of what those that discussed in the threads have agreed upon ..
If you put that into a few paragraphs ... we can get this into a nicely formated BSIP quickly!

For multiple reasons, I am not the right person to take this and run with it. So I'm not sure how this matter will move forward since it appears few are taking it seriously.  Which seems odd considering that bootstrapping liquidity (especially for the major fiat BitAssets) seems to be of critical importance.  Or am I missing something?

There's been 12 pages of discussion, it would be nice if someone could sum it up in a single clean document so that it can be easily digested by more people. Even if it was literally just copy-and-paste snippets of notable points.

I saw some important variables were identified (length of time on the books, distance/spread, etc), but have any *reward equations* been proposed? This is the hardest & most important part. What variables do we measure and how do we combine them into a single score.

No equation has been proposed so far.  We have only identified the primary factors.   So we need to come up with values and weightings and combine them into an equation.  Perhaps that's something you can take a stab at?  I've listed the factors again here: 

1. order size
2. time on book
3. distance from price feed
4. bid/ask balance

For the most effective possible application of #4, we need to figure out how to measure which side needs more liquidity (aka the "weak" side) at any given time (i.e. the ask side in a market trending higher, the bid side in a market trending lower) and factor that into the scoring.  However, some have suggested we should leave that for fine-tuning at a later date.  I tend to agree.  So for starters, perhaps we should simply reward equal liquidity to the bid side and to the ask side. 

Also, although orders further away from the price feed have value since they can provide market stability, for starters we should simply reward liquidity at and near the price feed, perhaps using 2 bands, say 1% and 5% around the price feed. 

We also need to start thinking about how much in funding we want to make available to pay rewards.  @Empirical1.2 threw out $100-200 per day as a potential starting point.  That would represent 4-8% of total funds available for worker proposals.  Perhaps we should go with the higher end of that, if politically feasible.

The other question is how much to apply to which markets.  Clearly we should be looking to boost liquidity in the major fiat BitAsset markets, primarily USD and CNY.  But also EUR to a lesser extent.  Perhaps the split between USD and CNY can be roughly according to exchange rate.  And then carve out a % for EUR.  So perhaps 80%/15%/5% for USD, CNY, and EUR respectively.   

Thanks for looking at this, @roadscape.

Offline tonyk

  • Hero Member
  • *****
  • Posts: 3308
    • View Profile
My response to earlier xeroc's post is pretty close to a pseudo code... reposting will not help reducing the pages from 12...quite the opposite.

I think your psuedo code is a good starting point.

All numbers/percent are parameters adjustable by the committee (for the bitAssets).

To qualify for the reward (calculated and paid  every 7 days).
1.An account must have the best bid (or ask) for min 5% of the time.[combined for all qualified orders of his during those 7 days]
To qualify:
2.A sell order should be no more than 6% above the peg; a buy order should be no more than 1% from the peg price.
3. The order should be the best bid or ask. (1)
4.The order should be for min of 150 bitUSD [it can be bigger but if the order is  for bigger amount, credit is given for max of 150 biUSD] (2)

Every 7 day the script is run and the funds are divided between accounts having placed qualified MM orders:
- proportional to the time the orders were on the order book and met all other criteria above.
- for the full 150 bitUSD and/or following rule (2)

(1)Orders (say N=10 times) N times smaller than the market maker's order at better prices do not violate the best bid/ask condition.
(2.)The MM in regular stock market place both bid and ask orders to qualify; if we want to give the reward for just a single side we have to weight the order toward the other side of the order book, or some other way. Say MM1 places just a buy order - it is given credit only for the sum of sell orders falling within the max spread (5% spread max in the example above)


Quote
Nasdaq is incentivizing the display of orders for (a) 500 shares at the best bid and 500 shares at the best offer, 30% of the time, and (b) 2500 shares at no wider than 2% of the best bid and 2500 shares at no wider than 2% of the best offer, 90% of the time.  I don't think we need to specify a minimum number of shares or what % of the time they need to satisfy the above conditions, but perhaps we could simply make the reward proportional to the length of time MMs have orders on the books, the size of the orders, and the distance from the price feed.  And maybe we should require that orders be on the book for a minimum period of time, as some have already suggested. 


I don't however agree that there should be a 150 bitUSD limit for an order to gain points for the reward. Isn't a 1000 bitUSD order more valuable to BTS shareholders (and users) than a 150 bitUSD order? It seems wrong.. the person providing more liquidity should earn a bigger portion of the rewards.

1. All numbers here are just that - numbers. I see them, as explained in the post, as parameters for the committee to adjust as more info is gathered by watching the algo and its performance meeting the reality.

That being said:
- the logic behind 'min 5% of the time being the best bid ask' - 5% do seem low (I actually think we should start with something like 10% - BUT keep in mind it limits the max allowable number of MMakers that get paid - setting it 30% will mean a max of int [3.33] of 3 accounts can be paid in a given market. Do we want that? Idk, seems too low to me.

-there is a very good reason why Nasdaq pays for 500 shares and do not pay proportionally more  for 600 or especially 6000 shares. - The idea is not to encourage big orders for relatively short periods but orders with enough size all the time....

-on the size of "150 bitUSD" - it is my personal (subjective) bare min. number. if we can start with 500 it would be better of course.... My only note here is to keep in mind this is MIN to qualify for the reward...one would  think that any reasonable market maker will start with at 2-3 times (maybe more) bigger orders, just so he must not constantly 'refill' the orders, as the already placed orders get matched.

2bts
« Last Edit: March 18, 2016, 02:54:27 am by tonyk »
Lack of arbitrage is the problem, isn't it. And this 'should' solves it.

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
All this brainstorming about liquidity, and I can't even get into my OL wallet to place trades right now. We really need to get a reliable platform working before anything else. Count me out for adding liquidity to markets tonight, which sucks with the big BTS move. i hate not being able to access my positions to update them in the face of this kind of volatility.

Try another client. Dowloadable client works well. Also, there is one at https://bitshares.org/wallet and another one hosted by bitcash but I lost the link.

great, thank you @yvv ...the bitshares.org wallet works perfectly.

@cylonmaker2053 If you have difficulty connecting to bitshares.openledger.info API server, go to settings, click on "API connection" and select dele-puppy.com from the list. We don't really depend on OL, and this is good.

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
All this brainstorming about liquidity, and I can't even get into my OL wallet to place trades right now. We really need to get a reliable platform working before anything else. Count me out for adding liquidity to markets tonight, which sucks with the big BTS move. i hate not being able to access my positions to update them in the face of this kind of volatility.

Try another client. Dowloadable client works well. Also, there is one at https://bitshares.org/wallet and another one hosted by bitcash but I lost the link.

great, thank you @yvv ...the bitshares.org wallet works perfectly.

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
All this brainstorming about liquidity, and I can't even get into my OL wallet to place trades right now. We really need to get a reliable platform working before anything else. Count me out for adding liquidity to markets tonight, which sucks with the big BTS move. i hate not being able to access my positions to update them in the face of this kind of volatility.

Try another client. Dowloadable client works well. Also, there is one at https://bitshares.org/wallet and another one hosted by bitcash but I lost the link.

Offline cylonmaker2053

  • Hero Member
  • *****
  • Posts: 1004
  • Saving the world one block at a time
    • View Profile
  • BitShares: cylonmaker2053
All this brainstorming about liquidity, and I can't even get into my OL wallet to place trades right now. We really need to get a reliable platform working before anything else. Count me out for adding liquidity to markets tonight, which sucks with the big BTS move. i hate not being able to access my positions to update them in the face of this kind of volatility.

Offline CoinHoarder

  • Hero Member
  • *****
  • Posts: 660
  • In Cryptocoins I Trust
    • View Profile
My response to earlier xeroc's post is pretty close to a pseudo code... reposting will not help reducing the pages from 12...quite the opposite.

I think your psuedo code is a good starting point.

All numbers/percent are parameters adjustable by the committee (for the bitAssets).

To qualify for the reward (calculated and paid  every 7 days).
1.An account must have the best bid (or ask) for min 5% of the time.[combined for all qualified orders of his during those 7 days]
To qualify:
2.A sell order should be no more than 6% above the peg; a buy order should be no more than 1% from the peg price.
3. The order should be the best bid or ask. (1)
4.The order should be for min of 150 bitUSD [it can be bigger but if the order is  for bigger amount, credit is given for max of 150 biUSD] (2)

Every 7 day the script is run and the funds are divided between accounts having placed qualified MM orders:
- proportional to the time the orders were on the order book and met all other criteria above.
- for the full 150 bitUSD and/or following rule (2)

(1)Orders (say N=10 times) N times smaller than the market maker's order at better prices do not violate the best bid/ask condition.
(2.)The MM in regular stock market place both bid and ask orders to qualify; if we want to give the reward for just a single side we have to weight the order toward the other side of the order book, or some other way. Say MM1 places just a buy order - it is given credit only for the sum of sell orders falling within the max spread (5% spread max in the example above)


Quote
Nasdaq is incentivizing the display of orders for (a) 500 shares at the best bid and 500 shares at the best offer, 30% of the time, and (b) 2500 shares at no wider than 2% of the best bid and 2500 shares at no wider than 2% of the best offer, 90% of the time.  I don't think we need to specify a minimum number of shares or what % of the time they need to satisfy the above conditions, but perhaps we could simply make the reward proportional to the length of time MMs have orders on the books, the size of the orders, and the distance from the price feed.  And maybe we should require that orders be on the book for a minimum period of time, as some have already suggested. 


I don't however agree that there should be a 150 bitUSD limit for an order to gain points for the reward. Isn't a 1000 bitUSD order more valuable to BTS shareholders (and users) than a 150 bitUSD order? It seems wrong.. the person providing more liquidity should earn a bigger portion of the rewards.
https://www.decentralized.tech/ -> Market Data, Portfolios, Information, Links, Reviews, Forums, Blogs, Etc.
https://www.cryptohun.ch/ -> Tradable Blockchain Asset PvP Card Game

Offline tonyk

  • Hero Member
  • *****
  • Posts: 3308
    • View Profile

There's been 12 pages of discussion, it would be nice if someone could sum it up in a single clean document so that it can be easily digested by more people. Even if it was literally just copy-and-paste snippets of notable points.

I saw some important variables were identified (length of time on the books, distance/spread, etc), but have any *reward equations* been proposed? This is the hardest & most important part. What variables do we measure and how do we combine them into a single score.

My response to earlier xeroc's post is pretty close to a pseudo code... reposting will not help reducing the pages from 12...quite the opposite. [feel free to put in better English, if you see a need to do so]
Others have suggested additions which are generally cool and good, but from my point of view they needlessly complicate the algo for little bit of fine tuning.
Lack of arbitrage is the problem, isn't it. And this 'should' solves it.

Offline roadscape

Absolutely .. the problem is that there are so many things moving and it is next to impossible to get the big picture of what those that discussed in the threads have agreed upon ..
If you put that into a few paragraphs ... we can get this into a nicely formated BSIP quickly!

For multiple reasons, I am not the right person to take this and run with it. So I'm not sure how this matter will move forward since it appears few are taking it seriously.  Which seems odd considering that bootstrapping liquidity (especially for the major fiat BitAssets) seems to be of critical importance.  Or am I missing something?

There's been 12 pages of discussion, it would be nice if someone could sum it up in a single clean document so that it can be easily digested by more people. Even if it was literally just copy-and-paste snippets of notable points.

I saw some important variables were identified (length of time on the books, distance/spread, etc), but have any *reward equations* been proposed? This is the hardest & most important part. What variables do we measure and how do we combine them into a single score.
http://cryptofresh.com  |  witness: roadscape

Offline tbone

  • Hero Member
  • *****
  • Posts: 632
    • View Profile
  • BitShares: tbone2
What would you guys say is stopping most people from creating the bitassets themselves and putting them up for sale?

We need a more coordinated, systematic approach including subsidies for providing liquidity.  Perhaps then market makers would step up to the plate.  Actually, I'm pretty surprised that blocktrades, metaexchange and CCEDK haven't come together to provide some leadership on this matter and work with the community to find solutions.   

Offline yvv

  • Hero Member
  • *****
  • Posts: 1186
    • View Profile
What would you guys say is stopping most people from creating the bitassets themselves and putting them up for sale?

My bet, people just don't know what to do with them. Imo, the best way is to issue bitAsset, and trade back and forth against UIA which is pegged to underlying asset, like bitUSD <-> OPEN.USD, bitBTC <-> OPEN.BTC (TRADE.BTC, META.BTC) etc. This way you keep the peg tight, provide liquidity for gateways and hedge yourself against BTS volatility.


Offline karnal

  • Hero Member
  • *****
  • Posts: 1068
    • View Profile
What would you guys say is stopping most people from creating the bitassets themselves and putting them up for sale?

Offline tbone

  • Hero Member
  • *****
  • Posts: 632
    • View Profile
  • BitShares: tbone2
Absolutely .. the problem is that there are so many things moving and it is next to impossible to get the big picture of what those that discussed in the threads have agreed upon ..
If you put that into a few paragraphs ... we can get this into a nicely formated BSIP quickly!

For multiple reasons, I am not the right person to take this and run with it. So I'm not sure how this matter will move forward since it appears few are taking it seriously.  Which seems odd considering that bootstrapping liquidity (especially for the major fiat BitAssets) seems to be of critical importance.  Or am I missing something?