IIP-6 Trustless Rebalance Parameters

iip: 6
title: Parameterize the DeFi Pulse Manager Contract
status: Accepted
author: <Brian Weickmann (brian@setprotocol.com), Alex Soong (alex@setprotocol.com), and Dylan Tran (dylan@setprotocol.com)
created: <2020-10-28>
requires: IIP-005

Simple Summary

Parameterize the DeFi Pulse Manager Contract with the target exchange, maximum trade size, and trade cool-down period for each asset in the DeFi Pulse Index to facilitate rebalances.

Abstract

This IIP seeks to set the parameters for the initial trustless rebalance of the DPI. The three parameters to be set on a “per asset” basis are: 1) exchange, 2) maximum trade size, and 3) time between trades. Additionally, the community will agree on a set of addresses that can execute this rebalance (with the goal to open it up to anyone in the near future).

In order to determine the best exchange to use for each asset, the amount of each asset required to move the price 50 bps and 100 bps was sampled. The exchange with the best rates was selected-- in most cases there was an exchange with a clear market depth superiority. In order to determine the maximum trade size, the quantity that aligned with 50 bps of price impact on the best exchange was selected. The time between each trade was selected based on how much on-chain liquidity existed on other DEXes, assets were bucketed into 5, 10, and 15 minute cool off-periods.

Once these parameters are agreed upon they will be submitted to the ICManager contract, as outlined in IIP-005, by the IndexCoop Multi-Sig wallet.

Specification

Overview

The proposed parameters for the November rebalance are as follows:

Component Address Expected Trade Count (November Rebalance) Exchange Maximum Trade Size Cool-Off Period (seconds)
MKR 0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2 Sell 5 Balancer 70 MKR 600
AAVE 0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9 Sell 18 Uniswap 500 AAVE 600
SNX 0xc011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f Buy 1 Sushi 8,000 SNX 600
YFI 0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e Sell 3 Sushi 4.5 YFI 600
UNI 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 Buy 6 Uniswap 43,000 UNI 900
COMP 0xc00e94cb662c3520282e6f5717214004a7f26888 Sell 2 Sushi 275 COMP 600
REN 0x408e41876cccdc0f92210600ef50372656052a38 Buy 1 Uniswap 30,000 REN 900
LRC 0xbbbbca6a901c926f240b89eacb641d8aec7aeafd Sell 1 Uniswap 80,000 LRC 900
KNC 0xdd974d5c2e2928dea5f71b9825b8b646686bd200 Sell 2 Uniswap 4,600 KNC 600
BAL 0xba100000625a3754423978a60c9317c58a424e3d Sell 1 Balancer 8,400 BAL 900
REP 0x221657776846890989a759ba2973e427dff5c9bb Sell 1

Included in the table are the approximate amount of trades needed to trade the component to it’s target. These are subject to change based on changes in price between now and the rebalance on November 2nd, however the parameters as selected here will not change.

Additionally the following addresses will be allowed to execute rebalance trades. These addresses will only be able to specify the asset to trade, they cannot select any other parameters.

Whitelist Address
0xD3D555Bb655AcBA9452bfC6D7cEa8cC7b3628C55
0x209F012602669C88bbdA687FBBfE6a0D67477a5D
0x69Bdb276A17Dd90F9D3A545944CCB20E593ae8E3
0x6C4B7A83D2a301f7Dd3563812A15F31A1e973b4C

Rationale

Some rationale for the parameters has already been provided in the abstract section. Below is the raw data justifying the choices based on the given rationale:

Asset Balancer @ 50 bps Balancer @ 100 bps Uniswap @ 50 bps Uniswap @ 100 bps Sushiswap @ 50 bps Sushiswap @ 100 bps
MKR 100 ETH 350 ETH 40 ETH 80 ETH Non-competitive Non-competitive
AAVE 20.5 ETH 41 ETH 42 ETH 83 ETH 32 ETH 63 ETH
SNX 11 ETH 25 ETH 21 ETH 41 ETH 67 ETH 133 ETH
YFI Non-competitive Non-competitive 55 ETH 108 ETH 150 ETH 300 ETH
UNI Non-competitive Non-competitive 295 ETH 590 ETH Non-competitive Non-competitive
COMP 2 ETH 10 ETH 11 ETH 21.5 ETH 61 ETH 123 ETH
REN Non-competitive Non-competitive 22 ETH 43 ETH 16 ETH 33 ETH
LRC Non-competitive Non-competitive 30 ETH 59 ETH Non-competitive Non-competitive
KNC Non-competitive Non-competitive 9.5 ETH 19 ETH Non-competitive Non-competitive
BAL 250 ETH 525 ETH Non-competitive Non-competitive Non-competitive Non-competitive
REP 20 ETH 41 ETH Non-competitive Non-competitive Non-competitive Non-competitive

As a brief reminder, the exchange with the best liquidity was chosen, on that exchange the amount of the component that causes a 50 bps price impact was selected as the maximum trade size. Cool off periods were bucketed into 5,10, and 15 minutes based on the liquidity found on other exchanges, the theory being the price impacts of trades will be arbed away quicker if liquidity exists elsewhere.

Copyright

Copyright and related rights waived via CC0.

Governance Vote

Trustless Rebalance Parameters
  • FOR Parameterize DeFi Pulse Manager according to IIP-6
  • AGAINST Do not parameterize DeFi Pulse Manager according to IIP-6

0 voters

3 Likes

Looks interesting. Not somehting I had considered before.

It would be informative (to me at least) to have an estimate as to the expected trades values in ETH November (e.g. MKR will sell 5x 70 MKR = 350 MKR = 495 ETH). It doesn’t impact this IIP, but illustrates how the different tokens are inflating.

Sure this is based off of prices yesterday (10/27), but is likely to change as prices change between now and then:

[ { asset: 'YFI',
    currentUnit: '671078052082866',
    newUnit: '615824608766404',
    notionalInToken: '-10868792535170930277',
    notionalInUSD: '-150383' },
  { asset: 'COMP',
    currentUnit: '74288004826547522',
    newUnit: '72641564598934457',
    notionalInToken: '-323867910873791546599',
    notionalInUSD: '-35644' },
  { asset: 'SNX',
    currentUnit: '2765888612927550726',
    newUnit: '2796561640179249227',
    notionalInToken: '6033628849426467954967',
    notionalInUSD: '22203' },
  { asset: 'MKR',
    currentUnit: '20401220168687322',
    newUnit: '18844005890514302',
    notionalInToken: '-306316455706316619523',
    notionalInUSD: '-181618' },
  { asset: 'REN',
    currentUnit: '19710748363546021275',
    newUnit: '19953493590411896968',
    notionalInToken: '47749920210350845242540',
    notionalInUSD: '14784' },
  { asset: 'KNC',
    currentUnit: '4420225081990497673',
    newUnit: '4380928901570682939',
    notionalInToken: '-7729871783038059181001',
    notionalInUSD: '-7012' },
  { asset: 'LRC',
    currentUnit: '26585959515655100887',
    newUnit: '26359671054466085097',
    notionalInToken: '-44512743281534506860910',
    notionalInUSD: '-7115' },
  { asset: 'BAL',
    currentUnit: '183617021220654196',
    newUnit: '177166246785436199',
    notionalInToken: '-1268918728304483775907',
    notionalInUSD: '-15506' },
  { asset: 'REP',
    currentUnit: '107304784532713679',
    newUnit: '109382918159406473',
    notionalInToken: '408785442013473686549',
    notionalInUSD: '5461' },
  { asset: 'UNI',
    currentUnit: '3293451542551279979',
    newUnit: '4482967440809858776',
    notionalInToken: '233987254720251739016745',
    notionalInUSD: '671543' },
  { asset: 'AAVE',
    currentUnit: '281038972455517469',
    newUnit: '236202985109865865',
    notionalInToken: '-8819595944063964925378',
    notionalInUSD: '-316711' } ]
1 Like