The pricing of perpetual contract is determined by the construction of the liquidity pool. We stipulate:
- 1.When users open, close, or get liquidated, LPs always passively open positions with the same size and at the same price as the user, but in the opposite direction.
- 2.The Liquidity Pool Balance Rate (BR) is calculated using the formula: BR = Short Positions Value Held by LPs / Total liquidity of LPs. If the LPs hold no positions, then BR is zero, indicating that the liquidity pool is in a fully balanced state. When the LPs hold long positions, BR becomes negative.
- 3.The Perpetual Contract Price Premium Rate (PR) is the premium rate of the price (P) of the perpetual contract liquidity pool relative to the index price (Pi). PR = f(BR), i.e., PR is a function of BR. This function is jointly determined by the current state of the liquidity pool and the system parameters. Specifically, when BR = 0, f(BR) = 0, meaning that the premium rate is zero when the LPs are in a fully balanced state.
In summary, the price of the perpetual contract can be expressed by the following formula:
P = [1 + f(BR)] * Pi
- 1.Based on the above formula, with a known index price, the contract price is determined by the Balance Rate (BR) of the liquidity pool. This is why we call this mechanism the "Balance Rate Market Maker".
- 2.When users open or close positions, it leads to changes in LP holdings, which in turn affects the BR value. We can then use this formula to calculate the change in contract price resulting from changes in user positions.
It should be noted that in the BRMM algorithm, the f(BR) function automatically adjusts itself to ensure that the current contract price, P, remains unchanged when the BR value changes due to the addition or removal of LPs.