2018-02-16 09:51:51 +00:00
|
|
|
BSIP: 0030
|
|
|
|
Title: Always Allow Increasing Collateral Ratio If Debt Not Increased
|
|
|
|
Author: Abit More <https://github.com/abitmore>
|
|
|
|
Status: Draft
|
|
|
|
Type: Protocol
|
|
|
|
Created: 2018-02-16
|
|
|
|
Discussion: https://github.com/bitshares/bitshares-core/issues/583,
|
|
|
|
https://github.com/bitshares/bitshares-core/issues/672
|
|
|
|
Replaces: -
|
|
|
|
Worker: To be done
|
|
|
|
|
|
|
|
# Abstract
|
|
|
|
|
|
|
|
Currently, when a short position's collateral ratio is below MCR (a parameter
|
|
|
|
in price feed: `maintenance_collateral_ratio`) but is not completely filled
|
|
|
|
immediately due to a lack of enough volume on the opposite side of the market,
|
|
|
|
it will hang in the market and be waiting for being margin called.
|
|
|
|
|
|
|
|
The owner then can adjust the order's collateral ratio **only if**
|
|
|
|
* to close the position, or
|
|
|
|
* the new collateral ratio is above MCR, or
|
|
|
|
* the call order get completely filled (margin called) immediately.
|
|
|
|
|
|
|
|
While this prevents shorters from maliciously reducing collateral ratio (to
|
|
|
|
increase possibility of black swan event), it also prevents shorters from
|
|
|
|
slightly increasing collateral ratio (to decrease possibility of black swan
|
|
|
|
event).
|
|
|
|
|
|
|
|
This BSIP proposes a mechanism to improve this situation.
|
|
|
|
|
|
|
|
# Motivation
|
|
|
|
|
|
|
|
Make the exchange system more user-friendly.
|
|
|
|
|
2018-02-18 13:22:19 +00:00
|
|
|
# Rationale
|
2018-02-16 09:51:51 +00:00
|
|
|
|
|
|
|
The ecosystem would get benefit if shorters are allowed to reduce risks to
|
|
|
|
themselves while reducing risks to the system at same time.
|
|
|
|
|
|
|
|
Current rules are a bit too strict, which can be loosed to:
|
|
|
|
|
|
|
|
A shorter can adjust the position's collateral ratio **only if**
|
|
|
|
* to close the position, or
|
|
|
|
* the new collateral ratio is above MCR, or
|
|
|
|
* the call order get completely filled (margin called) immediately, or
|
|
|
|
* **the new ratio is higher than old ratio and debt is not increased**
|
|
|
|
|
|
|
|
# Specifications
|
|
|
|
|
|
|
|
In `do_apply()` function of `call_order_update_evaluator` class, if
|
|
|
|
finally found the call order still in margin call territory,
|
|
|
|
* don't throw an exception if `call_obj->collateralization()` is reduced, and
|
|
|
|
* require `delta_debt` of `call_order_update_operation` to be non-positive.
|
|
|
|
|
|
|
|
# Discussion
|
|
|
|
|
|
|
|
[to be added if any]
|
|
|
|
|
|
|
|
# Summary for Shareholders
|
|
|
|
|
|
|
|
[to be added if any]
|
|
|
|
|
|
|
|
# Copyright
|
|
|
|
|
|
|
|
This document is placed in the public domain.
|
|
|
|
|
|
|
|
# See Also
|
|
|
|
|
|
|
|
* https://github.com/bitshares/bitshares-core/issues/583
|
|
|
|
* https://github.com/bitshares/bitshares-core/issues/672
|
|
|
|
* https://bitsharestalk.org/index.php?topic=25926.0
|