Detailed overview of how rebalancing works through the lens of an actual example.

Assume the AVAX-USDC farm on Trader Joe has $22M liquidity and the price of AVAX is $18. That translates to $11M USDC and 611,111 (11M/18) AVAX. Assuming we have $1M worth of LP on Trader Joe which comes from a 3X LYF position on Homora, our debt in USDC is 1/6M and our debt in AVAX is 1/36M ~ 27.78K AVAX or $500K USD.

Say after some time we accrue $10K in farm token rewards and $2K USDC plus $4000/18$ AVAX in interest. Therefore

Say the price of AVAX changes to $20. After the $10K in rewards is added to our LP, assume the farmโ€™s liquidity becomes $23.20M so that it has N_a=11.60M USDC and N_b=580K AVAX. The amount of tokens in our LP is

The current leverage becomes 3.29. In order to bring the leverage back to 3 and achieve delta-neutral, we need to remove some LP tokens, swap some USDC to AVAX and repay some of our debts.

The amount of LP we need to remove is proven to be

We need to remove 5.731% LP in our position during rebalance. After that the amount of tokens in our LP is

The amount of tokens left in the pool is

The optimal amount of USDC to be swapped to AVAX is proven to be

which amounts to 3% of the LP position.

The swap satisfies


The amount of USDC to repay Delta_d_a is the amount withdrawn minus the amount swapped

Therefore the final amount of USDC in debt is

The final amount of USDC in the LP after the swap is proven to be

And the amount of repaid AVAX is

The final amount of AVAX in debt is

And the final amount of AVAX in the LP after the swap is

which matches the debt amount(up to rounding errors) in AVAX to reach delta-neutral.

The swap price of AVAX in terms of USDC is

which indicates a slippage (including the swap fee) of 0.8%.

Also the pool price of AVAX in terms of USDC after the swap is

As a result the final leverage is

The actual calculations are much more accurate and only have single digit errors (in Solidity uint). In a word our contract is able to rebalance the pseudo delta-neutral position by removing the optimal amount of LP and swapping the minimal amount of tokens, with less than 1,800,000 in gas.

Last updated