What is Mark Price?
As the most important parameter when calculating unrealized P/L - the primary driver of liquidations - an accurate mark price is pivotal in avoiding unnecessary liquidations. And at CoinW, an "Index Price" including prices from various major crypto exchanges is the primary component of our Mark Price.
CoinW's USDT-Margined Futures Price Index is based on prices from a basket of major spot trading markets, including Binance, HTX, OKX, Bybit, Gate.io, and Kucoin.
We also undertake additional protections to avoid poor market performance during Spot exchange outages or connectivity issues:
- Price Source Deviation Protection: If the latest price from 1 exchange deviates more than 5% from the median price of all sources, that exchange's price weight will be set to zero.
If more than 1 exchange shows a price deviation greater than 5%, we will replace our Price Index with the median price of all sources.
- Exchange Connection Issues: If we cannot access data from an exchange, but the exchange has updated trading data within the last 10 seconds, we will use the latest data from that exchange for the index calculation.
If an exchange has not updated its trading data in the last 10 seconds, its weight in the weighted average price calculation will be set to zero.
- Last Price Protection: When we cannot obtain stable and reliable reference data for the Price Index and Mark Price, the Price Index will not be updated for contracts that use a single source of the Price Index. We will use the Last Price Protection mechanism to update the Mark Price until it's back to normal. This mechanism temporarily switches the matching system to the latest transaction price of the contract within a certain limit as a reference for the Mark Price to calculate unrealized profit and loss and liquidation call level to avoid unnecessary liquidation.
The Index Price can be regarded as the fair spot price for the underlying and will be used for all Unrealized P/L calculations. Note that Realized P/L will still be based on the actual prices your order gets filled.
Mark Price is calculated as follows:
Mark Price = Median* (Price 1, Price 2, Contract Price)
Price 1 = Index Price * (1 + Last Funding Rate * (Hours Until Funding / 8))
Price 2 = Index Price + Moving Average (30-minute)*
*Moving Average (30-minute Basis) = Moving Average ((Bid1+Ask1)/2- Price Index), which measures every minute for 30 minutes.
Please note that due to extreme market conditions or deviations in price sources, Mark Price may deviate from the spot price. At such times, CoinW will take additional protective measures to anchor Mark Price at Price 2.
Mark Price is a better estimate of the fair value of the underlying compared to its Last Price. This price will better prevent unnecessary liquidations for traders and to discourage any market manipulations by poor actors.
Example of an Index Price:
BTCUSD Index = Σ [(BTCUSD of Bitstamp) x Weight 1) + (BTC-USD of Coinbase Pro x Weight 2) + (XBT/USD of Kraken x Weight 3) + (USD-BTC of Bittrex x Weight 4) + ( BTCBUSD of Binance x Weight 5)] / Total Weight