Author Topic: A BitCurrency Bank and a BitTradingAsset derivatives exchange  (Read 7878 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
I'm not sure about how the current price feed mechanism works, but we can try looking at your question from a different perspective.  Using your example, if it was a riskless exchange, people who wanted to buy BTS cheap would purchase the bitUSD for $0.80 per and sell it for BTS and push the bitUSD price up naturally.  If  the bitUSD at $0.80 was  at a risky exchange, the cheap prices would be the risk discount. 

If the exchange was considered risky, this would affect all assets at the exchange, so would not explain why a bitUSD should trade cheap relative to other assets on the same exchange.

I believe that there are many alternative reasons why a bitUSD could trade cheap relative to other assets, in the absence of forced settlement at or above a feed price. Such possibilities might include the lack of guaranteed settlement itself, black swan/solvency risk, illiquidity, potential risk in converting BTS proceeds to USD if BTS is volatile, lack of market interest in bitUSD etc. If we admit the possibility of such views, there is no means by which one can be assured that a current bitUSD is cheap or expensive relative to its value in the future in a free-floating market.


Now there are two ways to invest in BTS.  You can just buy more BTS directly (ie. via US dollars converted to BTC from Coinbase then using Metaexchange)  or you can leverage your existing BTS positions and create bitUSD.  Both prices should generally converge based on the demand for BTS.  As an investor you just ask what is the cheapest way to get exposure to BTS?  Short bitUSD or buy BTS directly?  Your decision to do either based on the cheapest price will naturally balance the two markets.   When BTS is cheap relative to bitUSD you short.  When BTS is expensive relative to bitUSD you buy BTS directly.


The person who wants to invest in BTS has 2 choices, but they are not against the same asset, and so bear different risks. One they buy with USD. The other they make a bet against bitUSD. The argument that they are indifferent between these choices and simply buy the cheapest form assumes a priori that they expect the markets to converge. But then you are using that behaviour as evidence to show why we should expect the markets to converge. That is a circular argument in my opinion.

If we accept that logic, I could construct a simple counter-argument. Let's suppose the market does not believe that bitUSD and USD are comparable assets, and there is no expectation of convergence. Now the investor cannot decide which is the cheapest form. As a result, their trading behaviour will reflect different valuations, and no convergence will happen - which is also consistent with their initial expectation.

Not intending to cut you off, and I do appreciate your very considered response merivercap, but rather than go too far off the original purpose of this thread, I've raised this important issue in an another thread here...
https://bitsharestalk.org/index.php/topic,15474.msg199230.html#msg199230




Offline merivercap

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
    • BitCash
I think Bytemaster mentioned the current price feed is mainly in place because of the low liquidity, otherwise the system wouldn't have to rely on price feeds .  Ultimately you get enough volume on a platform and you become the price feed.  You also have to consider counterparty risk & entry/exit fees when evaluating price feeds on the various exchanges.
OK, so I'm trying to think through how this would work.
So if a bitUSD on external exchanges is trading for $0.80 real USD, do you set the feed price at 25% above the current bitUSD:BTS market price, so there is no more supply created until bitUSD pegs with real USD outside? In which case you still need a feed price...?

Interesting question.  I think Total Return Swaps & CFDs in general use an agreed upon price feed, but it may not be necessary in the current system.  Whatever is going on it seems to be working right? :)

I'm not sure about how the current price feed mechanism works, but we can try looking at your question from a different perspective.  Using your example, if it was a riskless exchange, people who wanted to buy BTS cheap would purchase the bitUSD for $0.80 per and sell it for BTS and push the bitUSD price up naturally.  If  the bitUSD at $0.80 was  at a risky exchange, the cheap prices would be the risk discount. 

We can step back and just think about what creates the market & price for bitUSD in the first place.   If you generate an order to create bitUSD you might offer it at 200BTS.   If someone buys that new bitUSD from you, the contract-for-difference (CFD) price will be set at '$.005' for each BTS. (Usually a CFD has an agreed upon price feed, but this CFD can be based on the market price of existing or new bitUSD at any point in time.) A month later a second bitUSD can be created by someone else at '$.01' for each BTS (or 100BTS for 1bitUSD).  The price of BTS doubles vs bitUSD.  All these orders to create bitUSD automatically generates pricing of what bitUSD is worth in BTS.  With high liquidity, the bitUSD creation/destruction process itself can generate USD/BTS pricing. 

Now there are two ways to invest in BTS.  You can just buy more BTS directly (ie. via US dollars converted to BTC from Coinbase then using Metaexchange)  or you can leverage your existing BTS positions and create bitUSD.  Both prices should generally converge based on the demand for BTS.  As an investor you just ask what is the cheapest way to get exposure to BTS?  Short bitUSD or buy BTS directly?  Your decision to do either based on the cheapest price will naturally balance the two markets.   When BTS is cheap relative to bitUSD you short.  When BTS is expensive relative to bitUSD you buy BTS directly.

Furthermore if you used price feeds there are potentially many, each with various counterparty risks and entry/exist friction:
US dollars (via checkbook money) -> BTC (via Coinbase) -> BTS (via Metaexchange)
US dollars (federal reserve notes) -> BTC (via LocalBitcoins) -> BTS (via Metaexchange)
US dollars (via checkbook money) -> BTC (via Coinbase) -> CNY (via BTC38) -> BTS (via BTC38)
US dollars (federal reserve notes) -> BTC (via LocalBitcoins) -> BTS (via Poloniex)
US dollars (federal reserve notes/Moneygram) -> BTC (via LocalBitcoins) -> BTS (via BTER)

If 90% of the volume was in trading & creating bitUSD and 10% of the volume was in investing in BTS directly, the bitUSD market would probably be a better indicator of USD/BTS pricing.... prices are always changing, always subjective... differs in time & place & mood etc.. so there is never really ever a true objective price or 'price feed' for anything.

Anyways those are just some thoughts... it may be good for me to experiment before theorizing too much and analyze the actual markets, but I'm waiting for trading on the web wallet to test.  I guess I can download a light client for Windows too...
BitCash - http://www.bitcash.org 
Beta: bitCash Wallet / p2p Gateway: (https://m.bitcash.org)
Beta: bitCash Trade (https://trade.bitcash.org)

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
I think Bytemaster mentioned the current price feed is mainly in place because of the low liquidity, otherwise the system wouldn't have to rely on price feeds .  Ultimately you get enough volume on a platform and you become the price feed.  You also have to consider counterparty risk & entry/exit fees when evaluating price feeds on the various exchanges.
OK, so I'm trying to think through how this would work.
So if a bitUSD on external exchanges is trading for $0.80 real USD, do you set the feed price at 25% above the current bitUSD:BTS market price, so there is no more supply created until bitUSD pegs with real USD outside? In which case you still need a feed price...?

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
I think Bytemaster mentioned the current price feed is mainly in place because of the low liquidity, otherwise the system wouldn't have to rely on price feeds .  Ultimately you get enough volume on a platform and you become the price feed.  You also have to consider counterparty risk & entry/exit fees when evaluating price feeds on the various exchanges.
Yes, thanks for raising it again. The fact that this opinion is coming up a lot, and conflicts with my own view, means I need to give it deeper thought. I doubt I'll convince anyone of the need for feed-relative orders if they don't agree we need feeds in the first place!

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
I believe I remember a post or mumble a while back from Dan saying that relative orders code had been written but not implemented due to the increased risks that relative orders create for average users in terms of attacks or manipulation because of the current price feed implementation.
Thanks for the heads up GD. I'll try to ferret this out, unless somebody can point out where it is.

As for strength of bitasset pegs, the more they depend on price feeds, the less independent the system can become; that is, if people depend solely on the internal price feeds, then the feeds can be manipulated and/or turned off by governments and other wealthy attackers. Better price feeds seem like an ideal solution now, especially with the low levels of liquidity, however, in the long run BitShares may be much more robust and resistant to tampering by governments and other forces the less it depends on external information.
I empathise with this concern to make the system independent of external hands. I wonder how much of a risk it really is though. As long as delegates or other price-feed submitters have access to external price sources, I'm not sure how anybody can prevent them from providing those feeds. If the price feeds come from other exchanges, the only way a government could turn off public access to that is by shutting down those exchanges. Such an action would have wider ramifications. But if it did that, there would be no way for users to know if they are getting a fair price anyway (no external BTS price), irrespective of whether we had external price feeds or not.

Though GD, I do worry about the lack of liquidity in BTS on these external exchanges. I have suggested elsewhere that it might be possible to set up a decentralised exchange for trading BTS against fiat, using escrow and other security features. Then we might have an exchange-driven price feed that is tamper-proof.

The only other alternative I can imagine is if we had a mechanism to ensure that the value of all bitAssets against each other bears the same relationship that these assets have externally against any other metric such as USD (which would still require a feed of prices for each asset against a common external metric). This would not require an external BTS feed at all. Then the value of BTS would be inferred from the price such a basket of bitAssets fetches in BTS on the internal exchange. Just thinking off the top of my head here, I don't know if this is feasible, or what other ramifications there might be.

I may be wrong, but as far as I understand, the idea for strengthening the pegs with infrequent feeds is that people will know the feeds are imperfect and as such will generally seek price information outside of the system.  In the future, if all major liquidity providers are using data feeds outside of the bts exchange, then the pegs will tighten and bts will not compromise its robustness. It does seem to be a kind of chicken-or-the-egg problem, however, I forecast people taking the risk to increase liquidity and strengthen the peg with information other than the internal price feed implementation because a tighter peg is better for business and all of those  who will be in the liquidity business will probably agree.
That would be great if it could happen, but as much as I've read this opinion, I can't get my head around it.

Liquidity providers cannot enforce a peg if the market disagrees that is the correct valuation for the bitAsset. Let's say the market comes to a consensus that a bitUSD is worth only 0.9 of a real USD, taking into account acceptance, collateral risk, regulatory risk, or other factors. Now a liquidity provider sets up buys and sells just around the peg price. All current owners would sell instantly to the liquidity provider. Now he ends up with all the bitUSD in his hands for which he has paid $1 worth of BTS for each. This is a big loss.

In my opinion, it's only the possibility of arbitrage that strengthens the peg. Market-makers can only provide liquidity around the natural market price, because that's where they will make the spread profit. More liquidity providers and bots may do a lot of things, but will never strengthen the peg. It needs arbitrage, and arbitrage requires certain parties to be contractually obligated to settle at the feed price. And it further needs tools such as I'm discussing in this thread. That's at least the way I see it, and if I'm right, we are barking up the wrong tree completely talking purely about liquidity providers and neglecting arbitragers, if its the peg we want to enforce.
« Last Edit: March 30, 2015, 01:44:10 am by starspirit »

Offline merivercap

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
    • BitCash
In my OP I had the idea of separating these users by having two separate markets, a free market in the bitAsset, and a 'banking mechanism' which would be for advanced users adopting these strategies. But it could all take place in one market, with each user just getting a different perspective on it. Still thinking this bit through.
Yes there could probably be various ways to tweak the system and using the perspectives of two separate groups is good.  I'll comment after playing around more down the road.  I think the raw market engine could just be as loose and flexible as possible and people can build various exchange platforms on top of it correct?  I think the primary revenue source early on for the Bitshares ecosystem will be transaction fees from traders/speculators.  There are people new to the wild west of  margin trading & derivatives that once was closed off for Wall Street and limited in online trading platforms.   Look at how much volume Bitfinex has.  http://bitcoincharts.com/markets/  $325 million per month!!!!  Can you imagine how much transaction fees will be accrued from all the trading if you just created a similar platform?  You can leverage there up to 2.5 times so allowing greater leverage can be incredibly useful for liquidity.  I started following Bitcoin after the fall of Bitcoinica, but they were the first to create margin trading and from what I understand got to the level of MtGox volume in the early years.   That's why catering to traders and speculators is important and introducing new people to this wild west of boom/bust margin trading is very good for liquidity.  It's also why I stress usability.  Is anyone planning to build a custom exchange off the Bitshares blockchain & market engine?  I think that would be a fantastic project. 

Also I think the marketing & communication is also needed to explain what creating bitUSD & trading bitUSD allows... 
The leverage is 1.5 to 1 so that you can make 50% more if you are short bitUSD and BTS appreciates, so instead of your BTS going up by 100% when BTS appreciates, you gain 150%... (Did I get my numbers right?)  Anyways .. leverage is exciting.. and the more the leverage the more action and attention you'll get... but I think 50% is pretty good already.

I believe we need price feeds - I don't know any way to get around that. So absolutely, improving the robustness of price feeds is a key challenge that deserves much further investigation and whole threads dedicated to it. FYI I made a comment recently here (that does not address all the points you make)... https://bitsharestalk.org/index.php?topic=15331.msg197641#msg197641

I think Bytemaster mentioned the current price feed is mainly in place because of the low liquidity, otherwise the system wouldn't have to rely on price feeds .  Ultimately you get enough volume on a platform and you become the price feed.  You also have to consider counterparty risk & entry/exit fees when evaluating price feeds on the various exchanges.
BitCash - http://www.bitcash.org 
Beta: bitCash Wallet / p2p Gateway: (https://m.bitcash.org)
Beta: bitCash Trade (https://trade.bitcash.org)

Offline Globally Distributed

  • Full Member
  • ***
  • Posts: 54
    • View Profile
I believe I remember a post or mumble a while back from Dan saying that relative orders code had been written but not implemented due to the increased risks that relative orders create for average users in terms of attacks or manipulation because of the current price feed implementation.

As for strength of bitasset pegs, the more they depend on price feeds, the less independent the system can become; that is, if people depend solely on the internal price feeds, then the feeds can be manipulated and/or turned off by governments and other wealthy attackers. Better price feeds seem like an ideal solution now, especially with the low levels of liquidity, however, in the long run BitShares may be much more robust and resistant to tampering by governments and other forces the less it depends on external information.

I may be wrong, but as far as I understand, the idea for strengthening the pegs with infrequent feeds is that people will know the feeds are imperfect and as such will generally seek price information outside of the system.  In the future, if all major liquidity providers are using data feeds outside of the bts exchange, then the pegs will tighten and bts will not compromise its robustness. It does seem to be a kind of chicken-or-the-egg problem, however, I forecast people taking the risk to increase liquidity and strengthen the peg with information other than the internal price feed implementation because a tighter peg is better for business and all of those  who will be in the liquidity business will probably agree.
"People don't buy what you do, they buy why you do it."  https://www.youtube.com/watch?v=u4ZoJKF_VuA

kudos robrigo

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
My head hurts trying to follow this.   :P
I totally understand! This thread started as an idea, and I've used it as a place to evolve that idea and collect my thoughts. I would like to turn this into a clear and simple proposal in the the end, but I thought by putting it all on here, others could comment if they wish. I will simplify it.

Also usability can be an issue.  All this seems really complicated and if there's a way to simplify the process that could definitely help.  I really don't want to know all the moving parts.  I don't really want to think too much.  I'd like to just click a few buttons and be done.
The functionality I am describing here is only required for advanced users that engage in arbitrage, market-making and shorting. This functionality would be provided to ensure the best pegging and liquidity we can get, because that's what will attract average users. For most of these users however, it is stuff that happens behind the scenes. All most users will ever want to do is trade bitUSD to/from BTS at price-points, and never relative to fair. Despite this, they demand good pegging and liquidity, which advanced users must have the right tools to provide them.

What I imagine at the moment is that from the average user's perspective all they see is a wide range of markets where they can trade in and out at price limits or market orders. They never need to see separate short orders, fee-price relative orders, self-orders etc, and they can use a basic client that is free of this functionality. Advanced users use a full client with all this functionality, which makes their strategies simpler and profitable. Of course anybody could partake in this if they like.

In my OP I had the idea of separating these users by having two separate markets, a free market in the bitAsset, and a 'banking mechanism' which would be for advanced users adopting these strategies. But it could all take place in one market, with each user just getting a different perspective on it. Still thinking this bit through.

I hope that helps alleviate the concern some may have that "this seems all too complicated". The debate can at times be complicated, but in fact, as long as we design the most effective mechanisms, it can make life simpler for both sets of users.

How do both systems compare with Bitfinex?  I've used Bitfinex a little bit with a general understanding of how it works and it also works like a Total Return Swap/ CFD, but I don't even know my interest rate when trading.  I assume it's the lowest available interest rate and I just really track the daily swap costs to make sure it's not too bad. 
Not sure from what perspective you mean. A big difference is that because there is no pegging required there, the market is completely free. Bitfinex also takes a cut of interest...

I'm not sure how good price feeds are from the current exchanges.  Furthermore, price feeds in general are just rough proxies of value for shares that trade at some point in time among a few investors/speculators.   All value is subjective and constantly changing.  Prices don't give a good gauge of value among the broad spectrum of shareholders, because most shareholders don't actively trade.  Less than 0.5% of outstanding shares trade in a day.   If a few big whales wanted out, the price would take the price down a lot.. let's say 25%... if a few big whales wanted in.. it would take it up 25%...without liquidity you have a few retail speculators dictating the marketcap of the entire ecosystem.  That's also why too many people on the forum focus on marketcap when in a illiquid market pricing doesn't really tell you that much.  You probably have a bunch of big whales looking at binary scenarios who don't really trade much.  On the demand side, there isn't much going on either.  Even if the prices become cheap, doesn't mean big shareholders have to accumulate more.  They could be satisfied and saturated with their positions, but value their shares much more than the current price.  Let's say for example 99% of all shareholders that did not trade valued their shares at a $100 million market cap and would not sell until then.  Even if prices of 1% float trading among a few speculators back and forth with each other went on to reflect a $20 million market cap, doesn't mean the 99% of shareholders will value their shares any less and also doesn't mean they'd want to accumulate more either.   Anyways I'm digressing a bit.  You probably need a lot more liquidity to get a decent price-feed, but if your system creates more liquidity and action it may be something to consider. 
I believe we need price feeds - I don't know any way to get around that. So absolutely, improving the robustness of price feeds is a key challenge that deserves much further investigation and whole threads dedicated to it. FYI I made a comment recently here (that does not address all the points you make)... https://bitsharestalk.org/index.php?topic=15331.msg197641#msg197641

Offline merivercap

  • Hero Member
  • *****
  • Posts: 661
    • View Profile
    • BitCash
My head hurts trying to follow this.   :P

I probably will take time to sit down and think about both the current and proposed mechanisms, but I assume for now there is just not enough market making bots.  At this point I don't know exactly how the current system works other than at a high level it's like a Total Return Swap and contract-for-difference (CFD).  I haven't traded bitUSD and was going to comment after experimenting a little.  Even then all I would probably want to know is:
-What price I would get for bitUSD and what interest rate. 
-As a short all I want to know is what is the interest rate cost
-Lastly I just want liquidity and simplicity.

How do both systems compare with Bitfinex?  I've used Bitfinex a little bit with a general understanding of how it works and it also works like a Total Return Swap/ CFD, but I don't even know my interest rate when trading.  I assume it's the lowest available interest rate and I just really track the daily swap costs to make sure it's not too bad. 

I'm not sure how good price feeds are from the current exchanges.  Furthermore, price feeds in general are just rough proxies of value for shares that trade at some point in time among a few investors/speculators.   All value is subjective and constantly changing.  Prices don't give a good gauge of value among the broad spectrum of shareholders, because most shareholders don't actively trade.  Less than 0.5% of outstanding shares trade in a day.   If a few big whales wanted out, the price would take the price down a lot.. let's say 25%... if a few big whales wanted in.. it would take it up 25%...without liquidity you have a few retail speculators dictating the marketcap of the entire ecosystem.  That's also why too many people on the forum focus on marketcap when in a illiquid market pricing doesn't really tell you that much.  You probably have a bunch of big whales looking at binary scenarios who don't really trade much.  On the demand side, there isn't much going on either.  Even if the prices become cheap, doesn't mean big shareholders have to accumulate more.  They could be satisfied and saturated with their positions, but value their shares much more than the current price.  Let's say for example 99% of all shareholders that did not trade valued their shares at a $100 million market cap and would not sell until then.  Even if prices of 1% float trading among a few speculators back and forth with each other went on to reflect a $20 million market cap, doesn't mean the 99% of shareholders will value their shares any less and also doesn't mean they'd want to accumulate more either.   Anyways I'm digressing a bit.  You probably need a lot more liquidity to get a decent price-feed, but if your system creates more liquidity and action it may be something to consider. 

Also usability can be an issue.  All this seems really complicated and if there's a way to simplify the process that could definitely help.  I really don't want to know all the moving parts.  I don't really want to think too much.  I'd like to just click a few buttons and be done.

BitCash - http://www.bitcash.org 
Beta: bitCash Wallet / p2p Gateway: (https://m.bitcash.org)
Beta: bitCash Trade (https://trade.bitcash.org)

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
Why feed-price relative orders will improve pegging and liquidity

My previous post showed that a mechanism allowing sell orders to be set at the median feed price (MFP) would lead to more robust arbitrage of bitCurrency discounts (e.g. bitUSD). In this post I would like to expand that to the ability of all participants to be able to place orders that are set relative to the median feed price (MFP +/- X%). I believe this should encourage a wider group of arbitragers and market-makers to participate in strategies that help strengthen the peg, but it will have to be determined through debate how much relative benefit this might add. My OP originally allowed orders to be set at the feed price (FP + 0%) via the 'bank' mechanism - this post generalises that line of thinking to MFP+/-X%, again using bitUSD as an example.

If bitUSD is trading at a discount, arbitragers could buy bitUSD and place a sell order at MFP (they can also hedge their reduced BTS exposure elsewhere). We know such an order, if permitted, must be hit within 30 days, unlike any order that can be placed in the current system (see previous post). This means that the discount should never be greater than the return arbitragers demand for tying up some capital for up to 30 days.

In fact, whenever a sell order is placed in the queue at MFP, it's possible to use the queue of short expiries to determine the maximum time it will take for any new sell order to get hit (this would be a useful public metric). This could range anywhere between 0 and 30 days. Arbitragers (and others) can always use this metric to weigh up the discount against the time.

Now in some scenarios, if a high return is demanded by arbitragers, the discount could still be high. Some arbitragers may prefer to capture just part of the discount if they can close the trade more quickly. So on buying at MFP - 4% say, they could place an order to sell at MFP - 2%, and hope to get hit by a new group of buyers or arbitragers coming in at the lower discount before the expiries occur. So allowing both buyers and sellers to trade relative to MFP allows a wider group of arbitragers and bargain hunters to trade exposures relative to the MFP. (*)

With regard to premiums on bitUSD, although there is not a strict arbitrage available, its possible to make the process simpler and less costly for market-makers by introducing self-creation, self-cancelling, and self-rolling mechanisms as I describe here...https://bitsharestalk.org/index.php?topic=15207.msg196314#msg196314. This would encourage greater market-making activity to exploit premiums. For example, a market-maker could wait for a premium to appear, self-create bitUSD, sell bitUSD at a premium for real USD, wait for a future reversion of the premium, buy back bitUSD with their USD, and use the bitUSD to self-cancel their short. All without ever having changed their exposure to BTS. (**)

By allowing such orders to be conditional on certain levels of discount or premium (in practice, determined by comparing to the highest bid or lowest ask prices), this would allow market-makers to set standing orders and wait, rather than monitoring for the opportunity. They can more easily implement a strategy such as (Sell at X% premium, and close at X-2% premium). Or (Sell at X% premium, and close at 1% discount). These parameters allow for the heterogenous views of market-makers on where they think the trading ranges might be, and how long they are willing to hold positions.

An alternative strategy (especially if there is not a liquid external market in the bitAsset) is to short bitAsset internally at the premium, and sell BTS and buy USD on external exchanges as a hedge. When the premium narrows, close the short and remove the external hedges. For such outright short positions, allowing limit orders to be placed on new shorts at MFP + X%, and limit orders for short covering at MFP +/- X%, might encourage this type of market-making also. This is not really possible in the current system because there is no way a short can guarantee shorting at a premium unless they are willing to constantly change their price limit, and short covers are effectively a market order.

In summary, I'm of the view that the ability for all parties to set orders that are relative to the feed price, and for self-order mechanisms to be conditional on these, creates a rich and effective environment for arbitragers and market-makers to implement their strategies. This in turn will lead to better pegging and liquidity around that.

[ * If the MFP relative trading took place separate to the main market as proposed in the original OP, its possible to incorporate a wider range of possibilities, such as queued withdrawals selling their queue positions.
** This assumes there is a liquid external market for the bitAsset. bitUSD right now has zero volume at BTER]

« Last Edit: March 29, 2015, 02:08:26 am by starspirit »

Offline ebit

  • Committee member
  • Hero Member
  • *
  • Posts: 1911
    • View Profile
  • BitShares: ebit
telegram:ebit521
https://weibo.com/ebiter

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
[Edit 25 Mar: I am modifying this post from its original form, as I'm testing the logic a bit more]
« Last Edit: March 25, 2015, 12:41:16 am by starspirit »

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
I believe this proposal is nearly equivalent to the current BitAsset system with no expiration period, ...

There are further aspects of the proposal I would like to discuss in subsequent posts, but I'll start with an example of where I think the proposed mechanisms would allow greater arbitrage opportunity, and consequently liquidity, compared to the current system. The specific arbitrage opportunity in this case is when the bitCurrency is at a discount to the feed price, and the mechanism that helps the arbitrage is the ability to set a withdrawal order that sits and moves with the feed price. Just take this as a starting example to justify at least this capability, recognising it says nothing about the remainder of the proposal at this stage.

Arbitrage process when the free market price is at a discount to the peg

In theory we know that if a bitUSD sell order could be placed at the price feed, and move with the price feed, that the order will be satisfied within 30 days because of the requirement that all shorts expire. If bitUSD were at a discount, it would be possible to buy the bitUSD, place a sell order at the price feed, and when it is hit, to sell the BTS for an arbitrage profit.

In practice, this arbitrage is not possible in the current system. The sell order would need to be constantly shifted with the price feed, and that would lose position in the sell queue. As the price feed cannot be known easily in advance of the next shift, when the price feed changes, it is also possible that the order is filled at a discount to the new price feed, or that other sell or short orders are met ahead of it if the order now sits even briefly at a premium to the price feed. So there are uncertainties as to the relative price achieved as well as position in the queue. There are monitoring and order-changing costs. And there is no guarantee that the order can even be met within 30 days.

Under the proposed mechanism, the bitUSD holder places a sell order that is guaranteed to be met within 30 days at the price feed. So a significant risk has been taken away from the arbitrager. The following hedged arbitrages (ie no net change in BTS exposure) then become more effective:

If the arbitrager is operating from a base of:

i)   real USD: they buy bitUSD on an external exchange at a discount and set a sell order at the feed price on the internal exchange. They get hit within 30 days, then sell the BTS for USD in the free market.

ii)   BTS: they buy bitUSD on the internal exchange, and hedge this by buying BTS back with real USD on an external exchange. They set a sell order on the bitUSD at the feed price on the internal exchange. They get hit within 30 days, receiving BTS, and sell their BTS hedge on the external exchange.

In both cases there is still some risk of an unhedged exposure to BTS in the time it takes between getting hit on an order on the internal exchange versus offsetting the exposure in the external exchange. But this existed in the current system anyway. The biggest risk cut out here is the relative price and timing risk on the sell order on the internal exchange.

In principle then, any discounts to the feed price should be limited to the rate of return arbitragers demand for locking up some capital for 30 days.
« Last Edit: March 23, 2015, 06:53:24 am by starspirit »

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
Although there's more steps, it achieves essentially the same function as a voluntary short cover in the current regime.

It seems exactly like the voluntary short cover in the existing system. This wasn't the problem.

Its also possible to have a converse mechanism to create supply if new borrowers wish to act more urgently. For example, the new borrower can self-create a loan and corresponding units of bitCurrency, as long as their interest rate satisfies some minimum condition that does not give them unfair interest rate advantage relative to the current market (not sure what such condition should be yet).

Well you told me to assume that the loans aren't callable in this discussion (which is essentially the same as going back to the BitAsset system with no expiration period). In such a case, this sort of self-shorting outside of the market isn't an issue. This was already discussed in fact in a thread bytemaster posted about a proposal to simplify the BitAsset system which has since been rejected. The problem with the proposal is that if you do want an expiration period, the self-shorting outside the market allows borrowers to get around the expiration restrictions. Those selling below the price feed expect to be matched within 30 days, but if a short can just roll over their shorts outside of the market, those BitAsset sell orders under the price feed may remain for an indefinite amount of time. A tweak to correct this is to disallow self-shorting outside the market if there are any BitAsset sell orders under or at the price feed (but with that restriction in place you might as well just use the current system and match your own short). To use your terminology, a borrower would not be allowed to self-create a loan if there is a withdrawal waiting in the queue.

- all participants can be guaranteed the feed price, subject to queuing

That isn't just a small detail though. I can "guarantee" any price for any asset as long as the time at which it will be settled is allowed to be unbounded. I will sell BTS at a price of $0.00001 to anyone who agrees to not be paid until 5,000 years later. It is pointless. If I put a buy or sell order stuck just above the price feed, there is a very good chance in the current system that my order will be matched in a reasonable amount of time (days if not hours). If I put a sell order stuck just below the price feed, there is a guarantee by the system that it will be matched within 30 days.

From that perspective, being able to trade away from price feed on the DEX is not a problem, it is a feature (it combines the external free market and the "bank" into a single combined market). Anyone who wants to restrict themselves to just the price feed can do so and have upper bounds on the time they will spend in the queue for BitAsset sell orders (just like they have an upper bound on the time a withdrawal stays in the queue in your system assuming you make loans callable after some finite time and you put the restriction on self-creating loans that I described above), and while they won't have any guarantees or upper bounds on time spent in the queue for BitAsset buy orders (just depositors might spend an indefinite amount of time in the queue in your system), it is usually safe to assume that buy orders at the feed price will be matched relatively quickly (days).

- when free market prices are at a premium, there is incentive to create new currency units instantly and sell them in the free market

How so? I already discussed that with my short example. For there to be a profit incentive, the borrower needs to be able to take the BTS collected by selling the premium BitAssets in the free market and deposit it into the bank to get the BitAsset needed to cover the loan. But there is no guarantee that deposit will be matched immediately. By the time the deposit is matched, the price feed may have moved significantly to the disadvantage to the borrower. In other words, this isn't risk-free arbitrage. And again, this is the same thing as the current system. The external market and the "bank" in your proposed system are just merged into one combined BTS:BitAsset market with mixed order types (which in fact makes actual risk-free arbitrage automatic and unnecessary for people to do, not including arbitrage with other external markets that happen to be trading the BitAssets and BTS of course).

- when free market prices are at a discount, there is incentive to buy currency units in the free market and instantly destroy them

Only if the borrower will realize profits by doing so. If the feed price when they borrowed is lower (in BTS/BitAsset) than the the current feed price, it may not necessarily be profitable to buy the discount BitAsset and cover (or self-cancel). It depends on how much the discount is and how much the feed price has changed since the loan was created (also interest rates would have to be factored in). But in a long bear market (like we have been experiencing), the borrowers would be at a loss and would not wish to realize that loss by buying even discount BitAssets and covering. This is why the expiration is a good thing for helping the peg, especially in bear markets, because it forces the borrowers to cover at the price feed after a reasonable amount of time (thus increasing liquidity and supporting the peg) despite the fact that it causes them to realize their losses which is why they wouldn't have covered had it not been for the expiration.

The arbitrage and market-making mechanisms are really key to whether this whole approach radically improves pegging and liquidity in the free markets, and I will try to give these more attention, but my current thinking is the proposal will at least improve current conditions.

I believe this proposal is nearly equivalent to the current BitAsset system with no expiration period, and will have similarly liquidity as we would if tweaked the current system to removed the expiration period (which I believe would be worse liquidity in bear markets, so that means worse liquidity than we have at the moment). I also believe that this proposal with instant withdrawals and loan callability is nearly equivalent to the current BitAsset system with an expiration period of 0 days (maybe some minor additional tweaks needed), and will have similar liquidity as we would if we tweaked the current system to set the expiration period to 0 days (which I believe would be even worse liquidity than today because any of the remaining short sellers that are still selling today would likely be scared off by a 0 day expiration period).

The difference to the current system is that rather than all loans sitting unnecessarily at the feed after 30 days, the proposed system would selectively call on the loans as required, ranking on interest (and collateral where low). This provides incentive for keener borrowers to improve their terms, and allows them the flexibility to carry the loan as long as they desire.

Right, as I mentioned before I like the idea of adjusting the order matching rules of expired cover orders to first pick the ones corresponding to shorts that offer the lowest interest rates. I also like the idea of allowing a short position owner to increase (but not decrease) the interest rate the short pays after getting matched (even if expired).

I believe those are the only changes necessary to the current system for it behave essentially the same way as the system you are proposing (now that you are willing to accept 30 day periods before loans become callable).

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
1) What if we removed the expiration period entirely.  This would make the market symmetric in the same way that making shorts instantly callable (the other extreme).   We went away from this because of a lack of liquidity, but I wonder if the lack of liquidity is merely a growing pain and not something that needs to be supported.

2) What if we removed the interest rate entirely and instead allowed shorts to sell below the parity by up to X%.   This could cause the price to deviate from the feed when there is heavy short demand in a bull market, but this would be symmetric with deviations in the other direction like we have now when there is a bear market and shorts are only willing to sell above parity if at all.  Perhaps design decisions were made during a bull market that were not appropriate for all markets and we need to restore sym. to the market.   As long as shorts do not have the ability to "sell to 0 and keep it there" then the price should follow the dollar and deviate with swings in supply and demand.

3) What if the problem with BitAssets is NOT the mechanics of the market, but the lack of a sufficiently well capitalized market maker using an algorithm that doesn't attempt to "enforce a peg" but instead attempts to maintain a balanced portfolio of USD and BTS.  With such a market maker in place price swings should be dampened and liquidity would improve around what ever price the market established.

4) What if the price feed wasn't just one price, but 2.  A short limit and a call limit designed to protect USD from being sold to 0 and to prevent margin calls at unreasonable prices as people attempt to force USD to infinity.  What if these limits could get wider over time as the market gets deeper.   The end result would be true price discovery with safety.

Attempting to maintain 99.9% parity with very high liquidity in a young/thin market without large market makers is the fallacy.   Imagine if we had many market makers like NuBits where the primary difference is that all of the collateral is ON THE BLOCKCHAIN and there are no fractional reserves. 

I think that there needs to be less restrictions, less dependence upon the feed, and less complexity.     BitShares would have a hard time pivoting to a NuBits style market maker unless some major whales step up to the plate and start operating bots.

This is just my personal view, but I am not convinced that pegging will be successful without mechanisms to oblige certain participants to meet it. That's a wordy way of saying that a completely free market will probably not peg. As you rightly say, market-makers build liquidity around the market price, but not the peg price. If the market thinks a bitUSD is worth 0.5 x RealUSD, and trades at this level in the external and internal markets, there is no arbitrage available to restore that to 1.0x. In the current system its partially resolved through short expiries, which means shorts are obliged to buy back at the feed price within 30 days, hopefully limiting any discounts. I realise my proposal leans even more heavily on the price feed, but unfortunately I don't think there is any evidence that we can ever do without it. I may be proven wrong.