DeFi

Как выгрузить историю funding-платежей и комиссий по perpetual-позиции

Разбираем, где искать funding и торговые комиссии по perpetual, как отфильтровать сделки по контракту и времени, сверить знак платежа и сохранить журнал без смешения с PnL.

Как выгрузить историю funding-платежей и комиссий по perpetual-позиции

Коротко: для точного отчёта по perpetual-контракту нужно отдельно выгрузить журнал расчётов funding и журнал сделок с торговыми комиссиями. В интерфейсе биржи эти суммы могут быть в разных разделах, а итог по закрытой позиции не всегда показывает каждую строку расчёта. Сверяйте контракт, сторону, время, валюту и идентификатор записи, затем сопоставляйте суммы с историей сделок и изменением баланса.

Сначала разделите три вида начислений

Funding-платёж – это расчёт между участниками бессрочного контракта, который помогает удерживать цену perpetual ближе к базовому рынку. В зависимости от ставки и открытой стороны позиция может заплатить или получить сумму. Размер зависит не только от знака ставки: важны размер позиции и правила конкретного контракта. Положительная funding-ставка на одной площадке обычно означает платёж лонгов в пользу шортов, но для сверки ориентируйтесь на описание именно этой биржи и значение фактической транзакции.

Торговая комиссия относится к исполненному ордеру. Она появляется при открытии или сокращении позиции и зависит от исполнения и тарифной сетки. Реализованный PnL – ещё одна величина: это результат изменения цены по закрытой части позиции. Funding и комиссии могут влиять на итоговый финансовый результат, но не становятся одной и той же строкой. Если в отчёте есть поле net PnL, не используйте его вместо построчного журнала.

Перед экспортом сформулируйте задачу: отчёт по одному контракту, по всем perpetual за месяц или сверка конкретной сделки. Для базового разбора также полезно понять, как устроен уровень торговой комиссии в другом типе протокола и почему условия исполнения нельзя сводить к одной цифре.

Как найти нужный журнал

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

Задайте диапазон дат с запасом по часовому поясу. Если позиция открывалась незадолго до границы суток или расчёт funding происходил около полуночи UTC, локальный календарный день может отличаться от времени в журнале. Сначала выгрузите интервал в UTC или зафиксируйте, какой пояс использует биржа. Для длинного периода разбивайте запрос на допустимые диапазоны и проверяйте, что выгружены все страницы результатов, если интерфейс или API использует пагинацию.

Затем ограничьте выборку категорией perpetual, символом контракта, валютой расчёта и типом строки. Один и тот же актив может торговаться в нескольких контрактах и категориях. Для сверки позиции выберите точный символ, например контракт с нужной котируемой валютой, а не только тикер базового актива. Сохраните исходный файл без изменений и отдельно сделайте рабочую копию для фильтров.

Как проверить знак, время и сумму

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

Сопоставьте funding-события с размером открытой позиции непосредственно на момент расчёта. Текущий размер позиции может отличаться из-за частичного закрытия или добавления объёма. Если доступен идентификатор транзакции, order ID или запись расчёта, сохраните его в отдельной колонке. Разница между суммой строк и итогом по закрытой позиции может объясняться временным окном, валютной конвертацией, неполной выборкой, сессией расчёта или тем, что итог включает другие расходы.

Отдельно сверяйте комиссии за исполнение по trade history. Если биржа показывает комиссию на каждой сделке, суммируйте только записи в выбранном периоде и той же валюте расчёта. Не прибавляйте повторно комиссию из transaction log, если она уже включена в строку сделки. Для общего контроля можно сравнить результат с руководством о том, как проверять возвращённые активы после закрытия позиции: принцип тот же, сначала различить событие, затем сверить его фактическую запись.

Безопасный экспорт и типичные ошибки

Экспортируйте CSV или другой машинно-читаемый файл прямо из своего кабинета либо через официальный API с правом чтения. Не отправляйте API-ключ, секрет, файл cookie или код подтверждения стороннему сервису, который обещает автоматически посчитать PnL. Удалите из копии лишние идентифицирующие поля, если отчёт нужно передать бухгалтеру, и храните исходную выгрузку отдельно.

  • Не смешивайте funding rate и уже списанный или полученный funding fee.
  • Не считайте каждую комиссию за открытие частью funding.
  • Не сравнивайте сумму в USDT с суммой в монете без явной конвертации.
  • Не пропускайте страницы выдачи и сделки у границ выбранного периода.
  • Не используйте ставку или расписание другого контракта как подтверждение прошедшего расчёта.

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