We do not store the mark price on our site, however it is possible to recreate the exact mark price at the time of your liquidation, using the REST API, in order to verify if a liquidation was correctly processed by the liquidation engine.


Using the formula presented in our references and our API explorer you can easily calculate the mark price at the exact time of your liquidation if you follow the steps below.


This is the formulas used for calculating the mark price:


  • % Fair Basis = (Impact Mid Price / Index Price - 1) / (Time To Expiry / 365)
  • Fair Value = Index Price * % Fair Basis * (Time to Expiry / 365)
  • Fair Price = Index Price + Fair Value


You can pull the data from the REST API, using either the direct links or the API explorer, the respective end points for the API explorer are:


  1. /Trade/Trade_get
  2. /Quote/Quote_get


To Begin (the example used is ETHH18)


There are a few details which you must ensure that you include if you would like the correct results to be printed by the REST API, below is an image of BitMEX's API Explorer.



1) The most common mistake is inputting an incorrect startTime and endTime, both dates need to be in JSON format. 


Provided in the yellow example box: 2018-02-22T15:49:06.628Z = 22 February 2018 at 15:49:06 AM UTC, where the 06 is seconds & the .628Z is the milliseconds.


You need to ensure that your startTime and endTime interval include the timestamp of your liquidation.


Part 1: .ETHXBT Index


We find the following API link: 

https://www.bitmex.com/api/v1/trade?symbol=.ETHXBT&count=100&reverse=false&startTime=2018-01-24T14%3A08%3A00.000Z&endTime=2018-01-24T14%3A14%3A00.000Z


With the following response body (the data you need):

[
  {
    "timestamp": "2018-01-24T14:11:00.000Z",
    "symbol": ".ETHXBT",
    "side": "Buy",
    "size": 0,
    "price": 0.0925,
    "tickDirection": "ZeroPlusTick",
    "trdMatchID": "00000000-0000-0000-0000-000000000000",
    "grossValue": null,
    "homeNotional": null,
    "foreignNotional": null
  }
]



Part 2: Impact Mid Price




We find the following API link: 

https://www.bitmex.com/api/v1/quote?symbol=ETHH18&count=100&reverse=false&startTime=2018-01-24T14%3A09%3A00.000Z&endTime=2018-01-24T14%3A11%3A00.000Z


{    


"timestamp": "2018-01-24T14:10:45.755Z",    


"symbol": "ETHH18",    


"bidSize": 19,    


"bidPrice": 0.09136,    


"askPrice": 0.09173,    


"askSize": 8  }



Thereafter you need to calculate the mid price, which is the average of both the bidPrice and the askPrice.


Historical mid price: (0.09136+0.09173)/2 = 0.091545 



Part 3: Time until expiry


Check the contract page for the expiry date


Expiry Date
Mar 30, 2018, 2:00:00 PM


Mark price date in question: 24th of Jan


Time to expiry: 65 days



Now that you have the respective data you can calculate the exact mark price at the time-stamp of your liquidation.




We recall the formulas used for calculating the mark price:

  1. % Fair Basis = (Impact Mid Price / Index Price - 1) / (Time To Expiry / 365)
  2. Fair Value = Index Price * % Fair Basis * (Time to Expiry / 365)
  3. Fair Price = Index Price + Fair Value


From the data derived we know the following:


Impact Mid price = 0.091545 

Index price = 0.0925

Time to expiry = 65



1) (0.091545/0.0925 -1)/(65/365)* 100 = - 5.79750519751%


2) 0.0925*(-0.05797505197)*(65/365) = -0.00095499999


 Fair mark price = 0.0925 -0.00095499999 


0.09154500001 


Therefore we can conclude that the liquidation was valid if the fair price you calculate and the mark price on your email match after rounding and that the liquidation engine properly liquidated your position in accordance with the liquidation engines parameters as set by the formulas.


If you need any further clarification, please don't hesitate to contact support.



Как вручную подсчитать и подтвердить цену маркировки вашей ликвидированной позиции по фьючерсам?


Мы не храним цену маркировки на сайте, при этом, вы можете воссоздать точнуюцену маркировки на время ликвидации вашей позиции с помощью REST API, чтобы уточнить корректность обработки ликвидации модулем ликвидации.


С помощью формулы в наших справочных материалах и APIexplorer вы можете легко подсчитать цену маркировки на точное время вашей ликвидации, если предпримете следующие шаги.


Ниже – формулы для подсчета цены маркировки: 


  • Справедливый базис (%) = (Значимая средняя цена/ Цена индекса - 1) / (Время до экспирации / 365)

  • Справедливая стоимость = Цена индекса * Справедливый базис (%) * (Время до экспирации / 365)

  • Справедливая цена = Цена индекса + Справедливая стоимость


Вы можете взять данные из REST API, используя или прямые ссылки, или API explorer, соответствующие разделы API explorer следующие:


  1. /Trade/Trade_get
  2. /Quote/Quote_get


Для начала (для примера взят ETHH18)


Есть несколько пунктов, которые вы обязательно должны учесть, если хотите получить от REST API правильные результаты. Ниже – изображение из API explorer BitMEX.


1) Наиболее распространенная ошибка – внесение некорректных startTime и endTime, оба значения должны быть в формате JSON.

 

В желтой рамке примера: 2018-02-22T15:49:06.628= 22 февраля 2018 г. 15:49:06 AM UTC, где 06 – секунды и .628Z – миллисекунды.


Вам нужно убедиться в том, что интервал между startTime и endTime включает временную отметку вашей ликвидации. 


Часть 1: Индекс .ETHXBT


Мы получаем ссылку на API следующего вида: 

https://www.bitmex.com/api/v1/trade?symbol=.ETHXBT&count=100&reverse=false&startTime=2018-01-24T14%3A08%3A00.000Z&endTime=2018-01-24T14%3A14%3A00.000Z


Со следующим полем ответа (данные, которые вам нужны):

[
 {
   "timestamp":"2018-01 24T14:11:00.000Z",
   "symbol":".ETHXBT",
   "side":"Buy",
   "size":0,
   "price":0.0925,
   "tickDirection":"ZeroPlusTick",
   "trdMatchID":"00000000-0000-0000-0000-000000000000",
   "grossValue":null,
   "homeNotional":null,
   "foreignNotional":null
 }
]



Часть 2: Значимая средняя цена




Мы получаем ссылку на API следующего вида:

https://www.bitmex.com/api/v1/quote?symbol=ETHH18&count=100&reverse=false&startTime=2018-01-24T14%3A09%3A00.000Z&endTime=2018-01-24T14%3A11%3A00.000Z


{    


"timestamp": "2018-01-24T14:10:45.755Z",    


"symbol": "ETHH18",    


"bidSize": 19,    


"bidPrice": 0.09136,    


"askPrice": 0.09173,    


"askSize": 8  }



После этого вам нужно подсчитать промежуточную цену, которая является средним арифметическим от цены аска и цены бида.


Историческая средняя цена: (0.09136+0.09173)/2 = 0.091545 


Часть 3: Время до экспирации


Уточните дату экспирации на странице контракта.


Дата экспирацииМарт 30, 2018, 2:00:00 PM


Дата цены маркировки, которую нам нужно узнать: 24 января


Время до экспирации: 65 дней


Теперь, когда у вас есть соответствующие данные, вы можете подсчитать точную цену маркировки на временной отметке вашей ликвидации.


Мы вспоминаем формулы для подсчета цены маркировки:

  1. Справедливый базис (%) = (Значимая средняя цена/ Цена индекса - 1) / (Время до экспирации / 365)
  2. Справедливая стоимость = Цена индекса * Справедливый базис (%) * (Время до экспирации / 365)
  3. Справедливая цена = Цена индекса + Справедливая стоимость


Используя извлеченные данные, выясняем:

Значимая средняя цена = 0.091545 

Цена индекса = 0.0925

Время до экспирации = 65



1) (0.091545/0.0925 -1)/(65/365)* 100 = - 5.79750519751%


2) 0.0925*(-0.05797505197)*(65/365) = -0.00095499999


Цена маркировки = 0.0925 -0.00095499999 


0.09154500001 



Следовательно, мы можем сделать вывод, что ликвидация была правомерна, если подсчитанная вами справедливая цена и цена маркировки в вашем сообщении совпадают после округления, и что модуль ликвидации корректно ликвидировал вашу позицию в соответствии с определенными формулами, определяющими параметры модуля ликвидации.


Если у вас еще остались вопросы, пожалуйста, обратитесь в службу поддержки.