Funding Rate'lar sizning leverage'ingizni o'ldiradi: nega PnL×50x fantastika
Aytaylik, siz strategiyani optimallashtirdingiz. Backtest PnL +55%, MaxDD -0,9% ko'rsatadi. Siz MaxLev'ni hisoblaysiz: . Ko'paytirasiz: . Ikki yilda uch ming foiz. Siz aqlan allaqachon Lamborghini tanlayotgan bo'lasiz.
Productionga chiqqaningizdan uch oy o'tgach, kapitalingiz boshlang'ich nuqtadan pastda. Strategiya aynan backtestdagidek ishlaydi — xuddi shu kirishlar, xuddi shu chiqishlar, xuddi shu drawdown. Lekin siz pul yo'qotyapsiz. Har kuni. Doimiy ravishda.
Sababi — funding rate'lar. Backtestingiz hisobga olmagan yoki noto'g'ri hisobga olgan ko'rinmas komissiya.
Funding Rate'lar qanday ishlaydi
Kriptovalyuta birjalarida perpetual swap'larning amal qilish muddati yo'q. Fyuchers narxini spot narxiga yaqin ushlab turish uchun birjalar funding mexanizmidan foydalanadi — long va short pozitsiyalar o'rtasidagi davriy to'lovlar.
Binance/Bybit'dagi mexanizm:
- Funding har 8 soatda to'lanadi (00:00, 08:00, 16:00 UTC)
- Funding rate fyuchers narxi va spot narxi o'rtasidagi farq bilan aniqlanadi
- Funding rate musbat bo'lsa — long'lar short'larga to'laydi
- Manfiy bo'lsa — short'lar long'larga to'laydi
- Odatiy stavka: 8 soatga (ekstremal sharoitlarda gacha yetishi mumkin)
Bitta to'lov uchun formula:
leverage va kapital bilan:
Nega backtest'lar leverage haqida yolg'on gapiradi
Standart MaxLev (Maximum Leverage) metrikasi — drawdown maqsadli darajadan oshmaydigan leverage'ning nazariy chegarasi:
Bu formula leverage'ga bog'liq bo'lgan xarajatlarni hisobga olmaydi. 1x leverage'da funding rate arzimas komissiya hisoblanadi. 58x'da — bu falokat.
Chiziqli va kvadratik xarajatlar
Savdo komissiyalari (maker/taker to'lovlari) chiziqli — ular savdo hajmiga proportsional va leverage'ga bog'liq emas. Funding rate'lar ham pozitsiya hajmiga nisbatan chiziqli, lekin kapital birligiga qayta hisoblanganda leverage'ga proportsional ravishda o'sadi:
kun ushlab turish muddati va kuniga 3 ta to'lov bilan:
Qayta hisoblash: funding'ni hisobga olgan strategiya misollari
Misol tariqasida turli xavf profillariga ega uchta gipotetik strategiyani ko'rib chiqamiz. Parametrlar: perpetual fyuchers, 25 oylik test davri, 8 soatga 0,01% odatiy funding rate.
Dastlabki natijalar (funding'siz)
| Strategiya | PnL | MaxDD | MaxLev | PnL@ML | Trade'lar | Savdo vaqti |
|---|---|---|---|---|---|---|
| A strategiyasi | +55% | -0.9% | 55x | +3025% | ~500 | ~15% |
| B strategiyasi | +25% | -0.75% | 66x | +1650% | ~40 | ~5% |
| C strategiyasi | +300% | -17% | 3x | +900% | ~400 | ~45% |
Funding xarajatini hisoblash
def funding_cost(
leverage: float,
trading_time_pct: float,
test_days: int = 750, # 25 months
funding_rate: float = 0.0001, # 0.01% per 8h
payments_per_day: int = 3,
) -> float:
"""
Calculate cumulative funding costs as % of capital.
Returns:
Funding cost as percentage of initial capital
"""
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 # in percent
Hisob-kitoblar:
a_funding = funding_cost(55, 0.15, 750)
b_funding = funding_cost(66, 0.05, 750)
c_funding = funding_cost(3, 0.45, 750)
Funding'ni hisobga olgan natijalar
| Strategiya | PnL@ML (funding'siz) | Funding xarajati | PnL@ML (funding bilan) | Holat |
|---|---|---|---|---|
| A strategiyasi | +3025% | -185.6% | +2839% | ~6% yeydi |
| B strategiyasi | +1650% | -74.3% | +1576% | ~4.5% yeydi |
| C strategiyasi | +900% | -30.4% | +870% | ~3% yeydi |
Birinchi qarashda bu chidab bo'ladigandek ko'rinadi: funding yakuniy PnL@ML'ning 3-6%'ini yeydi. Lekin bu — o'rtacha funding rate. Yuqori stavkalarda nima bo'lishini ko'raylik.
Funding rate doimiy kattalik emas
Odatiy 0,01% funding rate — median qiymat. Aslida stavkalar o'zgarib turadi:
| Bozor fazasi | Odatiy funding rate | 55x'da 8 soatga | 55x'da kuniga |
|---|---|---|---|
| Tinch bozor | 0.005% | 0.275% | 0.825% |
| Normal | 0.01% | 0.55% | 1.65% |
| O'sish trendi | 0.03% | 1.65% | 4.95% |
| Ekstremal o'sish | 0.1% | 5.50% | 16.5% |
| Flash pump | 0.5% | 27.5% | — |
O'sish bozorida (0,03%) 55x leverage'da: long pozitsiyadagi bir kun faqat funding uchun kapitalning 4,95%'ini yeydi.
Faol kunga PnL va kunlik funding solishtiruvi
Mana asosiy hisob-kitob — kunlik xarajatlarga nisbatan strategiyaning kunlik daromadi:
a_pnl_per_day = 55 * 55 / 112.5 # PnL@ML / active days = 26.9%/day
b_pnl_per_day = 25 * 66 / 37.5 # = 44.0%/day
Bunday raqamlar bilan funding kritik emasdek ko'rinadi. Lekin bu — o'rtacha qiymatlar. Haqiqiy muammo boshqa joyda.
Haqiqiy muammo: drawdown paytidagi funding

Funding xarajatlari pozitsiya ochiq turgan vaqtda uzluksiz to'planadi — drawdown davrlarida ham. Masalan: 0,9% maksimal drawdown (A strategiyasi) 55x leverage'da quyidagicha bo'ladi:
Bu allaqachon likvidatsiya chegarasida turibdi. Endi funding'ni qo'shing:
Agar drawdown 0,01% funding rate'da 3 kun davom etsa:
Jami: — standart 50% maintenance margin'da likvidatsiya.
Funding'ni hisobga olgan xavfsiz leverage formulasi
bu yerda Funding buffer — drawdown'ning odatiy davomiyligi davomidagi kutilayotgan funding:
Bu rekursiv tenglama (funding buffer 'ga bog'liq). Yechimi:
def safe_leverage(
max_dd_pct: float,
target_dd_pct: float = 50.0,
funding_rate: float = 0.0001,
dd_duration_days: float = 3.0,
) -> float:
"""
Safe leverage accounting for funding costs during drawdown.
"""
denominator = max_dd_pct / 100 + funding_rate * 3 * dd_duration_days
return target_dd_pct / 100 / denominator
a_safe = safe_leverage(0.9, 50.0, 0.0001, 3.0)
a_safe_high = safe_leverage(0.9, 50.0, 0.0003, 3.0)
Xulosa: odatiy funding rate'da A strategiyasi uchun xavfsiz leverage 55x emas, 50x. Yuqori funding'da — 42x. PnL@ML'dagi farq:
- Sodda:
- Funding bilan (0,01%):
- Funding bilan (0,03%):
Funding'ni backtest'larga amaliy integratsiya qilish
Backtest'larda funding rate'larni hisobga olish ixtiyoriy emas — bu zaruriyat. Mana minimal implementatsiya:
import pandas as pd
import numpy as np
def load_funding_rates(symbol: str) -> pd.DataFrame:
"""Load historical funding rates from warehouse."""
path = f"warehouse/data/{symbol}/funding/"
return df # columns: [timestamp, rate]
def apply_funding_to_trades(trades, funding_rates, leverage: int = 1):
"""
Subtract real funding costs from each trade's 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 = 1 if trade.side == 'long' else -1
total_funding = payments.sum() * direction * leverage
trade.pnl_pct -= total_funding * 100
return trades
Yaxshi qurilgan backtesting dvigatelida funding rate'lar avtomatik ravishda yuklanadi va har bir trade'ga qo'llaniladi. Bu real manzarani beradi — va bu ko'pincha xohlagandan ancha kam yoqimli bo'ladi.
Realistik leverage diapazoni

Misol tariqasida — funding rate turli MaxDD darajalarida xavfsiz leverage'ga qanday ta'sir qilishini ko'rsatamiz:
| Funding rejimi | O'rtacha stavka | DD=0.9%'da MaxLev | DD=17%'da MaxLev |
|---|---|---|---|
| Past (0.005%) | 0.005% | 53x | 3x |
| Odatiy (0.01%) | 0.01% | 50x | 3x |
| Yuqori (0.03%) | 0.03% | 42x | 3x |
| Juda yuqori (0.05%) | 0.05% | 36x | 2x |
Asosiy kuzatuv: past drawdown'li strategiyalar (A, B strategiyalari) uchun funding samarali leverage'ni sezilarli darajada kamaytiradi. Yuqori drawdown'li strategiyalar (C strategiyasi) uchun funding ta'siri minimal — chunki leverage allaqachon 3x bilan cheklangan.
Funding ta'sirini minimallashtirish strategiyalari
1. Hedge-neytral pozitsiyalar
Funding rate fyuchers narxi va spot narxi o'rtasidagi farq bilan aniqlanadi. Agar strategiyangiz spot orqali hedging qilishga imkon bersa — funding neytrallashadi:
- Long fyuchers + short spot = funding'ga nisbatan 0 sof ekspozitsiya
- Lekin: kriptoda spot'ni short qilish cheklangan (margin hisob yoki lending talab qilinadi)
2. Funding pastroq bo'lgan birjalarga o'tish
Turli birjalarda bir xil aktiv uchun turli funding rate'lar mavjud. Funding arbitrajini kuzatish alohida strategiya bo'lib, u Funding Rate Arbitrage Across Exchanges maqolasida batafsil tasvirlangan.
3. Kirishlarni vaqtlash
Funding belgilangan vaqtlarda to'lanadi (00:00, 08:00, 16:00 UTC). Agar trade to'lovdan bir daqiqa oldin yopilsa — funding olinmaydi. Bu mikro-optimallashtirish, lekin 58x leverage'da bitta o'tkazib yuborilgan to'lovdan 0,58% tejash muhim ahamiyatga ega.
4. Dinamik leverage
Qat'iy leverage o'rniga moslashuvchan leverage'dan foydalaning:
Funding yuqori bo'lganda, leverage avtomatik ravishda pasayadi va xarajatlarni cheklaydi.
Funding'ni pipeline'ga integratsiya qilish bo'yicha tavsiyalar
Funding rate'lar backtesting pipeline'ining majburiy qismi bo'lishi kerak:
- Har bir simvol uchun tarixiy funding rate'larni yuklash
- Har bir trade'ni ushlab turish davridagi real funding'ga moslab tuzatish
- Funding buferi bo'lgan formula bo'yicha MaxLev'ni hisoblash
- Hisobotda ikkala raqamni ham ko'rsatish: funding'siz va funding bilan PnL@ML
Amaliy qoida: agar strategiya 0,03% funding rate'da (bu bull bozorida vaqtning 20-30%'ida yuz beradi) foydali bo'lishni to'xtatsa — u yuqori leverage bilan productionga tayyor emas. Leverage'ni strategiya eng yomon funding stsenariysida ham foydali bo'ladigan darajaga kamaytiring.
Xulosa
Funding rate'lar — leverage'ga solinadigan soliq. Haqiqiy soliq kabi, ular kichik summalarda sezilmaydi va katta summalarda halokatli bo'ladi.
Uchta qoida:
-
PnL@ML'ni har doim funding'ni hisobga olgan holda hisoblang. Funding'siz formula — marketing, savdo emas. Tarixiy funding rate'larni yuklang va har bir trade'dan real xarajatlarni ayiring.
-
Xavfsiz leverage formulasidan foydalaning:
- 3x funding'da test qiling. Agar strategiya 0,03% funding'da (faqat 0,01%'da emas) foydali bo'lsa — u barqaror. Bo'lmasa — leverage'ni kamaytiring.
50-60x leverage'dagi chiroyli PnL raqamlari — yoqimli illyuziya. Funding rate'lar — sovuq haqiqat. Ular orasida backtest va savdo hisobi o'rtasidagi farq yotibdi.
Yuqori leverage'dagi drawdown va volatility drag matematikasi haqida ko'proq ma'lumot uchun — Loss-Profit Asymmetry maqolamizga qarang. Funding'ga moslashtirilgan natijalar uchun ishonch intervallarini qanday olish haqida — Monte Carlo Bootstrap for Backtests.
Foydali havolalar
- Binance — Funding Rate History
- Binance — Introduction to Funding Rates
- Bybit — Understanding Funding Rates
- Deribit Insights — The Hidden Cost of Perpetual Swaps
- Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
- Kevin Davey — Building Winning Algorithmic Trading Systems: Transaction Costs
Iqtibos
@article{soloviov2026fundingratesleverage,
author = {Soloviov, Eugen},
title = {Funding Rates Kill Your Leverage: Why PnL×50x Is a Fiction},
year = {2026},
url = {https://marketmaker.cc/ru/blog/post/funding-rates-kill-leverage},
version = {0.1.0},
description = {How funding rates on Binance/Bybit turn beautiful high-leverage backtest results into guaranteed losses. Formulas, recalculation of real strategies, and the maximum leverage at which funding does not eat into profits.}
}
Authors
Trading-systems engineer
Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.