A solid price index is essential for any crypto derivatives exchange.
The primary purpose of the price index is to help the exchange in establishing “The One True Price” — the price that the exchange uses when evaluating whether to liquidate a position or not.
The last traded price (Last Price) is insufficient for this purpose, as it can easily be manipulated by market participants with big pockets (whales). This is especially true in less liquid markets, where a few entities (typically market makers) control most of the bids and offers. If a malicious whale identifies a large cluster of potential long liquidations, he might coordinate with the market makers. The market makers will temporarily remove the bulk of their bids, allowing the whale to submit a large sell order. The order causes a significant amount of slippage, and drives the Last Price down, past the cluster of liquidation prices. The cascade of long liquidations that follow are then bought up by the whale, who pockets the difference between his sell price and the bankruptcy price of the liquidations that he triggered.
This type of manipulation is easily prevented by using a price index as the reference price for liquidations. A price index is a collection of prices, derived from a wide variety of different venues (typically spot exchanges), that has been normalized and averaged out.
To normalize a collection of prices, one usually removes the bottom X and top X outliers. This ensures that a malicious third party cannot manipulate the price on a single venue, skewing the average heavily in his favor. The value of X varies between exchanges, but is usually somewhere between 2 and 5.
Consider the following example:
- Bitfinex BTC/USD $21,532
- Bitstamp BTC/USD $21,323
- Itbit BTC/USD $21,021
- Coinbase BTC/USD $20,922
- Kraken BTC/USD $20,852
- Bitflyer BTC/USD $20,839
The top 2 outliers (Bitfinex and Bitstamp) are removed, along with the bottom 2 outliers (Kraken and Bitflyer).
The remaining two prices are averaged, yielding a final price of $20,971.5
Removing the outliers ensures that a single outlier venue (Bitfinex in this case) cannot influence the average.
The normalized price is also often referred to the as the Index Price.
BTC- and ETH-denominated trading pairs
Not all trading pairs that derivatives exchanges offer have a large selection of equivalent spot markets available to them. For sub-100 coins (coins outside the top 100), the number of spot markets is often limited to two or three USD-denominated pairs, and two or three BTC or ETH-denominated pairs. In that case, the BTC or ETH-denominated pairs are often used in combination with the USD-denominated pairs, and the price indices for BTC and ETH are indirectly used to translate the BTC and ETH-denominated prices to their USD equivalent.
The Fair Price
Once calculated, the price index is often slightly modified, as to also reflect the state of the order books. This is a very important, since the order book might contain information about any potential premiums/discounts on the underlying derivative. A futures contract, for example, will often trade at a premium or discount relative to spot, and the premium/discount will not at all be reflected in the price index.
To incorporate order book data, we must translate the order book into a single price point. We will call this price point the “Fair Price”.
The Fair Price is simply the mid price, Y thousand USD deep in the order book. Its the simplest and most meaningful representation of an order-book derived price that we can directly calculate, using a formula.
5000-USD bid: $20,030
5000-USD ask: $20,050
Fair Price: $20,040
To derive the Fair Price at time N, the Fair Price of the preceding X time periods is simply averaged together (typically using the exponential moving average).
The True Price
Once the Fair Price has been calculated, it can be used along with the price index (Index Price), to establish a final “True Price” that the exchange can use for evaluating liquidations.
The “One True Price” is also often referred to the as the Mark Price. It is calculated by taking the EMA of the difference between the Fair Price and the Index Price, across the last X time periods, and adding it to the Index Price.
The result is a derivative of the Index Price that is not only influenced by the spot exchanges included in the index, but also, to a lesser extent, by the order book-derived Fair Price.
To combat manipulation of the Fair Price, one might enforce a dampener on the “True Price”, effectively disallowing it to be more than 0.5% from the Index Price. This gives you the best of both worlds — a price that cannot easily be manipulated by a single entity, but that is also flexible enough to take into account potential futures premiums/discounts.
The final procedure:
- Collect prices from a collection of spot exchanges.
- Remove outliers, and average the remaining prices together. This gives us our Index Price.
- Calculate the Fair Price, based on order book data.
- Calculate the True Price (Mark Price), based on the difference between the Fair Price and the Index Price during the last X time intervals.
- Apply a dampener to the True Price, effectively only allowing it to be within a certain percentage of the Index Price.
The True Price (more commonly known as the Mark Price) is a manipulation-resistant that derivatives exchanges calculate to use as a reference point for liquidating client positions. It is based on a price index (typically from 5 or more spot exchanges) and an order-book derived price (that reflects any potential futures premiums/discounts).