Merge branch 'master' into bsip32
This commit is contained in:
commit
4819d6be64
3 changed files with 138 additions and 0 deletions
|
@ -37,3 +37,5 @@ Number | Title |
|
|||
[27](bsip-0027.md) | Asset Issuer Reclaim Fee Pool Funds | Abit More | Protocol | Accepted
|
||||
[28](bsip-0028.md) | Worker Proposal Improvements | Bill Butler | Protocol | Draft
|
||||
[29](bsip-0029.md) | Asset issue change to require owner authority | Fabian Schuh | Protocol | Draft
|
||||
[30](bsip-0030.md) | Always Allow Increasing Collateral Ratio If Debt Not Increased | Abit More | Protocol | Draft
|
||||
[31](bsip-0031.md) | Update Short Position's Margin Call Price After Partially Called Or Settled | Abit More | Protocol | Draft
|
||||
|
|
71
bsip-0030.md
Normal file
71
bsip-0030.md
Normal file
|
@ -0,0 +1,71 @@
|
|||
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.
|
||||
|
||||
# Rationale
|
||||
|
||||
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
|
65
bsip-0031.md
Normal file
65
bsip-0031.md
Normal file
|
@ -0,0 +1,65 @@
|
|||
BSIP: 0031
|
||||
Title: Update Short Position's Margin Call Price After Partially Called Or Settled
|
||||
Author: Abit More <https://github.com/abitmore>
|
||||
Status: Draft
|
||||
Type: Protocol
|
||||
Created: 2018-02-16
|
||||
Discussion: https://github.com/bitshares/bitshares-core/issues/343,
|
||||
https://github.com/bitshares/bitshares-core/issues/649
|
||||
Replaces: -
|
||||
Worker: To be done
|
||||
|
||||
# Abstract
|
||||
|
||||
Currently, when a short position get partially called or settled, the call
|
||||
price won't change, that said, even if its actual collateral ratio is higher
|
||||
than others, higher than minimum required, it will still be selling collateral
|
||||
at a low price, taking precedence over other short positions.
|
||||
|
||||
This behavior is causing several issues:
|
||||
* it's somehow unfair, thus brought bad experience to shorters, and
|
||||
* it prevents black swan event from being triggered in time when needed,
|
||||
because the collateral ratio of the 2nd even overall short positions may
|
||||
be too low but not being checked, thus risks the pegging system.
|
||||
|
||||
This BSIP proposes a mechanism to improve this situation.
|
||||
|
||||
# Motivation
|
||||
|
||||
Make the exchange system more user-friendly.
|
||||
|
||||
# Rationale
|
||||
|
||||
To attract more users, the system should be fair, should be well balanced.
|
||||
|
||||
It's common sense that short positions with least collateral ratio should
|
||||
get margin called first. This can be achieved if always update the margin
|
||||
call price after every fill.
|
||||
|
||||
# Specifications
|
||||
|
||||
In `fill_order( const call_order_object& ...)` function of `database` class,
|
||||
update `call_price` field of `call_order_object` after debt or collateral
|
||||
changed to a non-zero value.
|
||||
|
||||
In addtion, after `call_price` get updated, the iterators initialized with
|
||||
`by_price` index may be invalidated, so need to review / revise involved code,
|
||||
E.G. `check_call_orders(...)` function of `database` class.
|
||||
|
||||
# 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/343
|
||||
* https://github.com/bitshares/bitshares-core/issues/649
|
||||
* https://bitsharestalk.org/index.php?topic=25926.0
|
Loading…
Reference in a new issue