Author Topic: Solution to High Volatility potentially breaking the BitUSD Peg  (Read 18546 times)

0 Members and 1 Guest are viewing this topic.

Offline ul

  • Newbie
  • *
  • Posts: 8
    • View Profile
The market will already take the locked up fees in the robot account into account as if the total XTS supply was lower. Destroying/creating and locking up / reallocating are the same thing when it comes to shares of a whole. Are you just saying one is less likely to cause problems because of exclusively psychological factors?

No. There's a little difference even considering the equivalence of destroying/creating and locking up/reallocating. Let's just use destroying and creating instead of the other two to make it more clear.

When margin call occurs, all the collateral bts is used to buy enough BitUSD to cover the short position. The current solution is that if the collateral is not enough, some bts will be created to buy BitUSD to make a total cover. 

The other solution is equivalent to that if the collateral is not enough, some BitUSD will be created directly to make a total cover. There's no more market transactions to do such a cover. That will lead to a less influence on the market.

clout

  • Guest
Why not charge a capital gains fee of 10-20% for short positions. Hold it in the blockchain as collateral for that particular asset. If bts appreciates in price relative to the asset by a certain percent, lets say 50% then redistribute the bts from the fee as dividend for the stakeholders in network.

Offline Markus

  • Sr. Member
  • ****
  • Posts: 366
    • View Profile
To prevent margin call flash crash:
How about triggering a margin call not based on the current price but based on the trailing average price of the last x blocks?

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
The main difference of the special account and bm's solution is that the BitUSD which is used to cover the uncovered short position is not bought from the market, but took out from the former transaction fees.
Yes, you got me.
when the margin call execute, the current sell orders in the market get an absolutely power to make deal, these order get much benefit, it's unfair to others.
Bought from the market just lead  to unstable state:
the margin call execute -> buy a lot of bitusd from market -> price up -> more margin call  -> buy more -> price up -> more margin call .......
It's unstable feedback.

Offline jifehuang

  • Newbie
  • *
  • Posts: 18
    • View Profile
I guess the main concern here is how to avoid chain effect on margin calls when someone pulls bitusd double price. Should there be a daily up/down limit?

Offline bytemaster

Why we must cover all the bitusd on margin call? In the case when the system is out of bitusd sell order we won't even be able to cover it no matter how many more xts created. Could it be simply to sell the collateral, and try to cover as much bitusd as possible. If not sufficient, take the rest as a global bad debt?
One way to deal with bad debt is to use transaction fees or interest obtained later to cover it before paying back to stakeholders. Considering the bad debt is a rare event, it could be get controlled within a reasonable level. Just my 2 cents.

This is effectively the solution.   
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 jifehuang

  • Newbie
  • *
  • Posts: 18
    • View Profile
Why we must cover all the bitusd on margin call? In the case when the system is out of bitusd sell order we won't even be able to cover it no matter how many more xts created. Could it be simply to sell the collateral, and try to cover as much bitusd as possible. If not sufficient, take the rest as a global bad debt?
One way to deal with bad debt is to use transaction fees or interest obtained later to cover it before paying back to stakeholders. Considering the bad debt is a rare event, it could be get controlled within a reasonable level. Just my 2 cents.

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
Also, Alt's idea about the market robot is also very interesting. The main difference of the special account and bm's solution is that the BitUSD which is used to cover the uncovered short position is not bought from the market, but took out from the former transaction fees. I'd like to prefer Alt's idea once taken into account the solution's influence on the market.

The market will already take the locked up fees in the robot account into account as if the total XTS supply was lower. Destroying/creating and locking up / reallocating are the same thing when it comes to shares of a whole. Are you just saying one is less likely to cause problems because of exclusively psychological factors?

Am I going crazy here?

Imagine this:
current price is 1000 usd/xfs
some sell orders for bitusd in the market, maybe 10,000,000.
first I offer an sell order: sell 1000,000 bitusd with price 1usd/xfs
then I buy all 10,000,000 bitusd  with 10,000 xfs.
now, the margin call execute.
all the backup xfs will buy my bitusd with price 1usd/xfs. I can get 1000,000 xfs.
If I change the price to 0.0001usd/xfs, I can destroy the BTS system.

Would this not be just as much of a problem if the market robot ran out of funds? I thought you guys had a solution to this trade pattern earlier
Do not use this post as information for making any important decisions. The only agreements I ever make are informal and non-binding. Take the same precautions as when dealing with a compromised account, scammer, sockpuppet, etc.

Offline ul

  • Newbie
  • *
  • Posts: 8
    • View Profile
If we have a company account, the margin call is very easy:
transfer all short position and backup to the company account.

these short position will be cover with the bitasset in the account.

And I think It's very cool when you give the BTS  such a robot account.
margin call executed because price of bitusd rise up.
In this situation, we still use backup xfs to buy bitusd with any price, even create new xfs.
I think it's not ok for price stable.
Maybe there huge danger to the whole network.

I think transfer the short position and backup xfs to the robot account is more simple.

Yes. If the price suffers from a sharp fluctuation, we can expect the emergence of a large amount of uncovered short positions. According to the lastest strategy by bm, enough bts will be created by the system to buy adequate BitUSD to cover the short position (regardless whatever high price of the bitUSD) . Then the price of BitUSD will be pushed even higher and that will help to further exacerbate the market fluctuation. It's a positive feedback progress.

So I think maybe we can just ignore the issue and just leave the unbacked BitUSD in circulation. The total amount of BitUSD and BTS(collateral) need not have some fixed relationship. All these changes will ultimately be reflected by the effective market.

Also, Alt's idea about the market robot is also very interesting. The main difference of the special account and bm's solution is that the BitUSD which is used to cover the uncovered short position is not bought from the market, but took out from the former transaction fees. I'd like to prefer Alt's idea once taken into account the solution's influence on the market.
« Last Edit: February 20, 2014, 04:06:59 pm by ul »

Offline willj

  • Newbie
  • *
  • Posts: 17
    • View Profile

Quote
To clarify: This would be the case when BTS would decrease in price more than twice compared to the point in time when the short positions was taken (if a short position requires 2x Asset value in BTS)?
so i guess this describes the margin call case. How can the system run out of bitshares like mentioned in the OP?
If the starting collateral is 100 BTS backing 50 USD... and the price of 50 USD rises to more than 100 BTS so fast that the market couldn't cover the position in time then there would not be enough BTS in the short position to buy back 50 USD... so the network would be forced to create new BTS to close the short position.   

As I put money in BitShareX, so I keep thinking it in my head.
Please think about this idea.

BitShareX system must very powerful, and make sure BTS has the real value.
BTS's value is real and stable, the marketing price only show how much people like it. But not effect BTS's real value.

My idea is:
suppose BTS born by 4000 BTC(at 1000 USD), and 1,500,000 PTS(at 40 USD)
INIT value:1 BTS_value == (4000 * 1000 + 1,500,000 * 40)/ 4000,000 == 16

when 4,000,000,000 USD want join BitShareX for shares,
BTS born 4,000,000,000 bitUSD,
1 BTS_value == 1016 + fees

BitShareX only decrease value when value decrease.
e.g. people get money back from BitShareX(and do mandatory liquidation base on BTS_value).

if you want 5% double shares, buy bitUSD;
if you want own the growing of the BitShareX system, buy BTS with price higher than the BTS_value and compete with more likers;

if you want sell 1000 bitUSD value BTS at 1 bitUSD, it is up to you. but this not effect the BTS_value.
« Last Edit: February 20, 2014, 09:25:42 am by willj »

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
Imagine this:
current price is 1000 usd/xfs
some sell orders for bitusd in the market, maybe 10,000,000.
first I offer an sell order: sell 1000,000 bitusd with price 1usd/xfs
then I buy all 10,000,000 bitusd  with 10,000 xfs.
now, the margin call execute.
all the backup xfs will buy my bitusd with price 1usd/xfs. I can get 1000,000 xfs.
If I change the price to 0.0001usd/xfs, I can destroy the BTS system.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
If we have a company account, the margin call is very easy:
transfer all short position and backup to the company account.

these short position will be cover with the bitasset in the account.

And I think It's very cool when you give the BTS  such a robot account.
margin call executed because price of bitusd rise up.
In this situation, we still use backup xfs to buy bitusd with any price, even create new xfs.
I think it's not ok for price stable.
Maybe there huge danger to the whole network.

I think transfer the short position and backup xfs to the robot account is more simple.

Offline bytemaster

That's what we're already doing (the "rules" are not exactly the same, like your margin suggestion is 10% etc), except we're creating/destroying BTS instead of having an account that does trades. As long as your design only has one "network market bot", these designs are equivalent to the user when you view your funds as % BTS on market
but  still have something I want to issue:
1. bitusd never be create
2. can we limit total amount of bts not more then 400,000,000?

In this particular case, BTS will only grow in the event BitUSD needs to be honored.  The supply is limited and shrinking except in rare events (that may never happen).

Dan, do you think adjusting the transaction fee formula in a way that it would get rid of BTS more quickly if ever the amount of outstanding BTS was more than 4 million is an option? I suggested that in the second post in this thread.
Or do you think this scenario is too rare to be considered?

I think it is very rare and that any increase in transaction fee would harm the network by reducing transaction volume and thus devaluing BTS.

There is one additional fact that should be considered... from time to time the network destroys BitUSD in market fees.  There is no need to issue new BTS so long as total BitUSD in circulation is less than total short positions.  Thus the network has a built in buffer from fees that prevent this kind of inflation from having much impact on the long term supply.    This is all just handling very rare corner cases that when they do happen will probably result in insignificant inflation that is unlikely to be more than prior deflation.  Any very rapid declines probably mean something else bad happened.   
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 Markus

  • Sr. Member
  • ****
  • Posts: 366
    • View Profile
That's what we're already doing (the "rules" are not exactly the same, like your margin suggestion is 10% etc), except we're creating/destroying BTS instead of having an account that does trades. As long as your design only has one "network market bot", these designs are equivalent to the user when you view your funds as % BTS on market
but  still have something I want to issue:
1. bitusd never be create
2. can we limit total amount of bts not more then 400,000,000?

In this particular case, BTS will only grow in the event BitUSD needs to be honored.  The supply is limited and shrinking except in rare events (that may never happen).

Dan, do you think adjusting the transaction fee formula in a way that it would get rid of BTS more quickly if ever the amount of outstanding BTS was more than 4 million is an option? I suggested that in the second post in this thread.
Or do you think this scenario is too rare to be considered?

Offline bytemaster

There is an automated stop loss that kicks in long before collateral runs out in 99% of the cases.   

This is only for the rare extreme events where the stop loss cannot kick in fast enough.
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.