The Everstrike Mark Price is a manipulation-resistant price that serves as a reference point for the liquidation of positions on Everstrike.
All positions are Everstrike are liquidated according to the Everstrike Mark Price. If they were liquidated according to the Last Traded Price, it would be possible for malicious traders to manipulate the market on Everstrike and liquidate other traders in the process.
Since the Everstrike Mark Price is fully manipulation-resistant, the aforementioned scenario cannot happen on Everstrike.
The Everstrike Mark Price is calculated as the exponential moving average of the difference between the Everstrike Fair Price and the Everstrike Index Price.
Everstrike Index Price
For futures, the Everstrike Index Price is the average price at top Spot exchanges (with outliers excluded). It represents the general price in the market.
For options, the Everstrike Index Price is the intrinsic value of the option (based on the Index Price of the futures contract for the underlier). If the intrinsic value of the option is zero, the Everstrike Index Price will default to 0.05% of the price of the underlier.
Everstrike Fair Price
The Everstrike Fair Price is one of the following:
The price X dollars deep in the book (Impact Price)
A scaled multiple of the current best price (Scaled Best Price)
For bids, the formula is:
Fair Price = Max(Impact Price, Scaled Best Price)
For asks, the formula is
Fair Price = Min(Impact Price, Scaled Best Price)Scaled Best Price
The Scaled Best Price is calculated as follows.
Scaled Best Price = Multiplier * Best Bid
Scaled Best Price = Multiplier * Best Ask
Everstrike Mark Price
Once the Everstrike Fair Price and the Everstrike Index Price have been calculated, we can calculate the the Everstrike Mark Price:
Mark Price = Index Price + EMA_Y(Fair Price - Index Price)
EMA_Y is an exponential moving average of Y time periods. For Bitcoin options, the Y is currently set to 30. Each time period is 1 second.
To combat price manipulation, the Mark Price can only ever be within a certain range of the Index Price. For futures, the range is a fixed percentage interval. For options, the range is determined dynamically, based on the theoretical value of the option (Black-Scholes price), and the price of the option's underlier.
To ensure that the Mark Price is within the given range a dampener is applied.
Mark Price = Min((1+Z)*Index Price, Max((1-Z)*Index Price, Mark Price))
where Z is a constant that varies by trading pair.
Mark Price = Min(Max(0.0005*Underlier Price, Mark Price), 1.2*Theoretical Price)Getting the value of each constant for a specific trading pair
The exact values of each constant for each trading pair can be obtained through the /pairs API endpoint.
X = fair_qtyMultiplier = fair_multiplierY = mark_price_ema_rangeZ = mark_price_max_deviation