Фандинг ставкалары левереджіңізді өлтіреді: PnL×50x неге ойдан шығарылған

Binance/Bybit биржаларындағы фандинг ставкалары жоғары левереджді бэктест нәтижелерін қалай кепілдендірілген шығынға айналдырады. Формулалар, нақты стратегияларды қайта есептеу және фандинг пайданы жемейтін максималды левередж.

Сіз стратегияны оңтайландырдыңыз делік. Бэктест PnL +55%, MaxDD -0,9% көрсетеді. MaxLev есептейсіз: ⌊50/0.9⌋=55×\lfloor 50 / 0.9 \rfloor = 55\times. Көбейтесіз: 55%×55=+3025%55\% \times 55 = +3025\%. Екі жылда үш мың пайыз. Сіз ойша Lamborghini таңдап та үлгердіңіз.

Өндіріске шыққаннан үш ай өткен соң, капиталыңыз бастапқы деңгейден төмен. Стратегия бэктестегідей дәл жұмыс істейді — сол кірулер, сол шығулар, сол дродаун. Бірақ сіз ақша жоғалтудасыз. Күн сайын. Тұрақты түрде.

Себебі — фандинг ставкалары. Бэктестіңіз есепке алмаған немесе қате есепке алған көрінбейтін комиссия.

Фандинг ставкалары қалай жұмыс істейді

Криптовалюта биржаларында мерзімсіз своптардың жарамдылық мерзімі жоқ. Фьючерс бағасын спот бағасына жақын ұстау үшін биржалар фандинг механизмін қолданады — лонг пен шорт позициялары арасындағы кезеңдік төлемдер.

Binance/Bybit-тегі механизм:

  • Фандинг әр 8 сағат сайын төленеді (00:00, 08:00, 16:00 UTC)
  • Фандинг ставкасы фьючерс бағасы мен спот бағасының айырмашылығымен анықталады
  • Фандинг ставкасы оң болса — лонгтар шорттарға төлейді
  • Теріс болса — шорттар лонгтарға төлейді
  • Әдеттегі мөлшер: 8 сағатқа ±0.01%\pm 0.01\% (экстремалды жағдайларда ±0.5%\pm 0.5\% жетуі мүмкін)

Бір төлемге арналған формула:

Funding cost=Position size×Funding rate\text{Funding cost} = \text{Position size} \times \text{Funding rate}

LL левереджі мен CC капиталымен:

Funding cost=C×L×Rate\text{Funding cost} = C \times L \times \text{Rate}

Бэктестер левередж туралы неге өтірік айтады

Стандартты MaxLev (Maximum Leverage) метрикасы — дродаун мақсатты деңгейден аспайтын левереджтің теориялық шегі:

MaxLev=⌊Target DDMaxDD⌋\text{MaxLev} = \left\lfloor \frac{\text{Target DD}}{\text{MaxDD}} \right\rfloor

Бұл формула левереджге тәуелді шығындарды есепке алмайды. 1x левередж кезінде фандинг ставкасы шамалы комиссия болып табылады. 58x кезінде — бұл апат.

Сызықтық және квадраттық шығындар

Сауда комиссиялары (мейкер/тейкер алымдары) сызықтық — олар сауда көлеміне пропорционал және левереджге тәуелді емес. Фандинг ставкалары да позиция көлеміне қатысты сызықтық, бірақ капитал бірлігіне қайта есептегенде левереджге пропорционал өседі:

Funding cost per capital=L×Rate×Frequency\text{Funding cost per capital} = L \times \text{Rate} \times \text{Frequency}

HH күн ұстау мерзімі мен күніне 3 төлеммен:

Total funding=L×Rate×3×H\text{Total funding} = L \times \text{Rate} \times 3 \times H

Қайта есептеу: фандингті есепке алған стратегия мысалдары

Мысал ретінде әртүрлі тәуекел профилі бар үш гипотетикалық стратегияны қарастырайық. Параметрлер: мерзімсіз фьючерстер, 25 айлық тестілеу кезеңі, 8 сағатқа 0,01% әдеттегі фандинг ставкасы.

Бастапқы нәтижелер (фандингсіз)

СтратегияPnLMaxDDMaxLevPnL@MLМәмілелерСауда уақыты
A стратегиясы+55%-0.9%55x+3025%~500~15%
B стратегиясы+25%-0.75%66x+1650%~40~5%
C стратегиясы+300%-17%3x+900%~400~45%

Фандинг шығынын есептеу

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

Есептеулер:

# Strategy A: 55x leverage, 15% trading time, 750 days
a_funding = funding_cost(55, 0.15, 750)
# = 0.0001 * 3 * 55 * (750 * 0.15) = 0.0165 * 112.5 = 1.856 → 185.6%

# Strategy B: 66x leverage, 5% trading time, 750 days
b_funding = funding_cost(66, 0.05, 750)
# = 0.0001 * 3 * 66 * (750 * 0.05) = 0.0198 * 37.5 = 0.743 → 74.3%

# Strategy C: 3x leverage, 45% trading time, 750 days
c_funding = funding_cost(3, 0.45, 750)
# = 0.0001 * 3 * 3 * (750 * 0.45) = 0.0009 * 337.5 = 0.304 → 30.4%

Фандингті есепке алған нәтижелер

СтратегияPnL@ML (фандингсіз)Фандинг шығыныPnL@ML (фандингпен)Күйі
A стратегиясы+3025%-185.6%+2839%~6% жейді
B стратегиясы+1650%-74.3%+1576%~4.5% жейді
C стратегиясы+900%-30.4%+870%~3% жейді

Бірінші қарағанда бұл шыдамды көрінеді: фандинг соңғы PnL@ML-дің 3-6%-ын жейді. Бірақ бұл орташа фандинг ставкасы. Жоғары ставкаларда не болатынын көрейік.

Фандинг ставкасы тұрақты шама емес

Әдеттегі 0,01% фандинг ставкасы медиана мәні. Шындығында ставкалар ауытқып тұрады:

Нарық фазасыӘдеттегі фандинг ставкасы55x-те 8 сағатқа55x-те күніне
Тыныш нарық0.005%0.275%0.825%
Қалыпты0.01%0.55%1.65%
Өсу трендi0.03%1.65%4.95%
Экстремалды өсу0.1%5.50%16.5%
Флэш-памп0.5%27.5%—

55x левередж кезінде өсу нарығында (0,03%): лонг позициядағы бір күн тек фандингке капиталдың 4,95%-ын жұмсайды.

Белсенді күнге PnL мен күндік фандингті салыстыру

Мұнда негізгі есептеу — күндік шығындарға қатысты стратегияның күндік табысы:

# Strategy A: 55% PnL over 112.5 active days
a_pnl_per_day = 55 * 55 / 112.5  # PnL@ML / active days = 26.9%/day

# At funding 0.01%: 0.0001 * 3 * 55 = 1.65%/day
# Margin: 26.9% - 1.65% = +25.2%/day → OK

# At funding 0.03%: 0.0001 * 3 * 3 * 55 = 4.95%/day
# Margin: 26.9% - 4.95% = +21.9%/day → still OK

# Strategy B: 25% PnL over 37.5 active days
b_pnl_per_day = 25 * 66 / 37.5  # = 44.0%/day

# At funding 0.01%: 0.0001 * 3 * 66 = 1.98%/day
# Margin: 44.0% - 1.98% = +42.0%/day → OK

Мұндай сандармен фандинг сыни емес болып көрінеді. Бірақ бұл — орташа мәндер. Нағыз мәселе басқа жерде.

Нағыз мәселе: дродаун кезіндегі фандинг

Leverage, drawdown duration, and funding impact surface

Фандинг шығындары позиция ашық тұрғанда үздіксіз жинақталады — дродаун кезеңдерінде де. Мысалы: 0,9%-дық максималды дродаун (A стратегиясы) 55x левередж кезінде мынаған айналады:

Effective DD=0.9%×55=49.5%\text{Effective DD} = 0.9\% \times 55 = 49.5\%

Бұл ликвидация шегінде тұр. Енді фандингті қосыңыз:

DD with funding=49.3%+accumulated funding during DD period\text{DD with funding} = 49.3\% + \text{accumulated funding during DD period}

Дродаун 0,01% фандинг ставкасында 3 күн созылса:

Funding over 3 days=0.0001×3×55×3=4.95%\text{Funding over 3 days} = 0.0001 \times 3 \times 55 \times 3 = 4.95\%

Барлығы: 49.5%+4.95%=54.45%49.5\% + 4.95\% = 54.45\% — стандартты 50%-дық ұстау маржасында ликвидация.

Фандингті есепке алған қауіпсіз левередж формуласы

Lsafe=Target DD−Funding buffer∣MaxDD∣L_{safe} = \frac{\text{Target DD} - \text{Funding buffer}}{|\text{MaxDD}|}

мұндағы фандинг буфері — дродаунның әдеттегі ұзақтығы кезіндегі күтілетін фандинг:

Funding buffer=Rate×3×L×DD duration (days)\text{Funding buffer} = \text{Rate} \times 3 \times L \times \text{DD duration (days)}

Бұл рекурсивті теңдеу (фандинг буфері LL-ге тәуелді). Шешімі:

Lsafe=Target DD∣MaxDD∣+Rate×3×DD durationL_{safe} = \frac{\text{Target DD}}{|\text{MaxDD}| + \text{Rate} \times 3 \times \text{DD duration}}

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

# Strategy A: MaxDD=0.9%, DD duration ~3 days
a_safe = safe_leverage(0.9, 50.0, 0.0001, 3.0)
# = 0.50 / (0.009 + 0.0009) = 0.50 / 0.0099 = 50.5x

# At elevated funding 0.03%:
a_safe_high = safe_leverage(0.9, 50.0, 0.0003, 3.0)
# = 0.50 / (0.009 + 0.0027) = 0.50 / 0.0117 = 42.7x

Қорытынды: әдеттегі фандинг ставкасында A стратегиясы үшін қауіпсіз левередж 55x емес, 50x. Жоғары фандингте — 42x. PnL@ML-дегі айырмашылық:

  • Қарапайым: 55%×55=+3025%55\% \times 55 = +3025\%
  • Фандингпен (0,01%): 55%×50−165%=+2585%55\% \times 50 - 165\% = +2585\%
  • Фандингпен (0,03%): 55%×42−400%=+1910%55\% \times 42 - 400\% = +1910\%

Фандингті бэктестерге тәжірибелік интеграциялау

Бэктестерде фандинг ставкаларын есепке алу міндетті емес — бұл қажеттілік. Мұнда минималды іске асыру:

import pandas as pd
import numpy as np

def load_funding_rates(symbol: str) -> pd.DataFrame:
    """Load historical funding rates from warehouse."""
    # Funding rates are stored in CSV: timestamp, rate
    # Binance publishes every 8 hours
    path = f"warehouse/data/{symbol}/funding/"
    # ... loading and merging files
    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:
        # Find all funding payments during the position holding period
        mask = (
            (funding_rates.index >= trade.entry_time) &
            (funding_rates.index <= trade.exit_time)
        )
        payments = funding_rates.loc[mask, 'rate']

        # Funding cost: sum of rates × leverage × direction
        # Long pays positive funding, receives negative
        direction = 1 if trade.side == 'long' else -1
        total_funding = payments.sum() * direction * leverage

        # PnL adjustment
        trade.pnl_pct -= total_funding * 100

    return trades

Жақсы құрастырылған бэктестинг қозғалтқышында фандинг ставкалары автоматты түрде жүктеліп, әр мәмілеге қолданылады. Бұл шынайы көрініс береді — және ол көбіне қалағаннан гөрі анағұрлым күлгін емес.

Шынайы левередж диапазоны

Funding rate regimes and safe leverage comparison

Мысал ретінде — фандинг ставкасы әртүрлі MaxDD деңгейлерінде қауіпсіз левереджге қалай әсер ететінін көрсетейік:

Фандинг режиміОрташа ставкаDD=0.9%-де MaxLevDD=17%-де MaxLev
Төмен (0.005%)0.005%53x3x
Әдеттегі (0.01%)0.01%50x3x
Жоғары (0.03%)0.03%42x3x
Өте жоғары (0.05%)0.05%36x2x

Негізгі бақылау: дродауны төмен стратегиялар (A, B стратегиялары) үшін фандинг тиімді левереджді айтарлықтай төмендетеді. Дродауны жоғары стратегиялар (C стратегиясы) үшін фандингтің әсері минималды — өйткені левередж бастапқыда 3x-пен шектелген.

Фандинг әсерін азайту стратегиялары

1. Хедж-нейтралды позициялар

Фандинг ставкасы фьючерс бағасы мен спот бағасының айырмашылығымен анықталады. Егер стратегияңыз спот арқылы хеджирлеуге мүмкіндік берсе — фандинг бейтараптандырылады:

  • Лонг фьючерс + шорт спот = фандингке қатысты нөлдік таза экспозиция
  • Бірақ: криптодағы спотты шорттау шектеулі (маржиналды шот немесе несиелеу қажет)

2. Фандингі төмен биржаларға көшу

Әртүрлі биржаларда бірдей активке әртүрлі фандинг ставкалары болады. Фандинг арбитражын бақылау — бөлек стратегия, ол Funding Rate Arbitrage Across Exchanges мақаласында толық сипатталған.

3. Кірулерді уақыттау

Фандинг белгіленген уақытта төленеді (00:00, 08:00, 16:00 UTC). Егер мәміле төлемге бір минут қалғанда жабылса — фандинг алынбайды. Бұл микро-оңтайландыру, бірақ 58x левередж кезінде бір өткізіп алынған төлемнен 0,58% үнемдеу маңызды.

4. Динамикалық левередж

Тұрақты левередждің орнына адаптивті левередж қолданыңыз:

Ldynamic=Lbase×Ratemedianmax⁡(Ratecurrent,Ratemedian)L_{dynamic} = L_{base} \times \frac{\text{Rate}_{median}}{\max(\text{Rate}_{current}, \text{Rate}_{median})}

Фандинг жоғарылағанда, левередж автоматты түрде төмендеп, шығындарды шектейді.

Фандингті пайплайнға интеграциялау бойынша ұсыныстар

Фандинг ставкалары бэктестинг пайплайнының міндетті бөлігі болуы керек:

  • Әр символ үшін тарихи фандинг ставкаларын жүктеу
  • Әр мәмілені ұстау кезеңіндегі нақты фандингке сай түзету
  • Фандинг буфері бар формула бойынша MaxLev есептеу
  • Есепте екі санды да көрсету: фандингсіз және фандингпен PnL@ML

Тәжірибелік ереже: егер стратегия 0,03% фандинг ставкасында (бұл бұқа нарығында уақыттың 20-30%-ында орын алады) пайда әкелуді тоқтатса — ол жоғары левередждегі өндіріске дайын емес. Левереджді стратегия ең нашар фандинг сценарийінде де пайда әкелетін деңгейге дейін төмендетіңіз.

Қорытынды

Фандинг ставкалары — левередждегі салық. Нағыз салық сияқты, олар аз соммаларда байқалмайды, ал үлкен соммаларда апатты.

Үш ереже:

  1. PnL@ML-ды әрқашан фандингті есепке ала отырып есептеңіз. Фандингсіз формула — маркетинг, сауда емес. Тарихи фандинг ставкаларын жүктеп, әр мәміледен нақты шығындарды алып тастаңыз.

  2. Қауіпсіз левередж формуласын қолданыңыз:

Lsafe=Target DD∣MaxDD∣+Rate×3×DD durationL_{safe} = \frac{\text{Target DD}}{|\text{MaxDD}| + \text{Rate} \times 3 \times \text{DD duration}}

  1. 3x фандингте тестілеңіз. Егер стратегия 0,03% фандингте (тек 0,01%-де ғана емес) пайдалы болса — ол берік. Болмаса — левереджді төмендетіңіз.

50-60x левередждегі әдемі PnL сандары — жағымды иллюзия. Фандинг ставкалары — суық шындық. Олардың арасында бэктест пен сауда шоты арасындағы айырмашылық жатыр.

Жоғары левередждегі дродаундар мен волатильділік ағынының математикасы туралы толығырақ — мақаламызды қараңыз Loss-Profit Asymmetry. Фандингке түзетілген нәтижелер үшін сенімділік интервалдарын қалай алу керек — Monte Carlo Bootstrap for Backtests.


Пайдалы сілтемелер

  1. Binance — Funding Rate History
  2. Binance — Introduction to Funding Rates
  3. Bybit — Understanding Funding Rates
  4. Deribit Insights — The Hidden Cost of Perpetual Swaps
  5. Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
  6. Kevin Davey — Building Winning Algorithmic Trading Systems: Transaction Costs

Дәйексөз

@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.}
}