Формула
Обратите внимание: в условиях экстремальной рыночной волатильности или при невозможности выполнить корректные расчёты WhiteBIT оставляет за собой право применять ставку, отличную от описанной ниже. Значения кепа и флора определяются в соответствии с протоколами риск-менеджмента и могут различаться в зависимости от рынка. Эти ограничения установлены для обеспечения справедливости и стабильности фандинга даже в условиях высокой рыночной волатильности.
Стандартная процентная ставка для рынков с 8-часовым интервалом составляет 0,01%
I = 0,01% / (8 / fundingPeriodInHours)
Fraw = TWAP + clamp(I − TWAP, Cmin, Cmax)
Ffinal = clamp(Fraw, Ffloor, Fcup)
где:
Fraw – ставка фандинга до применения ограничений кепа/флора
Ffinal – ставка фандинга
TWAP – взвешенный по времени средний индекс премии
I – процентная ставка
Cmin, Cmax – минимальное и максимальное значения clamp
clamp(value, min, max) — функция, ограничивающая значение заданным диапазоном с минимумом и максимумом (подробнее ниже)
Индекс премии
Это значение, отражающее разницу в цене между фьючерсным контрактом и базовым активом:
Premium Index (P) = (max(0, Pbid − Pindex) − max(0, Pindex − Pask)) / Pindex
где:
Pbid – цена impact bid
Pask – цена impact ask
Pindex – индексная цена
max(value1, value2) — функция, возвращающая большее из двух входных значений
Иными словами, Pbid > Pindex даёт положительный индекс премии, а Pask < Pindex — отрицательный.
Взвешенный по времени средний индекс премии
Индекс премии рассчитывается каждую минуту. Взвешенное по времени среднее рассчитывается следующим образом:
TWAP = (P1 * 1 + P2 * 2 … Pn * n) / i=1ni
где
P1…Pn – индексы премии, собранные за данный фандинговый период
n – количество последних элементов временного ряда в данном расчёте
i=1ni – также n * (n + 1) / 2
Пример:
Фандинговый период установлен на 480 минут, текущее время — 16:04 UTC, следовательно n=4
| Время | Индекс премии | Вес |
|---|---|---|
| 16:01 | 0,0001 | 1 |
| 16:02 | 0,004 | 2 |
| 16:03 | 0,008 | 3 |
| 16:04 | -0,0001 | 4 |
TWAP = (0,0001 * 1 + 0,004 * 2 + 0,008 * 3 + (-0,0001 * 4)) / (1+2+3+4)
= 0,0317 / 10
= 0,00317
Ставка фандинга на данный момент:
F = 0,00317 + clamp(0,0001 − 0,00317, −0,0005, 0,0005)
= 0,00317 + clamp(−0,00307, −0,0005, 0,0005)
= 0,00317 + (−0,0005)
= 0,00267
Цена impact ask/bid
Impact Bid Price — средняя цена, по которой может быть исполнен ордер объёмом Impact Margin Notional при текущей глубине стакана bid.
Impact Ask Price — средняя цена, по которой может быть исполнен ордер объёмом Impact Margin Notional при текущей глубине стакана ask.
По существу, она рассчитывается как средневзвешенная цена:
Impact Price = IMN / sum(amount)
где:
IMN – impact margin notional
sum(amount) — сумма объёмов n ордеров в стакане, при которой накопленная сумма их стоимостей равна IMN
Предположим, что Impact Margin Notional составляет 10 000 USDT, и нам необходимо рассчитать impact ask price при следующем стакане ордеров:
| Ордер в стакане | Цена, USDT | Объём | Стоимость (цена*объём) |
|---|---|---|---|
| 1 | 100 | 50 | 5000 |
| 2 | 100,50 | 30 | 3015 |
| 3 | 101,20 | 60 | 6072 |
Суммируем полные объёмы 1-го и 2-го ордеров, из 3-го берём столько, сколько необходимо для достижения 10 000:
| Объём | Цена | Стоимость | Накопленная стоимость |
|---|---|---|---|
| 50 | 100 | 5000 | 5000 |
| 30 | 100,50 | 3015 | 8015 (осталось всего 1985 до IMN) |
| ≈19,6 | 101,20 | ≈1985 | 10000 |
Таким образом, объём для покрытия IMN составляет 99,6 = 50+30+19,6.
Тогда Impact Ask Price = 100,402 = 10 000 / 99,6
Индексная цена
Индексная цена рассчитывается как взвешенное среднее спотовой цены на нескольких биржах:
Pindex = (Pe_1 * We_1 + … + Pe_n * We_n) / (We_1 … + We_n)
где:
Pe_1…Pe_n – цена на соответствующих биржах
We_1…We_n – вес соответствующих бирж
Цена базового актива на каждой бирже берётся как Mid Price, рассчитываемая по следующей формуле:
Pe_n = (Best Bid + Best Ask) / 2
Пример:
Предположим, для расчёта Индексной цены рынка BTC_PERP используются три биржи (A, B и C):
| Биржа | Mid Price | Объём торгов |
|---|---|---|
| A | 100 000 | 6000 |
| B | 100 500 | 5000 |
| C | 99 500 | 4000 |
С учётом Mid Price и Веса каждой биржи рассчитываем Индексную цену:
Индексная цена = (100 000 * 6000 + 100 500 * 5000 + 99 500 * 4000) / (6000 + 5000 + 4000)
≈ 100 033,33
Функция clamp
Функция clamp удерживает число в заданном диапазоне. Если число превышает допустимый максимум (Cmax) — возвращается максимум (Cmax). Если оно меньше допустимого минимума (Cmin) — возвращается минимум (Cmin). В остальных случаях возвращается исходное значение без изменений.
Фандинговый период
Фандинговый период определяет частоту, с которой биржа рассчитывает ставку фандинга. Значение задаётся в минутах и доступно через API /api/v4/public/futures.
В условиях экстремальной рыночной волатильности WhiteBIT оставляет за собой право корректировать фандинговый период с целью приближения цены фьючерсного контракта к индексной цене.
Клиенты будут заблаговременно уведомлены о подобных изменениях, чтобы иметь возможность соответствующим образом скорректировать свои торговые стратегии.