Funding

Фандинг, или funding, — периодический платёж по бессрочному контракту, который может уменьшить или увеличить результат позиции. Поэтому сравнение цены входа и выхода не всегда объясняет изменение средств на счёте. Для проверки торгового бота нужно отдельно восстановить исполнения, торговые комиссии и уже проведённые начисления funding.
Эта статья посвящена учёту, а не выбору направления сделки. Формулы ниже относятся к обозначенным условиям учебных примеров. Ставки вымышлены: они не являются текущими тарифами, прогнозом доходности или рекомендуемыми настройками.
Что именно начисляется
В описанной Bybit модели funding передаётся между держателями длинных и коротких позиций. Положительная ставка означает платёж от long к short, отрицательная — обратное направление. Для линейных USDT-контрактов сумма рассчитывается как стоимость позиции, умноженная на ставку, а стоимость — как количество, умноженное на mark price. Условия приведены в документации расчёта funding.
У других типов контрактов могут отличаться формула стоимости и валюта расчёта. Поэтому сначала запишите полное название инструмента и тип контракта. Слово «фьючерс» само по себе не определяет ни наличие funding, ни способ его учёта.
Пример одного расчётного момента
Допустим, условная длинная позиция по линейному контракту составляет 20 единиц, mark price в момент расчёта — 100 USDT, а окончательная ставка — +0,01%. Тогда:
Стоимость позиции: 20 × 100 = 2 000 USDT.
Ставка в десятичной форме: 0,01% = 0,0001.
Funding к уплате: 2 000 × 0,0001 = 0,20 USDT.
В этом расчёте используется стоимость позиции, а не произвольно выбранная сумма залога. Ошибка на два порядка возникает, если умножить стоимость на 0,01 вместо 0,0001. Рядом с каждой ставкой стоит сохранять знак процента и исходное значение из отчёта.
Пусть закрытая сделка дала 5 USDT по фактическим ценам исполнения до комиссий и funding, торговые комиссии составили 0,80 USDT, а единственное начисление funding — упомянутые 0,20 USDT к уплате. Результат после этих расходов: 5 − 0,80 − 0,20 = 4 USDT. Затраты на программу и инфраструктуру в примере не учитываются.
Почему нельзя умножить последнюю ставку на весь срок
Показываемая до расчёта ставка может измениться. Интервалы и ограничения зависят от контракта; восемь часов не являются универсальным правилом. Это отдельно описано в документации ставки funding. Для завершённого периода опорой служит история начислений, а не текущая цифра на экране.
В отдельном сценарии с двумя начислениями после первого расчёта позиция остаётся открытой. К следующему расчёту размер long уменьшился до 10 единиц, mark price стал 102 USDT, а окончательная ставка — −0,02%. Стоимость позиции теперь 1 020 USDT; сумма полученного funding — 1 020 × 0,0002 = 0,204 USDT. За два расчёта денежный итог funding равен −0,20 + 0,204 = +0,004 USDT до особенностей округления площадки.
Здесь в собственном журнале плюс означает поступление, минус — списание. Это выбранное правило учёта, а не обещание, что экспорт биржи использует такие же знаки. Сначала определите смысл поля источника и только затем приводите все строки к одной системе.
Как собрать проверяемый журнал
Определите границы. Запишите дату начала и конца, часовой пояс, счёт, инструмент и валюту расчёта. Несколько счетов не объединяйте без идентификаторов.
Выделите события funding. Для каждой строки сохраните время, сумму, валюту и уникальный идентификатор, если он доступен. Отдельно отметьте, платёж это или поступление.
Восстановите позицию. Учтите увеличения, частичные закрытия и полный выход перед каждым событием. Текущий размер позиции не заменяет исторический.
Сопоставьте расчёт. Используйте ставку и базу именно соответствующего события. При расхождении проверьте единицы, округление и определение расчётной цены.
Сверьте итог. Отдельно сложите торговый результат, комиссии и funding, предварительно выяснив, какие компоненты уже включены в выгруженный P&L.
Хороший журнал позволяет объяснить каждое расхождение одной строкой: другой период, другая валюта, пропущенное событие, изменение объёма или округление. Если объяснения нет, сохраните исходную запись и отметьте сумму как несверенную. Подгонять её под ожидаемый результат дополнительной условной «комиссией» нельзя.
Как избежать двойного учёта
Названия P&L недостаточно. Например, в описании P&L USDT-контрактов Bybit различается состав нереализованного и закрытого результата. Если выбранная выгрузка уже включает funding, повторное вычитание занизит итог. Аналогично, результат по фактическим ценам уже отражает эти цены: предполагаемое проскальзывание нельзя списывать ещё раз.
При наличии открытых позиций отдельно сравните баланс и equity. Для стратегий с несколькими входами пригодится разбор сетки и накопленного объёма; торговые комиссии рассмотрены в статье о maker и taker.
Если нужен разбор конкретного отчёта, отправьте через форму обращения обезличенные строки и описание расхождения. Для первоначальной проверки достаточно сумм, времён, определений полей и параметров контракта; доступ к счёту или секреты API не требуются.
Больше статей


