Author Topic: A BitCurrency Bank and a BitTradingAsset derivatives exchange  (Read 5314 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
Arhag,

This is a lengthy post discussing the following - (i) I believe I have a solution to your issues, that involves a further modification to the "bank" mechanism that I discuss below. (ii) You have also inferred that the changes I am proposing could be incorporated into the order and matching rules in the current BitAsset model, not requiring a separate market or entity at all. I have taken this line of thought and suggested what changes might be necessary and their benefits. (iii) If the benefits were real, it would then need to be considered what are the relative merits of incorporating this approach into the current bitAsset market, versus splitting the market and adopting a separate bank clearing mechanism as I have proposed. (iv) I make some further comment on how the idea of a BTS Bull Pool might fit into this new way of thinking. I will respond to sparkle's points separately.

The "bank" mechanism

(i) Ways to resolve issues - self-destruction and self-creation of supply

I want to leave aside for the moment the feature that you seem to dislike the most, being the matching of instant withdrawals against the ability to call shorts at any time. I'll come back to this later. For now, assume that withdrawals enter a queue at the price feed like all other participants, but are simply first in line to get matched when there are enough deposits or loan calls/repayments available.

The main benefit I see in the bank mechanism is the ability of all participants to be guaranteed to be able to transact at the feed price, that I believe has flow-on benefits to confidence in the currency, ability to arbitrage, and liquidity. However, the main disadvantage for users is that they need to queue and wait for an indeterminate period. There are times and situations when many participants will be willing to pay a cost to act more urgently. For bitCurrency buyers and sellers that is easily enough facilitated through the existence of another free market in which to trade the bitAsset, where they can freely trade at a discount or premium if they like. For those looking to borrow and repay loans however, such an avenue does not exist. This can lead to risks for the borrowers (shorts in our usual terminology) such as the one you describe here:

I remember situations where the highest bid was more significantly larger than the feed price and yet the shorts weren't bothering to sell to them. The problem is that there is no guarantee that someone will later sell the needed BitUSD to the short seller at a price below the price they entered the short at. In your proposed system this means that even in the case where the feed price in BTS/BitUSD goes down lower than the borrow price and the borrower submits a loan repayment order, there is a risk that by the time the loan repayment order is matched by a withdrawal or new borrower the feed price would have gone back up above the price the borrower originally got the borrow order matched. Even if the borrower cancels the loan repayment order if the feed price goes up above the original borrow price, there is then the risk that the feed price will continue going up until the loan is margin called or more likely that the loan will be called at a time when feed price is above the original borrow price because someone wants to withdraw and there are no margin calls, new depositors, or loan repayments left in the queue. These risks may prevent the borrower from taking a 0% loan.

To resolve this the bank could implement a mechanism that allows the borrower to destroy both the currency and the loan at any time if they own the corresponding bitCurrency. In this case the borrower presents their loan for self-cancellation, buys the bitCurrency in the free market, and presents that for withdrawal. As long as these are on the same account, the bank can automatically offset the withdrawal against the loan repayment. Although there's more steps, it achieves essentially the same function as a voluntary short cover in the current regime. The borrower satisfies their urgency, and accepts the risk of buying the bitCurrency at the free market price.

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). Then they can take the created units of bitCurrency and sell them in the free market.

The combination of these features means that:

- all participants can be guaranteed the feed price, subject to queuing
- all participants can act more urgently by bearing the price risk in the free market
- when free market prices are at a premium, there is incentive to create new currency units instantly and sell them in the free market
- when free market prices are at a discount, there is incentive to buy currency units in the free market and instantly destroy them
- an arbitrager with BTS inventory can easily participate in this creation and destruction of currency units for risk-less profit (in terms of BTS)
- market-makers with a BTS inventory and loan book can stand in the free market, and offset their hit orders with instant creations or cancellations of bitCurrency
- the latter behaviours should help ensure that free market prices are closely pegged

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.

Coming back now to the idea of instant withdrawals and loan callability...The basic principle behind expiries is that there needs to be some enforcement for interest rate resets on loans, otherwise when bitCurrency demand is very low, there is no mechanism for rates to increase. Something analogous is required in the proposed system too. In the absence of forced re-setting, even if the bitCurrency traded at a discount, borrowers may be reluctant to buy it to cancel their low loan rates. Instead of making all loans instantly callable (as per the OP), to be somewhat consistent with the current system, they could become callable after 30 days (and correspondingly, withdrawals are guaranteed their redemption within 30 days). 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. I think also other ideas are still possible here.

(ii) Incorporating these features into the current bitAsset regime

If this were desired, I think the following would need to be done:

- all participants would have the option to enter price-limit orders, or enter an order that transacts at the price feed, but joins a queue (should be aesthetically very simple)
- personal alerts would be highly desired to notify when such queued positions are hit
- borrowers could enter a different type of order for self-cancellation, that expires after some period if the bit currency is not presented
- a separate type of order for bitCurrency self-creation can be created with BTS
- a ranking of callable loans
- a mechanism for borrowers to adjust both collateral and interest rates

(iii) Would such a change, if desired, be better incorporated into current bitAsset markets, or separated like a "bank" mechanism?

On the one hand, it could be cleaner and simpler to have 2 markets - the bank clearer, and a free market (which could still be a decentralised market in BitShares, such as a free market in bitUSD/BTS). On the other hand, it might be more efficient to have this functionality sit completely within a single market, with different order types. For example, that would reduce the need for market-makers and arbitragers to operate across 2 markets, and potentially reduce the number of steps involved (e.g. self-cancellation might be automatically completed as soon as the bitCurrency units are purchased).

I think we would need to consider the bigger picture of what BitShares would look like down the track. For instance, on top of bitCurrencies created against BTS, there might be a range of other types of markets to meet particular needs - e.g. other MPAs created against stable bitCurrencies as collateral, leveraged trading asset markets, bond markets. It will be important to keep each market simple. I tend to think it might be cleaner to have some free trading markets that are not intermingled with the creation/destruction process, because that will be much easier for newcomers to the decentralised exchange to understand. But I'm open.

(iv) What about the BTS Bull Pool?

The main advantage of the BTS Bull Pool concept was to allow market participants to transact at the feed price without any queuing, as long as the pool is within its leverage limits. If the above ideas were successful in creating strong pegging and liquidity, the benefits of the BTS Bull Pool approach begin to reduce (although I'm not discounting this approach yet). The BTS Bull Pool might still serve an important ancillary function, in that it is a very simple mechanism for any BTS holders to participate in the short side, without having to monitor or manage anything themselves. This could encourage greater supply. However, its possible this could be integrated within the above systems as well, by having it run as a UIA, and having it simply compete with other borrowers/shorts.
« Last Edit: March 18, 2015, 01:02:42 am by starspirit »

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
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.

I think the only reason NuBits can afford the risk of the low-spread market making they do is because they are subsidized by NuShareholders. NuShareholders are willing to dilute their shares to pay for losses of the market maker. So the market maker is able to take higher risk by offering lower spreads despite the fact that NuBits is very new like BitAssets and would otherwise most likely have low liquidity as well. My guess as to why NuShareholders are willing to take on this risk is because they believe this can bootstrap the liquidity so they can continue offering low spreads without immense market making risk (and also because a tighter peg could boost NuBits adoption which they can then profit from by issuing new NuBits for free). But it is a gamble and they could just end up racking up more and more losses, and be forced to make up those losses through more and more dilution, until the whole system breaks down.

Anyway it would be highly inappropriate to put this risk on all BTS holders. But it is perfectly fine if some subset of BTS holders elect to take on this risk for the sake of bootstrapping liquidity and hopefully earning a profit from that activity. I believe most of the benefits would be shared by all BTS holders however, so there is a likely some group trap there.

I'm wondering if CryptoHedge would be interested in taking on this role by issuing a UIA designated to use collected funds for market making on the BitShares DEX. They are already doing this on centralized exchanges between BitAsset/BTC markets.

Offline sparkles

  • Full Member
  • ***
  • Posts: 107
    • View Profile
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.

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
I'm hearing that one of your key issues is this - That in the current system there are the immediate profit incentives for shorts to respond to changes in bitAsset demand, by being able to trade favourably to the price feed (above it, when buyers demand new creation, or below it, when sellers demand supply destruction). In the proposed system, this profit incentive is removed, because all trading is at the price feed, and the regulating mechanism to match supply and demand is purely the interest rate.

Not really. In the current system there is no immediate profit incentive (for either case). In fact, in your proposed system there is an immediate profit incentive (through arbitrage) when the BitAssets are trading (presumably on an external exchange) below the BTS/BitAsset price feed: buy the cheap BitAssets with your BTS and then use it to withdraw more BTS then you paid from the bank. In the current system this is not immediate because of the 30 day minimum before shorts can be called (assuming margin call isn't triggered). Since the BTS/BitAsset feed price may shrink below the price you purchase the BitAssets at within that max 30 day waiting period, there no guarantee of profit by buying the BitAsset selling well below the feed and then using those BitAssets to place a sell order maintained just slightly under the price feed. But one of my main points in the previous post was that neither the current system nor your proposed system help the peg in the case when the BitAssets are trading above the BTS/BitAsset feed price.

The other main point was that despite the fact that making the short positions callable before 30 days (even if they maintain margin) helps the peg in the case where BitAssets are trading below the feed price, I don't consider this to be a significant enough issue to make the drastic change of taking away the guarantee to the shorts that as long as they maintain enough collateral to avoid margin calls, they won't have to realize losses in less than 30 days.

I believe the ability of the interest rate to mediate supply and demand would be fairly strong in most circumstances. It seems an unlikely circumstance that when bitCurrency demand is strong, with the longer term implications that has for BTS, nobody is willing to borrow freely to buy BTS.

And yet right now there is a bid (BitUSD buy) order above the feed price (highest bid is 115.9433 BTS/BitUSD and feed price is 115.5082 BTS/BitUSD) and the lowest ask is 116.1030 BTS/BitUSD and the lowest short sell order is at 117.0000 BTS/BitUSD. Granted that isn't very strong demand, but I remember situations where the highest bid was more significantly larger than the feed price and yet the shorts weren't bothering to sell to them. The problem is that there is no guarantee that someone will later sell the needed BitUSD to the short seller at a price below the price they entered the short at. In your proposed system this means that even in the case where the feed price in BTS/BitUSD goes down lower than the borrow price and the borrower submits a loan repayment order, there is a risk that by the time the loan repayment order is matched by a withdrawal or new borrower the feed price would have gone back up above the price the borrower originally got the borrow order matched. Even if the borrower cancels the loan repayment order if the feed price goes up above the original borrow price, there is then the risk that the feed price will continue going up until the loan is margin called or more likely that the loan will be called at a time when feed price is above the original borrow price because someone wants to withdraw and there are no margin calls, new depositors, or loan repayments left in the queue. These risks may prevent the borrower from taking a 0% loan.

And this also needs to be weighed against the tremendous benefit that bitAsset owners get by being guaranteed to exit at any time at the fair price.

I just want to be clear that those are orthogonal concerns. The benefit to BitAsset owners of being guaranteed to exit immediately at any time at the feed price comes from making the loans callable before 30 days even when margin requirements are maintained. The disadvantage discussed above is not a result of making the loans callable. It exists in both your proposed system and the current system.

There are advantages to shorts of the proposed system too - they can hold shorts indefinitely as long as they are willing to improve collateral and interest, and they are always guaranteed to enter and exit at the feed price even when being called. It's best to weigh the risks in both systems:

- In the proposed system there are no expiries. Expiries in the current system create risks for shorts - they force buying even if liquidity is thin (in which case the market is not really demanding this action anyway), and they force the short out of position for an unknown time.

Actually expiration is not a big deal in the current system when compared to your proposed system. If a short expires and there is not enough BitUSD sells at or below the feed price, it will just sit at the feed price until it gets matched. If no one sells at or below the feed price, it can just sit there indefinitely. Similarly, with your proposed system, if no one makes a withdrawal, the loans can just sit there indefinitely without being called (assuming they aren't margin called). However, if anyone withdraws (equivalent to BitUSD sell just slightly under the feed price) and there are no other margin calls (equivalent to margin call orders), deposits (equivalent to BitUSD buy at feed price), or loan repayments (equivalent BitUSD buy at feed price or expired cover orders), then the system will call a loan. In the current system, if there already is an expired cover order sitting in the order book and someone does a BitUSD sell just slightly under the feed price, the BitUSD sell will match with the expired cover order (forcing the expired short position to at least partially exit from the position). The only difference is that a BitUSD sell order won't cause short positions that haven't yet expired (and have enough margin) to be called, whereas a withdrawal in your system can force a brand new short position to exit. So there is actually more risk for shorts (borrowers) in your system. If I short at the current feed price in the current system, I know that as long as the feed price does not grow larger than 150% of the current feed price then my short position will not be called in the next 29 days. I have no such guarantee with your proposed system.

Actually to make it equivalence better we would require that given two orders (a BitUSD buy order and expired cover order) at the same price, the BitUSD buy order is preferentially matched over the expired cover order, and given two expired cover orders at the same price, the expired cover order corresponding to the short position with the lower interest rate is preferentially matched over the expired cover order corresponding to the short position with the higher interest rate.

- In the proposed system, the loans are callable at any time (according to market demand), but the queue of callable shorts is rank-able. That is, every short knows where they stand in this queue, and if they are unhappy with their position, they can lift the interest rate or collateral. Essentially if they are keen to continue carrying the short, they can continue to do so indefinitely, as long as bitCurrency demand supports this. Those less keen to hold are the shorts at risk of call. There is a risk though that if they are not actively monitoring the queue, that they may unexpectedly fall in the queue and get called, so this may require an alert mechanism.

I think allowing shorts to raise the interest rate they pay after getting matched is a nice addition to the current system. This would be useful with the matching priority changes described above to make it less likely that their expired short gets matched. To reiterate, the callable shorts in your proposal are equivalent to expired shorts in the current system. Non-expired shorts in the current system are something that does not exist in your proposed system. Essentially your system is like setting the expiration period for shorts to 0 days and setting up the matching order for expired cover orders to be in the ascending interest rate order. Expired shorts would still be capable of being manually covered. To get the BitUSD needed to manually cover, the short position owner would get BitUSD the same way a "depositor" would (buy BitUSD just slightly above the feed price).

- In the proposed system, any transaction, including being called, is transacted at the feed price. There is zero price risk. In the current system, there is price risk when shorts are called or expired, that could work out favourably or result in loss.

What do you mean by price risk?

Regarding the BTS bull Pool proposal:

I'll have to spend time thinking about your BTS bull pool proposal later and get back to you on it.
« Last Edit: March 17, 2015, 06:20:25 am by arhag »

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
Thanks for taking the time to reply arhag. Your comments are around the initial OP approach, so I'll respond to these first. My second post suggests a variation (the borrowers sharing in a pool) that may avoid some of these issues. I'll cover that second.

Regarding the initial OP proposal for bitCurrencies:

I'm hearing that one of your key issues is this - That in the current system there are the immediate profit incentives for shorts to respond to changes in bitAsset demand, by being able to trade favourably to the price feed (above it, when buyers demand new creation, or below it, when sellers demand supply destruction). In the proposed system, this profit incentive is removed, because all trading is at the price feed, and the regulating mechanism to match supply and demand is purely the interest rate. This might reduce the ability of supply to adjust to demand, especially if demand is strong and shorts are not willing to borrow even at 0%.

I believe the ability of the interest rate to mediate supply and demand would be fairly strong in most circumstances. It seems an unlikely circumstance that when bitCurrency demand is strong, with the longer term implications that has for BTS, nobody is willing to borrow freely to buy BTS. But I agree its possible in some circumstances that latent demand may not be met because the exposure to BTS alone is not considered enough incentive for shorts, and this can lead to unresolved premiums on external exchanges in such periods. I'm not sure how much of a concern this is though. More patient buyers can wait on the deposit queue, which is fair. And this also needs to be weighed against the tremendous benefit that bitAsset owners get by being guaranteed to exit at any time at the fair price.

I have a big issue with the loans being callable at any time. That makes the deal for borrowers far worse than our current system. At least someone who shorts in the current system and maintains enough collateral to not be margin called knows that they do not have to realize any losses for 30 days. I question whether you will get enough borrowers in this system to actually support the BitCurrency demand from depositors.
There are advantages to shorts of the proposed system too - they can hold shorts indefinitely as long as they are willing to improve collateral and interest, and they are always guaranteed to enter and exit at the feed price even when being called. It's best to weigh the risks in both systems:

- In the proposed system there are no expiries. Expiries in the current system create risks for shorts - they force buying even if liquidity is thin (in which case the market is not really demanding this action anyway), and they force the short out of position for an unknown time.

- In the proposed system, the loans are callable at any time (according to market demand), but the queue of callable shorts is rank-able. That is, every short knows where they stand in this queue, and if they are unhappy with their position, they can lift the interest rate or collateral. Essentially if they are keen to continue carrying the short, they can continue to do so indefinitely, as long as bitCurrency demand supports this. Those less keen to hold are the shorts at risk of call. There is a risk though that if they are not actively monitoring the queue, that they may unexpectedly fall in the queue and get called, so this may require an alert mechanism.

- In the proposed system, any transaction, including being called, is transacted at the feed price. There is zero price risk. In the current system, there is price risk when shorts are called or expired, that could work out favourably or result in loss.

Everybody will weigh these risks in their own way, but I am inclined to view the proposed system as providing greater certainty and fairness to shorts. Although shorts lose the ability to trade favourably relatively to the price feed to meet changes in bitAsset demand, the greater certainty for a fair exit price is a key balancing factor. As most of the longer term return to shorts accrues from BTS trends rather than premiums/discounts anyway, this removes a source of noise in their returns. So although I understand your concern that shorts may be less financially motivated to participate, its not obvious to me whether that is correct.

Overall, its not clear to me that one system objectively dominates the other. Ultimately, its really for users to judge which system they would prefer to operate in. I think constructing a bitCurrency in this way potentially enhances demand because it is simple and less risky for all participants. Arbitrage is easy, enhancing liquidity. And it may not affect supply adversely, because what's good for bitAssets is good for BTS, and that's what shorts ultimately derive most of their return from. (*)

Regarding the BTS bull Pool proposal:

Having a shared pool to hold the borrowed positions has certain other advantages with respect to the concerns you raised:

- As long as the pool is within its leverage limits, there is perfect supply flexibility to meet the demand.
- The callability on loans is against the pool, not any individual short. Therefore individual risk is removed, and all that happens is the pool leverage reduces.

The main benefits of this approach are that supply is more resilient to fluctuations in demand, participation in borrowing/shorting is significantly simplified, and all transactions are instantaneous at the feed price within the pool limits. Simplicity encourages participation without having to worry about secondary risks.

There are still some issues at the leverage limits however if 0% interest is not low enough to attract BTS bulls to the pool.

Again, it is for others to judge what system they would prefer.

Is it the case then that these approaches are technically feasible, and just a matter of preference? I'd like to know whether these can be run in the BitShares environment alongside bitAssets.

(*) There is a bit more system risk if margin calls may not get cleared at the feed price (the current system allows a 10% movement), which may be important if BTS is falling rapidly. I suspect its possible to replicate the current system in other ways however (e.g. a special deposit pool for bitCurrency holders that sits ready to clear unmet margin calls).
« Last Edit: March 17, 2015, 12:37:34 am by starspirit »

Offline arhag

  • Hero Member
  • *****
  • Posts: 1214
    • View Profile
    • My posts on Steem
  • BitShares: arhag
  • GitHub: arhag
I have a big issue with the loans being callable at any time. That makes the deal for borrowers far worse than our current system. At least someone who shorts in the current system and maintains enough collateral to not be margin called knows that they do not have to realize any losses for 30 days. I question whether you will get enough borrowers in this system to actually support the BitCurrency demand from depositors.

I also feel like this is a step down from the current system in that the borrowers are forced to match at the price feed (not allowed to trade above the BTS/BitAsset price). In our current system, when shorts don't want to short at the price feed they can offer their short sell orders at a higher price. In your system, the only option borrowers have in this case is to not be in the queue at all (since they can't get any lower than 0% interest).

In fact, it seems like the BitCurrency system you propose is very similar to our current system with the following modifications:
  • Margin calls have a price limit at the BitAsset/BTS feed price rather than 10% below. (I see no reason for this modification.)
  • Short sell orders are forced to have a price limit of 0 BTS/BitAsset. (I see no reason for this modification.)
  • A BitAsset sell order at the same price as a short sell order gets priority over the short sell order. (Something I think should exist in our current system anyway.)
  • If there are no BitAsset buy orders at or above (in BTS/BitAsset) the price feed but there is a BitAsset sell order at or below the price feed, the blockchain will automatically call the short position offering the lowest interest rate until the BitAsset sell order is fully matched. (This is the modification I have the biggest problem with.)


Edit: To demonstrate part of the equivalence of the two systems and show how it does not help prevent BitAsset or BitCurrency premiums, let us examine what happens if there is a BitAsset premium. If BitAsset supply is not sufficient for the current demand, it will be trading at a premium. To correct this, shorts needs to short sell more BitAssets to increase the supply (which they can do if the BitAssets are at a premium since, assuming relatively accurate price feeds, the bids will be at or above the BTS/BitAsset feed price). But if it is a bear market like it is now, the shorts may not be willing to short down to the price feed since there is no guarantee that the BitAsset/BTS will actually rise in the near future. Similarly with the BitCurrency proposal, in a bear market borrowers will not be willing to borrow at the price feed even at 0% interest. Any one who wants to deposit BTS and get more of the BitCurrency will be forced to wait in the queue. Those who are desperate to get the BitCurrency will buy some from a BTS/BitCurrency market on an external exchange at a premium price. There is no way of getting around that, we just embrace it and put that external exchange on the blockchain DEX (as the BTS/BitAsset market) and allow bids and asks to match above the feed price.



As for your BitTradingAsset proposal, I believe that is the "bond market" that we all would like to eventually see on BitShares in addition to BitAssets. But obviously it is a new feature that is less of a priority than BitAssets and getting the rest of the core product robust and stable.
« Last Edit: March 16, 2015, 05:49:49 pm by arhag »

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
I provided a *** short version *** in the OP given its length.

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
Further possibilities with the bank idea - as I said, once you take this approach, a number of business and service models are possible. Consider the bank's deposit receipts as an alternative to bitUSD, let's instead call it BankUSD.

It might be possible for the BTS borrowers to be part of a combined pool, lets call it the BTS Bull Pool. The BTS Bull Pool holds BTS, and is able to borrow BTS up to some limit such as 50% of the pool equity, or equivalently 33% of the pool's total BTS assets (note that this is equivalent to the current collateral requirements for shorts). All members of the BTS Bull Pool share in the outcomes equally, although their degree of leverage will vary over time. Within that leverage limit, both deposits and withdrawals of BTS with the bank (creating and redeeming BankUSD respectively) can be met instantly at the feed price. Also, BTS bulls can enter and exit the BTS Bull pool instantly, as long as the fund is within its limits, entering and exiting at the common equity price for the pool. So within the leverage limits on the pool, this negates the need for supply and demand to exactly match, and everybody can transact instantaneously at the feed price.

Things are a bit more complex when the limits are reached, and I haven't thought through all the best possibilities, so this is just food for thought. An interest rate can automatically adjust on both sides to incentivise or disincentivize lending and borrowing as necessary to restore balance. In extreme cases, other measures may be possible. New deposit liabilities of the bank (creating new BankUSD) might become restricted, or subject to a fee. Exits from the BTS Bull Pool might be restricted or occur at discounts to preserve collateralisation in the pool. If collateralistion falls to some further limit level, the Pool may raise new equity at a discount, diluting existing members of the Pool unless they participate. In any case all of this will be publicly transparent and automatic, so it is critical to think about how the right incentives and disincentives can be created.

Its also possible for there to be a bank balance sheet and equity owners in the bank. Equity owners could receive a cut of interest margins, but their balance sheet may also be at risk to protect depositors in black-swan events. On top of the collateral requirements in the BTS Bull Pool, this provides even greater security to depositors, at the cost of giving up on some yield.

[Edit: Other variations might be possible if demand allowed, such as different classes of investors in the BTS Bull Pool  (e.g. having different leverage profiles), with tokens of ownership for each class being freely traded in the market].

On a final note, I recognise this is all extremely different to the concept of bitAssets as being purely market determined between buyers and sellers at a floating price. However, currently we have had to rely on external price feeds anyway, and its not clear that such an artifice can ever be removed. And there are still wide spreads. If we focus purely on the end-goal of a stable, pegged, liquid currency, and let go of the idea that we must use a public bid/offer market in the bitCurrency to achieve this, then maybe other avenues are opened up. Perhaps bitAssets in their current form will be hugely successful. Perhaps these ideas could be done in parallel, either complementarily (meeting different needs), or in competition, like survival of the fittest.

I'm not claiming all of this is possible - they are just ideas at the moment, and there may be some fatal flaws or technical obstacles.
« Last Edit: March 13, 2015, 05:39:28 am by starspirit »

Offline starspirit

  • Hero Member
  • *****
  • Posts: 948
  • Financial markets pro over 20 years
    • View Profile
  • BitShares: starspirit
[Edit May 12: The ideas in this thread have now been superseded by whitepaper here: https://bitsharestalk.org/index.php/topic,15880.0.html]

**** SHORT VERSION ****

This post outlines an alternate method of creating a stable, pegged currency, that I believe may have better pegging and liquidity over the current bitAsset approach, with comparable security. As I'm not a developer/coder, I would like for others to comment on the theoretical and technical feasibility, assuming such an approach has not already been analysed in the past. The basic construction is that there is a pool of depositors on one side, that receive tradeable deposit receipts at the feed price (e.g. a BankUSD) in exchange for their BTS, and a pool of borrowers on the other side, which an agent in the middle (I'm loosely calling it a "bank") automatically matches off on each block, at the feed price, according to prioritisation rules on both sides. This negates the need for longs and shorts to meet directly in a price-negotiating market, BankUSD holders can get instant redemption at the feed price (requiring loans to be callable), and all other participants can trade at the feed price subject to some delay. Following up the initial OP idea, I further suggest how all parties may be able to always trade instantly at the feed price (removing the need for matching delays) by having borrowers share in a pool where leverage is able to fluctuate up to some maximum limit.

The OP also contains a suggestion around assets whose main purpose is trading and speculation, being to treat them more like traditional expiring derivatives, rather than requiring fungibility. The thought here is to encourage more trading activity, simpler arbitrage and better liquidity.

[Edit: Mar 29 - My thinking on the bank mechanism evolves through the thread - for example allowing standing orders at a premium or discount to the feed price, and also allowing for the alternative that such features could be incorporated into the current bitAsset market. These are working ideas moreso than a proposal at the moment, depending on feedback.]

*** LONG VERSION ***

I think there are potentially two types of bitAssets - bitCurrencies, and bitTradingAssets. For bitCurrencies, this might include any asset that could conceivably be used in exchange for goods and services, such as bitUSD, bitCNY, bitEUR, bitBTC, bitGOLD etc. For these it is important to have very consistent price-pegging, high liquidity and critically, fungibility.

However other bitAssets may be used primarily for investment and trading exposures, which I denote bitTradingAssets. Examples might be bitDOW, bitAPPL etc. Traders do not care about fungibility. However, they are still concerned with effective pegging and liquidity, and will be willing to move on price for that liquidity.

With that in mind, I think it may be worth separating the implementation approaches for these different types of assets. I wondered about the following approaches:

bitCurrencies, and a Bank

To achieve consistent price-pegging, while still allowing fungibility, one approach is fixed price redeemability (for sellers). Via arbitrage such fixed-price redeemability would flow through to strongly pegged prices and liquidity in all external markets where the bitCurrencies trade.

Rather than a bid/offer market for bitAsset/BTS, a centralised entity or agent, on the block-chain, could stand between the pool of longs and the pool of shorts to automatically mediate supply and demand, much as banks today stand between a pool of lenders (depositors) and borrowers. If we would desire deposits to be callable, then loans on the other side must also be callable. Withdrawal prices can then be fixed and immediate.

Alternative matching schema are possible, but here is one way in which transactions might be ordered by the "Bank" for each block:

- Withdrawals are first paid at the price feed from margin calls on loans, new depositors, then from loan repayments, and then from called loans. To guarantee that withdrawals are paid on demand, loans must be callable, beginning with those paying the lowest interest, or factoring in lowest collateral if system collateral is low.
- Remaining margin calls on loans, other loan repayments, and then deposits, are re-lent at the price feed to new borrowers, starting with those offering the highest interest.
- Remaining unfilled orders either side wait in the queue, and get priority in terms of age (depositors) or interest (borrowers).

Interest rates should adjust to mediate lop-sidedness in supply and demand over time, although this will not be immediate. Borrowers might also be able to voluntarily increase their current interest rate or collateral to avoid being called.

This system could be implemented with no bank equity (its merely a facilitator), but there may be some delays in time it takes for depositors, new borrowers or repaying borrowers to be filled, even if they would be prepared to pay to act more urgently. Better mediation of supply and demand might be possible if such excess payment is allowed in certain ways. In any case, it is always possible for people to make use of public markets in the bitAsset elsewhere to fill or hedge their position at an agreeable floating price if they demand more urgent liquidity.

If the bitCurrency were cheap on external exchanges, arbitragers could buy it, and instantly redeem it to make a profit. If it were expensive, arbitragers could wait in the deposit queue with their BTS, and when they receive the bitAsset, sell it externally in exchange for BTS again (or step off the deposit queue if the bitCurrency premium normalises). This should ensure external markets are closely pegged and liquid, subject to some delays that may be experienced on the bank queue.

bitTradingAssets, and a derivatives exchange

I think bitAssets are not yet meeting this need because there are problems with consistent pegging, liquidity, and high collateral requirements for traders. The Bank idea is also not good for bitTradingAssets because there may be delays in getting set when supply and demand is lop-sided, when traders may prefer liquidity, and collateral is still higher than elsewhere.

Traditional derivatives have an expiry date. Given that fungibility is not a requirement of trading assets, I suggest that bitTradingAssets could be created in a similar way, with staggered expiry dates. By having certainty around the convergence of the bitAsset price to the feed price at expiry, this would lead to simpler 2-way arbitrage, helping to keep the price in line with the feed, and tending toward zero at expiry. (The current bitAsset structure creates some practical difficulties for arbitrage). This approach would also facilitate options markets on these assets.

Since these are trading positions, rather than  long term stores of value, long term security is not as important as for bitCurrencies. Fractional deposit margining could be used, with frequent margining. Positions could be automatically closed on both sides when the pool on one side is at risk of being insufficient. In extreme black swans, there may be a partial loss on one side, but I think that risk is acceptable here.

If this approach allowed collateralisation by bitCurrencies rather than BTS, I feel it may have even wider appeal. In combination, BitShares would be able to replicate the functionality of existing centralised exchanges trading a wide range of asset types, but without the centralisation risk.

Either of the above ideas could be run under common ownership (all BTS holders) or as UIAs, with different business models and service models being possible.

A lot of things I haven't thought through though, for example price feeds, which the above is highly dependent on, still have lag and accuracy problems
« Last Edit: May 12, 2015, 12:31:02 am by starspirit »