Дисклеймер: Информация в этой статье предоставлена исключительно в образовательных и ознакомительных целях и не является финансовым, инвестиционным или торговым советом. Торговля криптовалютами сопряжена с высоким риском убытков.
Подпишитесь на нашу рассылку, чтобы получать эксклюзивную аналитику по AI-трейдингу и обновления платформы.
Допустим, вы оптимизировали стратегию. Бэктест показывает PnL +55%, MaxDD -0.9%. Вы считаете MaxLev: ⌊50/0.9⌋=55×. Умножаете: 55%×55=+3025%. Три тысячи процентов за два года. Вы уже мысленно выбираете Ламборгини.
Через три месяца в продакшене ваш капитал ниже стартового. Стратегия работает точно по бэктесту — те же входы, те же выходы, та же просадка. Но вы теряете деньги. Каждый день. Стабильно.
Причина: funding rates. Невидимая комиссия, которую ваш бэктест не учитывал — или учитывал неправильно.
Как работают funding rates
На криптовалютных биржах бессрочные фьючерсы (perpetual swaps) не имеют даты экспирации. Чтобы цена фьючерса не отрывалась от спотовой цены, биржи используют механизм funding — периодические платежи между лонгами и шортами.
Механика на Binance/Bybit:
Funding выплачивается каждые 8 часов (00:00, 08:00, 16:00 UTC)
Ставка funding определяется разницей между ценой фьючерса и спотовой ценой
Если funding rate положительный — лонги платят шортам
Если отрицательный — шорты платят лонгам
Типичная ставка: ±0.01% за 8 часов (может достигать ±0.5% в экстремальных условиях)
Формула для одной выплаты:
Funding cost=Position size×Funding rate
При leverage L и капитале C:
Funding cost=C×L×Rate
Почему бэктесты врут о leverage
Стандартная метрика MaxLev (Maximum Leverage) — это теоретический потолок плеча, при котором просадка не превышает целевого уровня:
MaxLev=⌊MaxDDTarget DD⌋
Эта формула не учитывает costs, зависящие от leverage. При 1× плече funding rate — незначительная комиссия. При 58× — это катастрофа.
Линейные vs квадратичные costs
Торговые комиссии (maker/taker fees) линейны — они пропорциональны объёму сделки и не зависят от плеча. Funding rates — тоже линейны по позиции, но при пересчёте на единицу капитала они растут пропорционально плечу:
Funding cost per capital=L×Rate×Frequency
При holding period H дней и 3 выплатах в день:
Total funding=L×Rate×3×H
Пересчёт: примеры стратегий с учётом funding
Для примера рассмотрим три условные стратегии с разным профилем риска. Параметры: бессрочный фьючерс, тестовый период 25 месяцев, типичный funding rate 0.01% за 8 часов.
Исходные результаты (без учёта funding)
Стратегия
PnL
MaxDD
MaxLev
PnL@ML
Trades
Trading time
Strategy A
+55%
-0.9%
55×
+3025%
~500
~15%
Strategy B
+25%
-0.75%
66×
+1650%
~40
~5%
Strategy C
+300%
-17%
3×
+900%
~400
~45%
Расчёт funding cost
deffunding_cost(
leverage: float,
trading_time_pct: float,
test_days: int = 750, # 25 месяцев
funding_rate: float = 0.0001, # 0.01% per 8h
payments_per_day: int = 3,
) -> float:
"""
Расчёт совокупных funding costs как % от капитала.
Returns:
Funding cost в процентах от начального капитала
"""
active_days = test_days * trading_time_pct
daily_cost = funding_rate * payments_per_day * leverage
total_cost = daily_cost * active_days
return total_cost * 100# в процентах
На первый взгляд кажется терпимо: funding съедает 3–6% от итогового PnL@ML. Но это средний funding rate. Давайте посмотрим, что происходит при повышенных ставках.
Funding rate не константа
Типичный funding rate 0.01% — это медианное значение. В реальности ставки колеблются:
Рыночная фаза
Типичный funding rate
За 8h при 55×
За день при 55×
Спокойный рынок
0.005%
0.275%
0.825%
Нормальный
0.01%
0.55%
1.65%
Бычий тренд
0.03%
1.65%
4.95%
Экстремальный бычий
0.1%
5.50%
16.5%
Flash pump
0.5%
27.5%
—
При leverage 55× и бычьем рынке (0.03%): один день в лонг-позиции стоит 4.95% от капитала только на funding.
PnL per active day vs funding per day
Вот ключевой расчёт — дневная доходность стратегии против дневных costs:
С такими числами funding кажется некритичным. Но эти числа — средние. Проблема в другом.
Реальная проблема: funding во время просадки
Funding costs аккумулируются постоянно, пока позиция открыта — включая периоды просадки. Для примера: максимальная просадка 0.9% (Strategy A) при leverage 55× превращается в:
Effective DD=0.9%×55=49.5%
Это уже на грани ликвидации. Теперь добавьте funding:
DD с funding=49.3%+accumulated funding during DD period
Если просадка длится 3 дня при funding rate 0.01%:
Funding за 3 дня=0.0001×3×55×3=4.95%
Итого: 49.5%+4.95%=54.45% — ликвидация при стандартном maintenance margin 50%.
Формула безопасного leverage с учётом funding
Lsafe=∣MaxDD∣Target DD−Funding buffer
где Funding buffer — ожидаемый funding за типичную длительность просадки:
Funding buffer=Rate×3×L×DD duration (days)
Это рекуррентное уравнение (funding buffer зависит от L). Решение:
Вывод: при типичном funding безопасное плечо для Strategy A — 50×, а не 55×. При повышенном funding — 42×. Разница в PnL@ML:
Наивный: 55%×55=+3025%
С funding (0.01%): 55%×50−165%=+2585%
С funding (0.03%): 55%×42−400%=+1910%
Практическая интеграция funding в бэктест
Учёт funding rates в бэктесте — не опция, а необходимость. Вот минимальная реализация:
import pandas as pd
import numpy as np
defload_funding_rates(symbol: str) -> pd.DataFrame:
"""Загрузка исторических funding rates из warehouse."""
path = f"warehouse/data/{symbol}/funding/"return df # columns: [timestamp, rate]defapply_funding_to_trades(trades, funding_rates, leverage: int = 1):
"""
Вычитает реальные funding costs из PnL каждой сделки.
"""for trade in trades:
mask = (
(funding_rates.index >= trade.entry_time) &
(funding_rates.index <= trade.exit_time)
)
payments = funding_rates.loc[mask, 'rate']
direction = 1if trade.side == 'long'else -1
total_funding = payments.sum() * direction * leverage
trade.pnl_pct -= total_funding * 100return trades
В хорошем бэктест-движке funding rates загружаются и применяются к каждой сделке автоматически. Это даёт реалистичную картину — и часто она менее радужная, чем хотелось бы.
Диапазон реалистичного leverage
Для примера — как funding rate влияет на безопасное плечо при разных MaxDD:
Funding-режим
Средняя ставка
MaxLev при DD=0.9%
MaxLev при DD=17%
Низкий (0.005%)
0.005%
53×
3×
Типичный (0.01%)
0.01%
50×
3×
Повышенный (0.03%)
0.03%
42×
3×
Высокий (0.05%)
0.05%
36×
2×
Ключевое наблюдение: для стратегий с низкой просадкой (Strategy A, B) funding значительно снижает эффективное плечо. Для стратегий с высокой просадкой (Strategy C) влияние funding минимально — потому что плечо и так ограничено 3×.
Стратегии минимизации funding impact
1. Hedge-нейтральные позиции
Funding rate определяется разницей цены фьючерса и спота. Если ваша стратегия допускает хеджирование через спот — funding нивелируется:
Лонг фьючерс + шорт спот = 0 net exposure к funding
Но: шорт спот на крипте ограничен (нужен margin account или lending)
2. Перенос на биржи с низким funding
Разные биржи имеют разные funding rates для одного и того же актива. Мониторинг арбитража funding — отдельная стратегия, подробно описанная в статье Арбитраж funding rates между биржами.
3. Таймирование входов
Funding выплачивается в фиксированное время (00:00, 08:00, 16:00 UTC). Если сделка закрывается за минуту до выплаты — funding не списывается. Это микрооптимизация, но при 58× плече экономия 0.58% за одну пропущенную выплату — существенна.
4. Динамическое плечо
Вместо фиксированного leverage используйте адаптивное:
При повышенном funding плечо автоматически снижается, ограничивая costs.
Рекомендации по интеграции funding в пайплайн
Funding rates должны быть обязательной частью бэктест-пайплайна:
Загружайте исторические funding rates для каждого символа
Корректируйте каждую сделку на реальный funding за период удержания
Рассчитывайте MaxLev по формуле с funding buffer
В отчёте отображайте оба числа: PnL@ML без funding и с funding
Практическое правило: если стратегия перестаёт быть прибыльной при funding rate 0.03% (что случается 20–30% времени на бычьем рынке) — она не готова к продакшену на высоком плече. Снижайте leverage до уровня, при котором стратегия прибыльна даже в worst-case funding scenario.
Заключение
Funding rates — это налог на leverage. Как и реальный налог, он незаметен при малых суммах и разрушителен при больших.
Три правила:
Всегда считайте PnL@ML с учётом funding. Формула без funding — маркетинг, не торговля. Загрузите исторические funding rates и вычтите реальные costs из каждой сделки.
Используйте формулу безопасного leverage:
Lsafe=∣MaxDD∣+Rate×3×DD durationTarget DD
Тестируйте при 3× funding. Если стратегия прибыльна при funding 0.03% (а не только при 0.01%) — она робастна. Если нет — снижайте leverage.
Красивые числа PnL при 50–60× leverage — приятная иллюзия. Funding rates — холодная реальность. Между ними — разница между бэктестом и торговым счётом.
@article{soloviov2026fundingratesleverage,
author = {Soloviov, Eugen},
title = {Funding rates убивают ваш leverage: почему PnL×50x — фикция},
year = {2026},
url = {https://marketmaker.cc/ru/blog/post/funding-rates-kill-leverage},
version = {0.1.0},
description = {Как funding rates на Binance/Bybit превращают красивые бэктест-результаты при высоком плече в гарантированный убыток. Формулы, пересчёт реальных стратегий и максимальное плечо, при котором funding не съедает прибыль.}
}