Elastic Pool APR Calculations
Understanding Your Elastic APR
Annual Percentage Rate (APR) calculation
To demonstrate the practicality of the reinvestment curve design, KyberSwap also displays an average APR for each Elastic pool. In order to provide a more accurate estimate of potential APR, the average APR calculation will have to prioritize active liquidity positions which were accumulating fees during a selected time interval. As such, APR calculations are based on the historical data for the selected pool. KyberSwap Elastic APR calculations are based on 30 minute intervals whereby the return per interval is:
Extending this over a day, we get the sum for 48 intervals (30 min each). This is the daily return if your liquidity position was in range for the whole day:
To get the APR from the last 24 hours of trading data, we multiply the above by the number of days in a year. The final APR calculation is as follows:
Example APR calculation
Scenario
A user holding some ETH
and USDT
is planning to earn yield for her asset by contributing liquidity to a KyberSwap Elastic Pool. She visits the Elastic Pools page at 10:00 AM, 4th Jan to view the available pools and notices that the ETH - USDT (1% fee tier)
Elastic Pool offers the highest APRs. Before committing her tokens, she would like to understand how this APR is calculated.
Assumptions
APR is being calculated for the
ETH - USDT (1% fee tier)
Elastic Pool at 10:00AM, 4th JanThe current price of the pool is 1200
Based on the current price, the tick ranges of the pool increases in roughly 1% (~12USD) steps:
Single interval calculation
To calculate the return for the earliest time interval (10:00 AM, 3rd Jan ←→ 10:30 AM, 3rd Jan):
30m Fees = USD2000
Pool price at the end of the interval (12 PM, 3rd Jan ←→ 12:30 PM, 3rd Jan). This is used to calculate in-range positions for this interval = 1190
Based on above price, the 30m tick range to consider = 1188-1200 (.....1176 - 1188 - 1200 - 1212.....)
TVL for active liquidity positions that supported the tick 1188-1200 at 12:30PM, 3rd Jan = USD9000 (aggregate TVL of position 1 + 2 + 3 below)
Liquidity Position | Tick Range | TVL (USD) | Included |
---|---|---|---|
1 | 1100 - 1200 | 1000 | Yes |
2 | 1152 - 1212 | 500 | Yes |
3 | 1188 - 1236 | 250 | Yes |
4 | 1100 - 1188 | 500 | No |
Return for the interval (12:00 PM, 3rd Jan ←→ 12:30 PM, 3rd Jan) = (2000/9000) * 100% = 0.00222%
The above calculation is repeated for each of the 48 intervals with the total returns for the day being the sum of all 48 intervals. This is then multiplied by 365 days to get the final estimated APR. For simplicity, assuming all 48 intervals have the exact same fees and TVL, the APR would be 38.93% (0.00222% * 48 * 365 ).
Last updated