As we all are probably aware, a decline in the price of BTS of more than 66% in a short period of time (a 'black swan' event), would cause problems to bitAssets, as there would no longer be sufficient BTS collateral backing them. When the resulting margin call is executed, some of the value that should go to the bitAsset holder might be unrecoverable.

While a decline of this magnitude seems unlikely, it is not outside of the realm of possibility. After all, in its past bitcoin has had a couple crashes when exchanges went down. Alternately, a bug in the price feeds could result in the false appearance that the price had declined dramatically.

What modifications could be implemented in order to reduce or eliminate this vulnerability?

An idea:

* Implement 'brakes' on the amount that a price feed can change.

In the stock market, exchanges automatically halt trading for a period of time if prices decline by more than a certain percentage. This helps to prevent or limit 'flash crashes', and allows time for the market to stabilize and new orders to be placed.

We know that bitAsset pegs work fine in the event of a steady decline, as long as it does not occur too quickly.

If price feeds were prevented from declining by more than X% over a Y hour period, then the system would have time to adjust, and issue margin calls while there was still sufficient collateral in the system to cover them. The percentage change allowed could be quite large, perhaps 50%.

Other ideas, comments and criticisms are appreciated. Ideally, any solution would not infringe on free market principles.

In the stock market, exchanges automatically halt trading for a period of time if prices decline by more than a certain percentage. This helps to prevent or limit 'flash crashes', and allows time for the market to stabilize and new orders to be placed.

We know that bitAsset pegs work fine in the event of a steady decline, as long as it does not occur too quickly.

If price feeds were prevented from declining by more than X% over a Y hour period, then the system would have time to adjust, and issue margin calls while there was still sufficient collateral in the system to cover them. The percentage change allowed could be quite large, perhaps 50%.

Placing limits on the price feed movement, while leaving the market open, would simply lead to the market trading well below the price feed, wouldn't it?

Placing limits on the price feed movement, while leaving the market open, would simply lead to the market trading well below the price feed, wouldn't it?

Yes. But it wouldnt margin call everyone instantly. Which means that if the event was a flash crash and the price recovered during the same day, then BitAssets wouldn't break.Bitcoin has had a couple of such flash crashes with declines greater than 66% intraday.

Also keep in mind that undercollateralization can occur with a flash crash of less than 66% (it can be as low as 34%). Short positions aren't margin called until the amount of BTS held as collateral in the short is valued at less than 150% of the value of the BitAsset debt owed by the short position. If a particular short is right above the 150% level and the price of BTS relative to that BitAsset suddenly crashes by 34% or more, there will not be enough BTS collateral in that short position for the margin call to buy enough BitAssets to fully pay back the debt. Increasing the initial collateral requirements alone doesn't change the minimum percentage drop limit for a flash crash to lead to undercollateralized shorts because the margin call limit would still be the same. Increasing the initial collateral requirements alone does however mean that a smaller percentage of the total BitAsset supply would become debt unbacked by BTS in the event of a flash crash, since the average collateral ratio of the shorts after the flash crash in that case would be higher than those in the case with lower initial collateral requirements.

The implication of the above is that increasing the initial collateral requirement to 300% while keeping the margin call limit at the original 150% hasn't bought us much in terms of black swan prevention, in my opinion. What I think we should do is increase the margin call limit to 200% and keep the initial collateral requirement at 300%. That way we are protected from undercollateralization even with flash crashes of up to 50%, and shorts are protected from having to realize any losses in less than a 30 day period as long as the price of BTS (relative to the BitAsset they short) never drops below 33% the price at which they entered the short during the period (<30 days) for which they hold onto the short.

Why is the initial margin requirement fixed anyway? As you explained it protects the user and not the system, so everybody should be able to choose according to their own risk affinity.

I agree. I think we should just set the margin call limit, say to the 200% limit, and then let the short sellers choose how much initial collateral they want to put in the short (obviously greater than the margin call limit). They can always add more collateral to the short if it is getting dangerously close to the margin call limit and they don't yet want to exit the short, assuming they have extra BTS lying around of course.

Another thought: It is not the speed of the (flash-)crash that is important, it is about nobody selling/shorting BitAssets during the period the BTS price drops a certain percentage.

It is about there not being enough BitAsset sell orders to satisfy the margin calls without pushing the BTS price even lower (low enough to cause the collateral in the margin called short unable to back the BitAsset debt). Because of arbitrage and the market peg mechanics you would expect the buy and sell demand to not differ too much between the decentralized BTS/BitUSD exchange and other BTS/USD exchanges. So if actual BitUSD sell demand significantly dries up and the shorts start believing BTS value will fall, then I think it is possible for the market to (slowly) get into position where a margin call order would trigger the undercollateralization event. But I think the far more likely scenario comes in the flash crash case. The problem is that the margin calls are triggered by the price feed, but the price feed is slow (let's say it updates on an hourly basis). So, if the price of BTS drops by more than half in an hour period, there is a good chance that the old BitAsset sell orders will cancel their orders and put them back up at a new price to reflect the new market conditions, but the price feed will still be the old one from approximately an hour ago. Then when the price feed updates to reflect the new lower price of BTS, it triggers margin calls but at that point there is not enough BitAsset sells at reasonable prices to fully cover the debt. If the margin call could have been triggered faster in this case, undercollateralization might have been avoided. So perhaps the margin call conditions depending on the slow price feed is a big part of the problem.