【DeFi技术解析】去中心化算法银行Compound技术解析之利率模型篇-出家如初,成佛有余

【DeFi技术解析】去中心化算法银行Compound技术解析之利率模型篇

互联网金融 admin 431浏览 0评论

在《【DeFi技术解析】去中心化算法银行Compound技术解析之概述篇》对Compound 做了概述,这一篇对Compound的利率模型进行分析。

由于DAI是Compound的主要借贷币种,为简单起见,以下都以DAI货币市场(Money Market)为例子,其他Token的货币市场类似。

1、年化利率、名义利率、实际利率

传统金融借贷大部分按照天作为利息单位,Compound按照15秒一个区块作为利息计算时间单位。
传统金融借贷,在一次借款生命周期内,借款利率是固定不变的。而Compound的利率根据市场的供需关系实时浮动变化,每一个区块借款利率/放贷利率都可能不同。因此在Compound中,借款利率/放贷利率一般指每个区块的利率(ratePerBlock)。
传统金融放贷中,利率包括名义利率、实际利率。一般对借款人说得是名义利率,当计算利息时候是按照复利方式计算实际利率。

在Compound中:
名义利率=实际利率
年化利率=每个区块利率*2102400
每个区块利率=年化利率/blocksPerYear
blocksPerYear = 2102400=60/15*60*24*365

2、兑换率 exchangeRate

放贷人将DAI资产存入货币市场时候,平台会按照平台实时兑换率exchangeRate,将DAI兑换为平台的cDAI,此过程称之为铸币(Mint Token)
放贷人可以随时终止放贷,不需要等待借款资产到期。放贷人将放贷的本金、利息收入赎回(Redeem)时候,平台会按照实时兑换率将放贷人持有的cDAI转为DAI。

其中:
exchangeRate = (totalCash + totalBorrows – totalReserves) / totalSupply

其中:
totalCash:放贷人存入智能合約,但尚未被借走的DAI的数量
totalBorrows:所有借款人应偿还DAI的数量(借款本金+利息)
totalReserves:平台储备金总数量(借款人利息的部分作为平台储备金保留)
totalSupply:所有放贷人获得的cDAI的总数量

官方白皮书说:cDAI和底层资产DAI之间的价格(兑换率)会秩序上涨。The price (exchange rate) between cTokens and the underlying asset
increases over time, as interest is accrued by borrowers of the asset。

根据以上公式,并不能得出兑换率会随时间一直上涨的结论,官方白皮书说法只有在totalSupply保持不变情况下才成立。

3、使用率 utilizationRate

utilizationRate = totalBorrows / (totalCash + totalBorrows – totalReserves)

使用率的用途在于度量平台资金使用效率,也即:对应货币市场的资金池中,借款金额的占比。

 

4、备用金 Reserves

在传统金融中,银行/P2P放贷,对每一笔借款,平台都会从放款收益中计提一笔风险备用金。
Compound会对每一笔借款的利息收益,按照备用金因子(reserveFactor)计提一笔备用金,作为平台收益。
也即:
totalReservesNew = interestAccumulated * reserveFactor + totalReserves

5、借款利率 borrowRate

Compound借款利率有两个版本,1.0版本为线性利率模型,2.0版本为分段利率模型,1.0版本是2.0版本的特殊情况。

5.1、2.0版本:
2.0版本的核心思路:如果使用率超过一定比例(kink),则使用分段利率,否则则采用1.0版本的利率模型。

当 utilizationRate<= kink时候
borrowRate = baseRate + utilizationRate*multiplier

当 utilizationRate>kink时候
borrowRate = baseRate + utilizationRate*multiplier + (utilizationRate-kink)*jumpMultiplier

可以将kink理解为边际利率,utilizationRate-kink理解为溢出利率
上述公式用中文理解,可以翻译为:

当使用率 <= 边际利率 时候:
借款利率=基础利率+使用率*使用率乘数

当 使用率 > 边际利率 时候:
借款利率=基础利率+使用率*使用率乘数+边际利率*边际利率乘数

其中:
baseRate 基础利率。
对DAI baseRate 依赖于DAI的Dai Savings Rate (DSR)
对其他Token,baseRate = baseRatePerYear/blocksPerYear

multiplier、jumpMultiplier为对应的乘数,算法有点复杂,具体可以参考其代码。

5.2、1.0版本
borrowRate = baseRate + utilizationRate*multiplier
1.0版本就是 当 utilizationRate<= kink时候 特殊情况

 

6、放贷利率 supplyRate

supplyRate=borrowRate * (1 – reserveFactor) * utilizationRate
也即:
放贷利率=借款利率*(1-备用金因子)*使用率

 

 

转载请注明:出家如初,成佛有余 » 【DeFi技术解析】去中心化算法银行Compound技术解析之利率模型篇

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址