Leverage Decay Research

NOTICE: This is the original article written on 30 Dec 2020. The proposed model requires more research and is not implemented in the current version of the X2 protocol. More information on the X2 features that were implemented can be found here.

We mentioned in our previous post that we were exploring ways to reduce leverage decay. After some research, we would like to present our proposal.

In the usual implementation of BULL and BEAR tokens, balances are periodically adjusted such that exposure is increased when your tokens are in profit and exposure is decreased when your tokens book a loss.

The advantage of this model is compounding gains when in profit and reducing losses when the market moves against your position. The disadvantage of this model is the potential for increased losses when there is increased exposure and decreased profits when there is decreased exposure.

An Alternative Model

The mentioned properties of BULL and BEAR tokens are neither good nor bad in itself, they can be used to provide a different kind of risk exposure compared to having a perpetual position.

However, what if we could have BULL and BEAR tokens that behave more similarly to perpetual contracts?

The simplicity of BULL and BEAR tokens with non-compounding profits / losses combined with a simple to use swap interface could appeal to a wide user audience.

Anchor Pricing

One possible modification to allow BULL and BEAR tokens to follow the performance of a perpetual contract is for the system to use a particular price as a reference.

Here is an example of 3X BULL and 3X BEAR token performance without a fixed price reference:

Since there is no fixed reference, the calculation of profits and losses is always relative to the last known price + quantities. In this case, even though the BULL and BEAR tokens were bought at $1000, when the price moved from $1100 to $1000, this is calculated as a price movement of ~9%. The total position size of BEAR tokens is taken to be 7, so at Time 3, the position size of the BEAR tokens becomes 7 * (1 + 0.09… * 3) = 8.91.

If we instead use $1000 as the anchor price and use the initial quantities for calculation, the performance would look like this:

In this model, the sizes of BULL and BEAR tokens are calculated based on the initial quantities and the distance of the price from the anchor price.

More Scenarios

The new model looks nice on a simple scenario, but it wouldn’t be usable unless it also works for cases where new BULL or BEAR tokens are bought or sold in between price movements.

When a trader buys new tokens, we adjust the reference balances such that the current balances of other traders are not affected by the purchase and then we assign the buyer with a percentage share of the total BULL or BEAR pool.

Here is an example where 3X BULL tokens are bought in between a price movement:

In this example, a third trader buys BULL tokens after the price moves to $1100. When the price decreases back to $1000, the third trader books a loss of ~11.5%. This is less than the expected loss on a 3X leverage position since the BEAR side is smaller and only a total of 3 tokens need to be paid to the bears. Interestingly, the first trader ends up with more tokens than before.

If at Time 4, the price had instead increased, then the sizes would look like this:

In this case, the third trader makes a profit of ~11.5%. While the leverage is less than the target leverage, both profits and losses are proportionate and fair.

When tokens are sold, the same calculation to adjust the reference balance is done.


The tradeoff of using an anchor price is that leverage will reduce as the distance between the current price and the anchor price increases.

An example to illustrate this:

In this example, both BULL and BEAR positions are balanced at Time 3. At Time 4, the price increases to $1200, and BULL 1 gets their intended leverage of 3X since they bought their BULL tokens at Time 1. For BULL 2, they made a profit of ~23% on a ~9% price movement, which works out to a leverage of 2.55X.

For this reason, the anchor price should be moved periodically. If we readjust balances and the anchor price for a 3X market on every 20% price movement, we can constantly achieve a target leverage of 2–3X.

Adjusting the anchor price and balances at these points, will lead to compounding effects similar to those mentioned at the start of the article.

However, since this is done only on 20% price movements, the rate of compounding is greatly reduced. For reference, a 20% price movement when the price of ETH is $736 would be an increase to $883.

The 20% used here is just an example, this value can be customised per market so that markets with different desired properties can be created.

Next Steps

This model is still in a research phase and the next steps would be to:

  1. Write the smart contract for this model, to see if it can actually be implemented
  2. Run tests on the smart contract, to recheck the math and expected behaviour

Connect with us

XVIX is a token that absorbs value from volatility. https://xvix.finance/