> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Ставка финансирования

> Периодический платёж между лонгами и шортами, удерживающий бессрочный контракт у спота: как считается ставка, когда идёт расчёт и во что это обходится.

У бессрочного контракта нет экспирации, а значит, нет и механизма, который обычно возвращает фьючерсную цену к споту. Эту роль берёт на себя механизм финансирования: регулярный платёж между двумя сторонами рынка, размер которого подобран так, что перегруженная сторона платит другой за право там находиться.

Платежи финансирования идут **между трейдерами**. Площадка не берёт из них ничего: сколько заплатила одна сторона, ровно столько получила другая, и расчёт отклоняется, если суммы не совпадают в точности.

<h2 id="direction">
  Направление
</h2>

| Ситуация                      | Ставка        | Поток               |
| ----------------------------- | ------------- | ------------------- |
| Контракт торгуется выше спота | Положительная | Лонги платят шортам |
| Контракт торгуется ниже спота | Отрицательная | Шорты платят лонгам |

Эффект — постоянное трение на перегруженной стороне. Лонг, который держат через устойчивую премию, теряет деньги, даже когда цена стоит на месте, — в этом и смысл. Без такого трения плечо на популярной стороне накапливается, пока не разгрузится рывком, а не постепенно.

<h2 id="what-you-pay">
  Что вы платите
</h2>

$$
\text{платёж финансирования} = \text{размер позиции} \times \text{маркировочная цена} \times \text{ставка финансирования}
$$

Стоимость позиции берётся по [маркировочной цене](/ru/trading/mark-price) на момент расчёта, а не по индексной цене и не по последней сделке. Маркировочную цену сдвинуть труднее, а значит, размер платежа финансирования нельзя изменить, напечатав сделку за секунды до наступления часа.

<h2 id="building-the-rate">
  Как строится ставка
</h2>

<div className="dg" data-dg="funding-rate-build">
  <div className="dg-c" style={{aspectRatio:"720 / 492"}}>
    <svg className="dg-w" viewBox="0 0 720 492" aria-hidden="true">
      <path className="dg-wire" d="M 200.00 86.00 L 200.00 97.60" />

      <path className="dg-head" d="M 200.00 104.00 L 195.60 97.60 L 204.40 97.60 Z" />

      <path className="dg-wire" d="M 200.00 164.00 L 200.00 175.60" />

      <path className="dg-head" d="M 200.00 182.00 L 195.60 175.60 L 204.40 175.60 Z" />

      <path className="dg-wire" d="M 200.00 242.00 L 200.00 253.60" />

      <path className="dg-head" d="M 200.00 260.00 L 195.60 253.60 L 204.40 253.60 Z" />

      <path className="dg-wire" d="M 200.00 320.00 L 200.00 331.60" />

      <path className="dg-head" d="M 200.00 338.00 L 195.60 331.60 L 204.40 331.60 Z" />

      <path className="dg-wire" d="M 200.00 398.00 L 200.00 409.60" />

      <path className="dg-head" d="M 200.00 416.00 L 195.60 409.60 L 204.40 409.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"6.0976%",width:"55.5556%",height:"10.5691%"}}><span className="dg-t">Каждый блок</span><span className="dg-s">бид и аск с учётом глубины против индекса</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"21.9512%",width:"55.5556%",height:"10.5691%"}}><span className="dg-t">Каждые 5 секунд</span><span className="dg-s">медиана блоков окна</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"37.8049%",width:"55.5556%",height:"10.5691%"}}><span className="dg-t">За период расчёта</span><span className="dg-s">среднее выборок</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"53.6585%",width:"55.5556%",height:"10.5691%"}}><span className="dg-t">Плюс процентная компонента</span><span className="dg-s">с ограничением ±0,05%</span></div>
    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"69.5122%",width:"55.5556%",height:"10.5691%"}}><span className="dg-t">Деление на период и ограничение</span><span className="dg-s">лимитами ставки самого рынка</span></div>
    <div className="dg-b dg--green" style={{left:"0.0000%",top:"85.3659%",width:"55.5556%",height:"10.5691%"}}><span className="dg-t">Ставка финансирования</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"59.7222%",top:"6.0976%",width:"40.2778%",height:"10.5691%"}}><span className="dg-s">Одной котировкой не сдвинуть — нужна реальная глубина в стороне от индекса, против которой торгует кто угодно</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"59.7222%",top:"21.9512%",width:"40.2778%",height:"10.5691%"}}><span className="dg-s">Один аномальный блок не задаёт выборку</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"59.7222%",top:"37.8049%",width:"40.2778%",height:"10.5691%"}}><span className="dg-s">Одно пятисекундное окно не задаёт период</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"59.7222%",top:"53.6585%",width:"40.2778%",height:"10.5691%"}}><span className="dg-s">Процентный член ограничен и не может стать самой ставкой</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"59.7222%",top:"69.5122%",width:"40.2778%",height:"10.5691%"}}><span className="dg-s">У каждого рынка свой опубликованный потолок</span></div>
    <div className="dg-b dg-plain dg-left" style={{left:"59.7222%",top:"85.3659%",width:"40.2778%",height:"10.5691%"}}><span className="dg-s">Платят друг другу трейдеры. Площадка не берёт ничего, и расчёт отклоняется, если суммы не совпадают в точности.</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"0.0000%",width:"55.5556%"}}><div className="dg-n">Как строится ставка</div></div>
    <div className="dg-free" style={{left:"59.7222%",top:"0.0000%",width:"40.2778%"}}><div className="dg-n">Что закрывает слой</div></div>
  </div>
</div>

Между стаканом заявок и ставкой, которую вы платите, лежат три слоя усреднения. Каждый перекрывает свой вектор атаки.

<h3 id="the-premium-index">
  Индекс премии
</h3>

Премия измеряет, насколько далеко контракт торгуется от индекса, — но не сравнением цен по середине спреда: те тривиально сдвигаются одной котировкой с каждой стороны.

Вместо этого используются **цены с учётом глубины**: средняя цена, которую вы реально получили бы, потратив заданный объём капитала на снятие стакана. Этот объём, импакт-номинал, выводится из максимального плеча рынка: там, где разрешены крупные позиции, стакан прощупывают на соответственно большую глубину.

$$
P = \frac{\max(0,\; \text{DW-бид} - \text{индекс}) \;-\; \max(0,\; \text{индекс} - \text{DW-аск})}{\text{индекс}}
$$

$\max(0,\cdot)$ с каждой стороны означает, что премия равна нулю всякий раз, когда индекс находится внутри спреда, взвешенного по глубине. Засчитывается только стакан, который действительно смещён в одну сторону.

Сдвинуть это одним ордером нельзя: нужно удерживать реальную глубину в стороне от индекса, а против неё может торговать кто угодно.

<h3 id="sampling-and-averaging">
  Выборка и усреднение
</h3>

Премия вычисляется **в каждом блоке**, затем **каждые пять секунд** сводится к одному значению — медиане блоков этого окна. Снова медиана, а не среднее: один аномальный блок не может утянуть выборку.

Ставка за период расчёта — среднее арифметическое этих пятисекундных выборок за весь период; в часе их 720.

**У выборки есть условия валидности.** Премия блока пропускается, если стакан пересечён, если на любой из сторон три уровня или меньше, либо если индексная цена устарела больше чем на десять секунд. Это признаки сломанного рынка, и если пускать их в расчёт ставки финансирования, сбой превратится в списание.

Расчёт финансирования пропускается, только если **собрано меньше 20% ожидаемых выборок** — для часового рынка это меньше 144 из 720. Во всех остальных случаях период рассчитывается по тем выборкам, которые удалось собрать. Порог намеренно низкий: он отсекает период, который практически не измерялся, а не оправдывает период, измеренный неточно.

<h3 id="the-interest-component-and-clamps">
  Процентная компонента и ограничения
</h3>

$$
F_{8h} = \bar{P} + \operatorname{clamp}\!\left(I - \bar{P},\; -0.05\%,\; +0.05\%\right)
$$

Ставка котируется **на восьмичасовой базе**, и при расчёте списывается та её доля, которую составляет интервал рынка:

$$
F = F_{8h} \times \frac{\text{секунд в интервале}}{28{,}800}
$$

$$
F_{\text{final}} = \operatorname{clamp}\!\left(F,\; F_{\min},\; F_{\max}\right)
$$

Интервал — настройка конкретного рынка, и допустимых значений всего шесть: **30 минут, 1, 2, 4, 8 или 24 часа**. Поэтому часовой рынок при каждом расчёте списывает одну восьмую восьмичасовой ставки, а восьмичасовой — её целиком.

Именно на этом шаге чаще всего ошибаются, оценивая стоимость удержания. Ставка 0,01% на часовом рынке — это **0,00125% за расчёт**, а не 0,01%; за сутки выходит 0,03%, а не 0,24%.

Процентная компонента отражает стоимость удержания между двумя валютами пары. Это константа конкретного рынка, публикуемая как `default_funding_rate_ppm` на восьмичасовой базе.

Именно к этому числу стоит обращаться, оценивая, во что обходится просто держать позицию на плоском рынке: при нулевой премии ставка садится на процентную константу, масштабированную интервалом. Читайте её в спецификации контракта своего рынка, а не подставляйте наугад. Ограничение вокруг неё задаёт предел того, насколько она может увести ставку от фактически измеренной премии: на сильном тренде доминирует премия, а на плоском рынке процентный член задаёт небольшой базовый уровень.

Наконец, результат ограничивается лимитами конкретного рынка, заданными при листинге:

| Класс рынка          | Типичный лимит |
| -------------------- | -------------- |
| Крупные криптоактивы | ±0,375%        |
| Прочие               | ±4%            |

<Note>
  Эти лимиты можно сужать и расширять для каждого рынка отдельно, а в экстремальных условиях — менять, чтобы жёстче возвращать оторвавшийся контракт к индексу. Текущие значения по каждому рынку опубликованы в его спецификации контракта — см. [Рынки](/ru/trading/markets).
</Note>

<h2 id="settlement">
  Расчёт
</h2>

Расчёт финансирования проходит **в первом блоке каждого периода** — обычно раз в час, в начале часа. Длина периода настраивается для каждого рынка.

Расчёт атомарен: он применяется ко всем позициям рынка одним шагом исполнения либо не применяется вообще. Он выполняется как этап [клиринговой палаты](/ru/protocol/architecture/clearinghouse) внутри исполнения блока, а не как внешний проход, поэтому нет окна, в котором одни счета уже списаны, а другие ещё нет.

После каждого расчёта суммы сверяются. Если уплаченное лонгами не равно полученному шортами, транзакция откатывается и выдаётся уведомление — вместо того чтобы оставить несбалансированный реестр.

<Warning>
  Списание происходит, только если позиция есть **в блоке расчёта**. Закрыться за минуту до — ничего не стоит; открыться за минуту до — заплатить за весь период. Пропорционального начисления нет, и для тех, кто считает, что платежи финансирования капают непрерывно, это хорошо известный сюрприз.
</Warning>

<h2 id="what-this-means-in-practice">
  Что это значит на практике
</h2>

* **Проверяйте ставку, прежде чем держать позицию через расчёт.** Текущая ставка и обратный отсчёт до следующего расчёта показаны на торговом экране и доступны через API.
* **Высокая ставка — это информация.** Устойчиво дорогие платежи финансирования означают, что рынок перегружен на вашей стороне, а это же и есть условие, в котором случаются принудительные разгрузки.
* **Платёж финансирования — это издержка, а не комиссия.** Он уходит другим трейдерам и не связан с [торговыми комиссиями](/ru/programs/fees), которые уходят протоколу.

<h2 id="reading-the-live-values">
  Актуальные значения параметров
</h2>

Каждое число на этой странице — ончейн-конфигурация конкретного рынка, а не константа протокола. Параметры, которые за ним стоят:

| Параметр                                       | Что задаёт                                                                                                     |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `funding_interval_secs`                        | как часто идёт расчёт финансирования и, следовательно, какую долю восьмичасовой ставки списывает каждый расчёт |
| `default_funding_rate_ppm`                     | процентную константу                                                                                           |
| `min_funding_rate_ppm`, `max_funding_rate_ppm` | ограничение итоговой ставки для конкретного рынка                                                              |

Они публикуются в [спецификации контракта](/ru/trading/markets) каждого рынка и читаются из блокчейна. Интеграция, зашившая их в код, рано или поздно посчитает число, которого сеть не применяет, — см. [Разработчикам](/ru/developers/overview).

<h2 id="where-to-go-next">
  Что дальше
</h2>

<CardGroup cols={2}>
  <Card title="Маркировочная цена" href="/ru/trading/mark-price">
    Цена, от которой считается ваш платёж финансирования.
  </Card>

  <Card title="Индексная цена" href="/ru/trading/index-price">
    Спотовый ориентир, от которого измеряется премия.
  </Card>

  <Card title="Рынки" href="/ru/trading/markets">
    Интервалы финансирования и лимиты ставки по каждому рынку.
  </Card>

  <Card title="Комиссии" href="/ru/programs/fees">
    Что берёт протокол — в отличие от того, что вы платите другим трейдерам.
  </Card>
</CardGroup>
