智能资产所有人(资产主)可以从多种黑天鹅处置方式选择一种:
* 全局清算(即目前规则)
* 不清算(即“黑天鹅保护”规则)
* 独立债仓清算+资金池
* 独立债仓清算+挂单出售
黑天鹅定义:
当抵押率最低的债仓的抵押率低于MSSR时,该债仓按爆仓价(喂价/MSSR)卖出全部抵押品仍不足以清偿其全部债务,即为发生黑天鹅事件。针对这种情况,系统提供多种处置方式供选择。
黑天鹅价 = 抵押率最低的债仓的 债务数量 * MSSR / 抵押品数量
注:所有方式下,喂价人都正常喂价。
1. 全局清算
即现有规则。
喂价人正常喂价,当前喂价即实际喂价,不调整。
当出现黑天鹅时,所有债仓关闭,抵押品进入全局清算资金池。
(全局清算价及规则见
https://bitsharestalk.org/index.php?topic=33121.0 )
资产持有者可以通过强清的方式,以固定价格,从全局清算资金池换取抵押品。
全局清算后,不可再抵押,待喂价回升资产复活后方可重新抵押。
(关于竞价复活的规则会有所调整,不在此详述)
2. 不清算
即“黑天鹅保护”规则。
喂价人正常喂价,所有喂价的中间值以新字段 median_feed 显示在资产属性里,以下简称“实际喂价”。
系统自动检测实际喂价是否过低,最低喂价 = 黑天鹅价,如果过低,则 current_feed 字段(简称“当前喂价”)设置为黑天鹅价;否则设置为实际喂价。当抵押率最低的债仓发生变化后(调仓或被吃),当前喂价实时自动调整。
债仓爆仓、被强清时成交价根据当前喂价进行计算,最低为 黑天鹅价/MSSR 。
债仓是否爆仓(MCR)以及初始抵押率(ICR)判断规则仍然以实际喂价为准。
3. 独立债仓清算+资金池
喂价人正常喂价,所有喂价的中间值以新字段 median_feed 显示在资产属性里,以下简称“实际喂价”。
当出现黑天鹅时,抵押率最低的债仓被关闭(即独立清算),其债务和抵押品(扣除爆仓费后)进入独立清算资金池,池清算价 = 池债务数量/池抵押品数量。
系统自动检测实际喂价是否过低,最低喂价 = 池清算价*(MSSR-MCFR),如果过低,则 current_feed 字段(简称“当前喂价”)设置为最低喂价;否则设为实际喂价。池内抵押品数量发生变化时,池清算价实时变化,当前喂价也同时实时自动调整。
(可能出现存在债仓实际抵押率低于池清算价的情况,调整当前喂价目的是为了债仓爆仓成交价不低于池清算价)。
债仓爆仓、被强清时成交价根据当前喂价进行计算。
债仓是否爆仓(MCR)以及初始抵押率(ICR)判断规则仍然以实际喂价为准。
池不与挂单撮合。也就是说,挂单吃爆仓时,池不动。
发起强清时,优先从独立清算资金池成交,价格为池清算价,无需等待,免强清费。
注:这种方式下,各方利益相对比较平衡。
4. 独立债仓清算+挂单出售
喂价人正常喂价,当前喂价即实际喂价,不调整。
当出现黑天鹅时,抵押率最低的债仓被关闭(即独立清算),其债务和抵押品(扣除爆仓费后)转为一个无法取消的特殊卖单,卖单价 = 债务数量 / 抵押品数量。
同一资产所有被独立清算的债仓,产生的卖单自动合并为一个,价格以总量为准。
该卖单只能以挂买单的方式吃,不与强清单撮合。可能存在没有债仓供强清的情况,这时强清单会被取消。
(因为不存在最低喂价,喂价下行时,可能债仓爆仓价比特殊卖单价更低,喂价上行时,特殊卖单价可能更低)
注:这种方式下,相对来说,会锚定的比较准(即使发生黑天鹅事件)。
其他相关规则:
* 已发生全局清算或者独立债仓清算时,资产主不能修改黑天鹅处置方式;否则(含已复活、已清完、已吃完)可以修改。
* 从“不清算”修改为其他方式时,可能马上触发清算。
* 资产主可以放弃修改权限,一旦放弃不可恢复(除非资产供应量为0)。
* 资产主手动触发全局清算(而不是通过喂价触发)时,黑天鹅处置方式自动变成全局清算,独立清算池或挂单里的债务和抵押品自动转移到全局清算池。
相关代码:
https://github.com/bitshares/bitshares-core/pull/2499对应 issue :
https://github.com/bitshares/bitshares-core/issues/2467bsip讨论:
https://github.com/bitshares/bsips/issues/179