Author Topic: BitUSD Yield (aka Interest) Scheduled for Launch Wednesday  (Read 29745 times)

0 Members and 1 Guest are viewing this topic.

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
Let's assume the following:
- there is a rule that prevents bitUSD shorting below 90% of the market feed (as we have now)
- bid-ask overlap is collected by the system as a trading fee (as we have now)
- a fixed percent (e.g. 50%) of the trading fee gets paid to the bitUSD holders as dividend

It seems to me that the above elements constitute a nice self-regulating mechanism:

1. When shorts are supplying more bitUSD than there is demand for it, this sequence of events happens:
-> the shorts quote close to the 90% limit
-> this produces big bid-ask overlaps so the trading fees collected by the system get bigger
-> the system has a large pool of trading fees to be distributed to the bitUSD longs as dividends
-> as dividends grow there is an increasing incentive to hold bitUSD so the demand for it rises and this counteracts the initial imbalance

2. When there is more demand for bitUSD than the shorts are willing to supply, this sequence of events happens:
-> the shorts quote far from the 90% limit
-> there are very few bid-ask overlaps so the trading fees collected by the system get smaller
-> the system has a small pool of trading fees to be distributed to the bitUSD longs as dividends
-> as dividends get smaller there is a decreasing incentive to hold bitUSD so the demand for it falls and this counteracts the initial imbalance

BM, I wonder whether you agree with the above interpretation.
If it has any validity it would mean the bitUSD interest feature is actively helping to support the market peg.

My view is this would work (at least to an extent) if the market already had a natural equilibrium at the peg price. If the natural market level were instead some distance from the peg (e.g. at some level of discount) then this dynamic would tend to create reversion around the discount level. As I've said elsewhere, the only way to let the market find a natural trading level close to the peg is by allowing both sides (buyers and sellers) to determine the right level of incentive to do so. Transaction fee sharing, although helping to support the demand side as is needed at this stage, has no way to ensure close pegging. In fact for some assets the yield still won't be high enough and the market may equilibrate around a discount, while for others (e.g. if prospects for the BitAsset look better than BTSX at that point) it could even be a premium.

Right now the natural market level is a discount to the peg, but with the constraining feed rules, combined with little movement in BTSX, there is no new creation and for the time being, no trading, hence few fees being generated. Therefore I would think the incentive pool is not growing much. Having said that, and this is just a speculation on my part, its possible there may be an initial impetus for people to try to grab the existing pool as quickly as possible before it is entirely consumed, and I think the bigger accounts will have the cost advantage in being able to do this before such fee-collection trading dies down again.

Offline theoretical


If you have an easy way to implement that with 128 bit integer math....

Basically in any block where the network's BitUSD payable interest fund has income, keep track of log inflation rate (i.e. 1 + income / (BitUSD_in_circulation + fund_size)).  Then any BitUSD balance is multiplied by exp(sum of log inflation rates since the balance last moved).  The sum of logs can be partially pre-computed with a skip-list like data structure (basically for every K, pre-do the sum for block sequences of length 2^K whose start block number is divisible by 2^K).  You need O(1) extra per-block compute and storage on average per block, and O(log(N)) to figure out sum of log interest rates.

You always resolve odd satoshis in favor of the fund, and you round inflation down when computing the individual BitUSD balance increase, but round inflation up when computing the total BitUSD outside the fund.  (Use different approximations to exp and log1p functions that are under- or over-estimates as appropriate.)

Those rounding errors accumulate in favor of the network.  They shouldn't matter in the short-to-medium term (the next few months).  But in the long-term, eventually we should write code to reclaim those destroyed rounding-error BitUSD and ultimately pay them out as interest.  I'd suggest once in a while activating a new interest fund, closing the books on the old interest fund, and giving the remainder of the old interest fund to the new interest fund as income after the last claim on the old interest fund has been paid (which must eventually happen because balances must move once a year).
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline bytemaster


In this scheme, the interest computation doesn't do compounding.  So users will have an incentive to spam the network with transactions compounding manually.

For example, suppose Alice has 1000 BitUSD, the current yield is 10% and Alice expects rate of network income to remain the same.

Then Alice can wait to the end of the year and get 100 BitUSD in one interest-claiming transaction.  Or Alice can claim interest in six months, increasing her balance to 1050 BitUSD, then in six more months, claim interest on that 1050 BitUSD balance which brings her to 1102.50.  The extra 2.50 BitUSD Alice extracts far exceeds the transaction fee.  Finding the optimum timing of interest claims is left as an exercise to the reader.

We can fix this relatively easily.  Let r = TOTAL_ACCUMULATED_FEES / (BIT_ASSET_SUPPLY - TOTAL_ACCUMULATED_FEES), then the interest should be ACCOUNT_BALANCE * pow(r, PERCENT_OF_YEAR_HELD).

My formula takes compounding into account, so Alice can no longer extract a risk-free profit with the above strategy (the result of claiming interest twice in a year is a balance approximately one tx fee less than the result of claiming interest once in a year.)

If you have an easy way to implement that with 128 bit integer math....

For most people making regular transactions anyway it won't matter. Those that are using cold storage will have to balance the effort with the rewards.   


For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc

Offline James212

  • Sr. Member
  • ****
  • Posts: 312
    • View Profile
You work really fast - well done!

So is some of the BitUSD transaction fees used for the insurance fund, and the rest used for interest?

If so then should the formula should be updated to:

ACCOUNT_BALANCE / BIT_ASSET_SUPPLY  *  TOTAL_ACCUMULATED_FEES * PERCENT_OF_YEAR_HELD * INTEREST_INSURANCE_RATIO
?

There will no longer be an insurance fund, at least that is what I understand. 
BTS: theangelwaveproject

jakub

  • Guest
Let's assume the following:
- there is a rule that prevents bitUSD shorting below 90% of the market feed (as we have now)
- bid-ask overlap is collected by the system as a trading fee (as we have now)
- a fixed percent (e.g. 50%) of the trading fee gets paid to the bitUSD holders as dividend

It seems to me that the above elements constitute a nice self-regulating mechanism:

1. When shorts are supplying more bitUSD than there is demand for it, this sequence of events happens:
-> the shorts quote close to the 90% limit
-> this produces big bid-ask overlaps so the trading fees collected by the system get bigger
-> the system has a large pool of trading fees to be distributed to the bitUSD longs as dividends
-> as dividends grow there is an increasing incentive to hold bitUSD so the demand for it rises and this counteracts the initial imbalance

2. When there is more demand for bitUSD than the shorts are willing to supply, this sequence of events happens:
-> the shorts quote far from the 90% limit
-> there are very few bid-ask overlaps so the trading fees collected by the system get smaller
-> the system has a small pool of trading fees to be distributed to the bitUSD longs as dividends
-> as dividends get smaller there is a decreasing incentive to hold bitUSD so the demand for it falls and this counteracts the initial imbalance

BM, I wonder whether you agree with the above interpretation.
If it has any validity it would mean the bitUSD interest feature is actively helping to support the market peg.

Offline speedy

  • Hero Member
  • *****
  • Posts: 1160
    • View Profile
  • BitShares: speedy
You work really fast - well done!

So is some of the BitUSD transaction fees used for the insurance fund, and the rest used for interest?

If so then should the formula should be updated to:

ACCOUNT_BALANCE / BIT_ASSET_SUPPLY  *  TOTAL_ACCUMULATED_FEES * PERCENT_OF_YEAR_HELD * INTEREST_INSURANCE_RATIO
?

Offline theoretical

In this scheme, the interest computation doesn't do compounding.  So users will have an incentive to spam the network with transactions compounding manually.

For example, suppose Alice has 1000 BitUSD, the current yield is 10% and Alice expects rate of network income to remain the same.

Then Alice can wait to the end of the year and get 100 BitUSD in one interest-claiming transaction.  Or Alice can claim interest in six months, increasing her balance to 1050 BitUSD, then in six more months, claim interest on that 1050 BitUSD balance which brings her to 1102.50.  The extra 2.50 BitUSD Alice extracts far exceeds the transaction fee.  Finding the optimum timing of interest claims is left as an exercise to the reader.

We can fix this relatively easily.  Let r = TOTAL_ACCUMULATED_FEES / (BIT_ASSET_SUPPLY - TOTAL_ACCUMULATED_FEES), then the interest should be ACCOUNT_BALANCE * pow(r, PERCENT_OF_YEAR_HELD).

My formula takes compounding into account, so Alice can no longer extract a risk-free profit with the above strategy (the result of claiming interest twice in a year is a balance approximately one tx fee less than the result of claiming interest once in a year.)
« Last Edit: September 07, 2014, 09:03:18 pm by drltc »
BTS- theoretical / PTS- PZxpdC8RqWsdU3pVJeobZY7JFKVPfNpy5z / BTC- 1NfGejohzoVGffAD1CnCRgo9vApjCU2viY / the delegate formerly known as drltc / Nothing said on these forums is intended to be legally binding / All opinions are my own unless otherwise noted / Take action due to my posts at your own risk

Offline bytemaster


ok so I have some bitUSD all ready.
What do I need to do to collect the interest and how often is it calculated?

I want to know this too. I already have bitUSD and bitBTC which I bought well above the current btsx price. So I plan on holding on to them for the interest. Do we need to do anything to start gaining the returns on Wednesday, or do the returns only apply to people who acquire their bitAssets on Wednesday or later?

It will be retroactive.  Nothing you have to do. 
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline ripplexiaoshan

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 2300
    • View Profile
  • BitShares: jademont
ok so I have some bitUSD all ready.
What do I need to do to collect the interest and how often is it calculated?

I want to know this too. I already have bitUSD and bitBTC which I bought well above the current btsx price. So I plan on holding on to them for the interest. Do we need to do anything to start gaining the returns on Wednesday, or do the returns only apply to people who acquire their bitAssets on Wednesday or later?

as i understand just put it in your account and don't place an order at the market.

@bytemaster
please consider to count bitUSD in market order for the yield as well. without that everyone will hord and not trade bitUSD.

Placing your bitUSD in market means you don't want to keep these bitUSD anymore, then why you still get interest? Interest encourages every hold bitUSD.
BTS committee member:jademont

Offline liondani

  • Hero Member
  • *****
  • Posts: 3737
  • Inch by inch, play by play
    • View Profile
    • My detailed info
  • BitShares: liondani
  • GitHub: liondani

Offline Empirical1.1

  • Hero Member
  • *****
  • Posts: 886
    • View Profile
This sounds great.  It will be good to have the GUI show the accumulation of interest and the actual addition of it to their account somehow so that this great benefit is very prominent to everyone.

 +5%

Offline Shentist

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 1601
    • View Profile
    • metaexchange
  • BitShares: shentist
ok so I have some bitUSD all ready.
What do I need to do to collect the interest and how often is it calculated?

I want to know this too. I already have bitUSD and bitBTC which I bought well above the current btsx price. So I plan on holding on to them for the interest. Do we need to do anything to start gaining the returns on Wednesday, or do the returns only apply to people who acquire their bitAssets on Wednesday or later?

as i understand just put it in your account and don't place an order at the market.

@bytemaster
please consider to count bitUSD in market order for the yield as well. without that everyone will hord and not trade bitUSD.

Offline GaltReport

This sounds great.  It will be good to have the GUI show the accumulation of interest and the actual addition of it to their account somehow so that this great benefit is very prominent to everyone.

Offline onceuponatime

ok so I have some bitUSD all ready.
What do I need to do to collect the interest and how often is it calculated?

I want to know this too. I already have bitUSD and bitBTC which I bought well above the current btsx price. So I plan on holding on to them for the interest. Do we need to do anything to start gaining the returns on Wednesday, or do the returns only apply to people who acquire their bitAssets on Wednesday or later?