Author Topic: Dry Run 15: Fifteen ( Market GUI ! )  (Read 29107 times)

0 Members and 1 Guest are viewing this topic.

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
except the average price.
I think the other important thing is about the method to create asset.

for safe reason, we have to set a maximum price limit for short.
for now, the short price means  two things:
1. how much XTS do you need to freeze , for  lend the assets from BTS bank.
2. how much XTS can you buy , with these assets you just lend out.

In fact , we only want to set a limit for the first thing, how much you can lend from the bank.
we don't need  set a limit for the second thing.

but now, we have limit both. so something maybe not work find. for example:
at the first day, delegate set a price about 0.1 bitgold/XTS. we have more than 25 assets, maybe nobody short bitgold success.no bitgold issued.
at the second day, the price of XTS is double.
what situation we will have to face? people want to sell/bid/short XTS at price 0.2biggod/XTS, but no bitgold issued, so nobody can bid. and nobody can short, from the  system limit of the price, you can only short at price 0.13bitgod/XTS. If the price never down, the trade maybe never active.

So I prefer to change the short  operation to only issue asset, without must bid XTS immediately. you can bid anytime.
and some other  advantages with this change.
for example, I think USD will up from GOLD. so I can lend bitGOLD, and use this bigGOLD to buy USD directly.
« Last Edit: August 18, 2014, 12:24:48 am by alt »

Offline alt

  • Hero Member
  • *****
  • Posts: 2821
    • View Profile
  • BitShares: baozi
sorry, for language reason,  I have not understand the algorithm to get the average price.
I am trying to learning it.

@alt: so all is fine now? market is still safe?
no,  control the average price to higher is still very quickly, only need 1 block.
control to low price is more difficult.

In fact, this is not a big problem, we can get the  medium price  just like  feed price, sort and use the middle price.
and use a time more than 1 hour.

what I am worried about is the rule:
1. margin call can create bts, this can be use to attack the whole system. I still prefer just clear the short position can't be cover.
2. the short price is limit, if the limit is too lower for some reason, like a sudden price grow of bts, nobody ask with a lower price, and no asset can be create.
I have post  for my thought here.
I have no doubt that market consensus will make bitusd track the price of USD.
but the rules with leak will break the market consensus.
the rules with too many limit will stop the market consensus.

I think we should make a rule with  less limit, and without leak.
here is my solution.
the main different is the short bitusd is separate from bid XTS.
for example:
If I want to short 100 bitUSD with price 1bitUSD/xts, I need to  freeze 200 XTS, and I can get 100  bitUSD immediately.
then I can usd these bitUSD to buy XTS with a different price, for bit order. maybe 0.5 bitUSD/XTS or whatever, there is no limit for the price of bid order.
the same, there is no limit for the price of ask order. there is no limit for the market depth check.

the key is to limit the short price.
the maximum  short price is coming from the minimum matched bid price of latest blocks(maybe latest 24*60*6 blocks).
at the beginning there is no matched bid price, we can set a safety initial limit price, come from the central trade market, like 0.01USD/XTS.

What are your thoughts on bytemaster's latest revision?

Offline bytemaster

https://www.youtube.com/watch?v=Pb-K2tXWK4w


1) You can now increase the call price of a cover order
    (5% fee still applies)
2) Switched to 1 hour moving price average rather than feeds
3) You now need 51 delegates to publish a feed (up from 3)
4) The client now warns you if you are making a bid or ask that is 5% worse than best price

GUI's hosted by our UI dev Valentine:
http://valzav.com/BitSharesXT.dmg
https://www.dropbox.com/s/0adsrsaw28v9zbd/BitSharesXT-0.0.15.exe

md5's:
Windows:          a1fd771b49d22ff4ebc15c9a80a6ac28
OSX (.dmg):      0d66cbbfb05f37c8d457b00daa37dab1

yesterday i  created 20 usd with 84 xts  , is  it a bug ?
Code: [Select]
{"type":"ask_op_type","data":{"amount":4200000,"ask_index":{"order_price":{"ratio":"0.047619047619047616","quote_asset_id":22,"base_asset_id":0},"owner":"XTS7wvWjSuuFszcVHis3PcAtPjMJTjuWWeYb"}}}

{"type":"short_op_type","data":{"amount":4200000,"short_index":{"order_price":{"ratio":"0.047619047619047616","quote_asset_id":22,"base_asset_id":0},"owner":"XTS4ukE6dmDYkp3fxEKmtHRm3f3M4VN6579c"}}}

Transaction #dffe91ef

This seems like it should have created 2 USD not 20. Can you post your transaction history?

When you take into account the precision difference between USD and XTS 20 looks like it is the right answer.. I think XTS has 5 digits and USD has 4 
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.

clout

  • Guest
this is correct:
Code: [Select]
default (unlocked) >>> blockchain_market_order_book
quote_symbol: BTC
base_symbol: BTSX

this is backwards:
Code: [Select]
default (unlocked) >>> wallet_market_order_list
base_symbol: BTC
quote_symbol: BTSX

Offline pendragon3

@alt: so all is fine now? market is still safe?
no,  control the average price to higher is still very quickly, only need 1 block.
control to low price is more difficult.

In fact, this is not a big problem, we can get the  medium price  just like  feed price, sort and use the middle price.
and use a time more than 1 hour.

what I am worried about is the rule:
1. margin call can create bts, this can be use to attack the whole system. I still prefer just clear the short position can't be cover.
2. the short price is limit, if the limit is too lower for some reason, like a sudden price grow of bts, nobody ask with a lower price, and no asset can be create.
I have post  for my thought here.
I have no doubt that market consensus will make bitusd track the price of USD.
but the rules with leak will break the market consensus.
the rules with too many limit will stop the market consensus.

I think we should make a rule with  less limit, and without leak.
here is my solution.
the main different is the short bitusd is separate from bid XTS.
for example:
If I want to short 100 bitUSD with price 1bitUSD/xts, I need to  freeze 200 XTS, and I can get 100  bitUSD immediately.
then I can usd these bitUSD to buy XTS with a different price, for bit order. maybe 0.5 bitUSD/XTS or whatever, there is no limit for the price of bid order.
the same, there is no limit for the price of ask order. there is no limit for the market depth check.

the key is to limit the short price.
the maximum  short price is coming from the minimum matched bid price of latest blocks(maybe latest 24*60*6 blocks).
at the beginning there is no matched bid price, we can set a safety initial limit price, come from the central trade market, like 0.01USD/XTS.

What are your thoughts on bytemaster's latest revision?

The nice thing about it is it protects the interests of Investors in the network by supporting BTSX price and tending to increase ROI. But does it really solve the underlying problem? If the "insurance" fund went negative (admittedly a small probability) then what? Would more BTSX have to be printed if a problem event occurred? Another drawback is that it also makes it much more complex to understand the economics, as Bytemaster said. It would make it harder for market participants to properly value BTSX.

I don't have anywhere near a complete understanding of the BTSX market system, but isn't the root of the problem an imperfection in the functioning of the market? With proper collateral requirements and price change restrictions or temporary halts, why couldn't the collateral for shorts always be made to be sufficient for covering them?


Offline bitcoinerS

  • Hero Member
  • *****
  • Posts: 592
    • View Profile
Assert Exception


Code: [Select]
>>> blockchain_market_order_book USD BTC
                  BIDS (* Short Order)                                       |                                   ASKS                                 
TOTAL                     QUANTITY                                     PRICE | PRICE                                        QUANTITY                     TOTAL   COLLATERAL
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1.0000 USD                1.00000000 BTC                  1.000000000000 USD |
Last Error:  Assert Exception (10)
!"Not Implemented":

Details:
10 assert_exception: Assert Exception
!"Not Implemented":
    {}
    th_a  market_records.cpp:65 get_quantity


Code: [Select]
>>> about
{
  "bitshares_toolkit_revision": "c6a3c16aa297c977d3f5de61194f30e1af186e8c",
  "bitshares_toolkit_revision_age": "34 hours ago",
  "fc_revision": "8468f392cebb291587e0d87cdf9bef9bf167acfc",
  "fc_revision_age": "80 hours ago",
  "compile_date": "compiled on Aug 16 2014 at 20:43:39"
}
>>> approve bitcoiners


Offline vikram

https://www.youtube.com/watch?v=Pb-K2tXWK4w


1) You can now increase the call price of a cover order
    (5% fee still applies)
2) Switched to 1 hour moving price average rather than feeds
3) You now need 51 delegates to publish a feed (up from 3)
4) The client now warns you if you are making a bid or ask that is 5% worse than best price

GUI's hosted by our UI dev Valentine:
http://valzav.com/BitSharesXT.dmg
https://www.dropbox.com/s/0adsrsaw28v9zbd/BitSharesXT-0.0.15.exe

md5's:
Windows:          a1fd771b49d22ff4ebc15c9a80a6ac28
OSX (.dmg):      0d66cbbfb05f37c8d457b00daa37dab1

yesterday i  created 20 usd with 84 xts  , is  it a bug ?
Code: [Select]
{"type":"ask_op_type","data":{"amount":4200000,"ask_index":{"order_price":{"ratio":"0.047619047619047616","quote_asset_id":22,"base_asset_id":0},"owner":"XTS7wvWjSuuFszcVHis3PcAtPjMJTjuWWeYb"}}}

{"type":"short_op_type","data":{"amount":4200000,"short_index":{"order_price":{"ratio":"0.047619047619047616","quote_asset_id":22,"base_asset_id":0},"owner":"XTS4ukE6dmDYkp3fxEKmtHRm3f3M4VN6579c"}}}

Transaction #dffe91ef

This seems like it should have created 2 USD not 20. Can you post your transaction history?

Offline toast

  • Hero Member
  • *****
  • Posts: 4001
    • View Profile
  • BitShares: nikolai
^^ no, burning bitassets does not have the same effect as burning a fixed-supply (or fixed rate of creation) currency. The locked up BitUSD ultimately results in the price of BTSX going up, not bitUSD
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 zhangweis

  • Sr. Member
  • ****
  • Posts: 305
    • View Profile
It does not make it an asset with dividends, it just goes from the users' bank account to the DAC's bank account and the market peg will continue to function like it always did.   

What it does do is build up some capital inside the DAC which may become like AAPL's cash hoard.  This value "on the balance sheet" is still accumulated to BTS X shareholders because for the BitUSD to exist on our balance sheet, someone has tied up 2x the value in collateral somewhere which means it is "out of circulation". 

As crazy as it may sound, it actually results in a 2x ROI for BTSX to hold USD reserves rather than sell them.  You don't see it in the share supply, but I suspect we could create a "virtual share supply" calculation that calculates the XTS held in collateral for the USD in the fund and "subtract" it from the XTS supply. 

It does mean that some shorts will NEVER be able to cover at any price because the USD is "out of circulation".  This shouldn't really be a problem, all users are entitled to hold their USD so a short has to increase their bid for USD to get priority.   

Boy the economics of this are complex.... holding USD is a bet against XTS,  but requires someone else to make an equal and opposite leveraged bet for XTS.   The result is the same as increasing the demand for XTS and burning it as dividends in terms of how it should impact the XTS price.

Well, I meant that it has the effect like an asset with dividends as some shorts will never be covered. It's something like I burn some BTC and all the BTC holders will benefit. As this burning happens continuously it's quite similar with dividends. The recycle of the fund is like a negative dividends but it happens much less so the overall effect is like positive dividends. Anyway I think it's good to make an asset backed with something like this to avoid its price going to zero.
Weibo:http://weibo.com/zhangweis

Offline vikram

@alt: so all is fine now? market is still safe?
no,  control the average price to higher is still very quickly, only need 1 block.
control to low price is more difficult.

In fact, this is not a big problem, we can get the  medium price  just like  feed price, sort and use the middle price.
and use a time more than 1 hour.

what I am worried about is the rule:
1. margin call can create bts, this can be use to attack the whole system. I still prefer just clear the short position can't be cover.
2. the short price is limit, if the limit is too lower for some reason, like a sudden price grow of bts, nobody ask with a lower price, and no asset can be create.
I have post  for my thought here.
I have no doubt that market consensus will make bitusd track the price of USD.
but the rules with leak will break the market consensus.
the rules with too many limit will stop the market consensus.

I think we should make a rule with  less limit, and without leak.
here is my solution.
the main different is the short bitusd is separate from bid XTS.
for example:
If I want to short 100 bitUSD with price 1bitUSD/xts, I need to  freeze 200 XTS, and I can get 100  bitUSD immediately.
then I can usd these bitUSD to buy XTS with a different price, for bit order. maybe 0.5 bitUSD/XTS or whatever, there is no limit for the price of bid order.
the same, there is no limit for the price of ask order. there is no limit for the market depth check.

the key is to limit the short price.
the maximum  short price is coming from the minimum matched bid price of latest blocks(maybe latest 24*60*6 blocks).
at the beginning there is no matched bid price, we can set a safety initial limit price, come from the central trade market, like 0.01USD/XTS.

What are your thoughts on bytemaster's latest revision?

Offline xeroc

  • Board Moderator
  • Hero Member
  • *****
  • Posts: 12922
  • ChainSquad GmbH
    • View Profile
    • ChainSquad GmbH
  • BitShares: xeroc
  • GitHub: xeroc
crosposting:
Bitcoin price flash crashes to $451 on BitFinex due to margin calls
https://bitsharestalk.org/index.php?topic=7019.msg93442#msg93442

Offline btsfans

  • Full Member
  • ***
  • Posts: 114
    • View Profile
https://www.youtube.com/watch?v=Pb-K2tXWK4w


1) You can now increase the call price of a cover order
    (5% fee still applies)
2) Switched to 1 hour moving price average rather than feeds
3) You now need 51 delegates to publish a feed (up from 3)
4) The client now warns you if you are making a bid or ask that is 5% worse than best price

GUI's hosted by our UI dev Valentine:
http://valzav.com/BitSharesXT.dmg
https://www.dropbox.com/s/0adsrsaw28v9zbd/BitSharesXT-0.0.15.exe

md5's:
Windows:          a1fd771b49d22ff4ebc15c9a80a6ac28
OSX (.dmg):      0d66cbbfb05f37c8d457b00daa37dab1

yesterday i  created 20 usd with 84 xts  , is  it a bug ?
Code: [Select]
{"type":"ask_op_type","data":{"amount":4200000,"ask_index":{"order_price":{"ratio":"0.047619047619047616","quote_asset_id":22,"base_asset_id":0},"owner":"XTS7wvWjSuuFszcVHis3PcAtPjMJTjuWWeYb"}}}

{"type":"short_op_type","data":{"amount":4200000,"short_index":{"order_price":{"ratio":"0.047619047619047616","quote_asset_id":22,"base_asset_id":0},"owner":"XTS4ukE6dmDYkp3fxEKmtHRm3f3M4VN6579c"}}}

Transaction #dffe91ef
« Last Edit: August 16, 2014, 04:58:47 pm by btsfans »
拷问3i !

Offline tonyk

  • Hero Member
  • *****
  • Posts: 3308
    • View Profile
It does mean that some shorts will NEVER be able to cover at any price because the USD is "out of circulation".  This shouldn't really be a problem, all users are entitled to hold their USD so a short has to increase their bid for USD to get priority.   

Not never, they will be able to cover in the event the insurance fund needs to be used up. - but that is theoretic discussion...
In practice those would be shorts that the price has moved a lot in their favor; they can close that position and open a new one at the current price, freeing most of their collateral.

As I said in my previous post I like that plan a lot - one question tho. You plan to use only fees generated when somebody does not have BTSX, so he pays in bitUSD, correct? If this is indeed the case, I fear this can be too slow of a accumulation (as in fund growth) at the beginning. It would be nice if you can think of a way to make it faster at launch/when the fund is low, without increasing too much business logic/code complexity of course.

MARKET FEES from bid/ask overlap will be much higher than TRANSFER fees paid.  Perhaps as high as 1% of trade volume.

OK that's what you call 'market fees' - good than. That should be enough.
On another note we have an argument in which you claimed those are not fees... :)
Lack of arbitrage is the problem, isn't it. And this 'should' solves it.

Offline bytemaster

It does mean that some shorts will NEVER be able to cover at any price because the USD is "out of circulation".  This shouldn't really be a problem, all users are entitled to hold their USD so a short has to increase their bid for USD to get priority.   

Not never, they will be able to cover in the event the insurance fund needs to be used up. - but that is theoretic discussion...
In practice those would be shorts that the price has moved a lot in their favor; they can close that position and open a new one at the current price, freeing most of their collateral.

As I said in my previous post I like that plan a lot - one question tho. You plan to use only fees generated when somebody does not have BTSX, so he pays in bitUSD, correct? If this is indeed the case, I fear this can be too slow of a accumulation (as in fund growth) at the beginning. It would be nice if you can think of a way to make it faster at launch/when the fund is low, without increasing too much business logic/code complexity of course.

MARKET FEES from bid/ask overlap will be much higher than TRANSFER fees paid.  Perhaps as high as 1% of trade volume.
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.