其他
系统净盈亏由用户账面资金(所有用户的保证金余额之和)以及系统流动性池资金(用户累积充入的保证金减去相关费用及被提取的金额)之间的差额计算而来。比如用户的保证金余额之和为110万U,代表用户应得这么多钱,如果流动性池资金只有100万U,代表系统净亏损10万U,用户净盈利;如果流动性池资金有120万U,代表系统净盈利10万U,用户净亏损。
系统的净盈亏主要有裸头寸及价格变化产生
当系统发生净亏损时,如果用户发生提现行为,则会计算该用户应该分摊多少比例的系统净亏损,分摊部分由保险池兑付,保险池如果不足则发行债券bToken进行兑付
举例说明:系统流动性池资金有100万U,用户总保证金余额为110万U,系统净亏损10万U。此时Alice提现1100U,那么其需要承担系统的净亏损值为1100*(1-1000000/1100000)=100U。该分摊额由保险池和债券进行兑付,其余的由流动性池兑付
保险池的资金来源主要有:交易手续费的40%,无效经纪商的收入(手续费的30%),清算剩余保证金,用户净亏损分摊等; 保险池主要用于用户提现时兑付系统的净亏损(如有)。
举例说明:流动性池资金余额为100万U,用户保证金余额之和为110万U,相当于系统净亏损10万U,此时如果某用户提现1100U,那么流动性池兑付1000U(1100*1000000/1100000),剩余部分由保险池兑付。相反如果流动性池资金余额为110万U,用户保证金余额之和为100万U,相当于系统净盈利10万U,此时如果某用户提现1000U,那么流动性池兑付1000U同时会额外向保险池注入100U的资金。具体保险池的运作机制可以参考:https://derify.medium.com/how-does-the-insurance-pool-in-derify-works-c8887ceda8c5
回购基金来源于保险池的溢出,具体计算公式为:回购基金 = x * MAX(0,保险池余额 - MAX(用户净盈亏,0)),【x∈[0,100%],为可调参数】。当保险池有钱但是系统净亏损大于保险池余额时,保险池的资金将100%用于兑付系统亏损,不会用于DRF回购
举例说明:
A:保险池资金为1000U,此时系统净亏损为1200U,那么回购基金余额为0;
B:保险池资金为1000U,此时系统净盈利为400U,那么回购基金余额为1000*20%=200U
C:保险池资金为1000U,此时系统净亏损为300U,那么回购基金余额为(1000-300)*20%=140U
当回购基金有余额时,每周一的UTC 0.00会进行DRF的价格快照(价格来源pancakeswap)。如果当周价格高于上周一UTC 0.00的价格,则不启动回购;如果当周价格低于上周一UTC 0.00的价格,则启动回购合约,回购的上限是比较回到上周一UTC 0.00的价格或回购基金用完。回购的DRF会自动打入黑洞地址进行销毁
举例说明:
A:回购基金有1000U,本周一UTC 0.00的DRF价格为0.1U,上周价格为0.08U,那么不回购,回购基金留在保险池;
B:回购基金有1000U,本周一UTC 0.00的DRF价格为0.1U,上周价格为0.11U,那么回购,如果价格从0.1U回到0.11U只需要500U,则只回购500U,剩余的资金留在保险池;
C:回购基金有1000U,本周一UTC 0.00的DRF价格为0.1U,上周价格为0.11U,那么回购,如果1000U的回购后使得币价仍低于0.11U,则回购基金100%使用
这样设计回购规则的好处是一方面可以让回购基金尽量在低价位进行回购,提高回购销毁的数量;另一方面相当于告知用户在某个时间点会启动回购,那么用户会有币价上涨的预期,从而提前买入,而当用户买入会后将价格拉高超过上周价格,则不启用回购,币价的支撑可以靠用户的买盘,提高回购资金的利用效率