← Мақалаларға оралу
March 9, 2026
5 мин оқу

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

Фандинг ставкалары левереджіңізді өлтіреді: PnL×50x неге ойдан шығарылған
#algo trading
#backtesting
#funding rates
#leverage
#risk management
#crypto
#Binance

Сіз стратегияны оңтайландырдыңыз делік. Бэктест 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% әдеттегі фандинг ставкасы.

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

Стратегия PnL MaxDD MaxLev PnL@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

Есептеулер:

a_funding = funding_cost(55, 0.15, 750)

b_funding = funding_cost(66, 0.05, 750)

c_funding = funding_cost(3, 0.45, 750)

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

Стратегия 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%
Өсу трендi 0.03% 1.65% 4.95%
Экстремалды өсу 0.1% 5.50% 16.5%
Флэш-памп 0.5% 27.5%

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

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

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

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

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

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

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 DDFunding bufferMaxDDL_{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 DDMaxDD+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

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)

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

  • Қарапайым: 55%×55=+3025%55\% \times 55 = +3025\%
  • Фандингпен (0,01%): 55%×50165%=+2585%55\% \times 50 - 165\% = +2585\%
  • Фандингпен (0,03%): 55%×42400%=+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."""
    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

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

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

Funding rate regimes and safe leverage comparison

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

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

Негізгі бақылау: дродауны төмен стратегиялар (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 DDMaxDD+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.}
}
blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

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.

Newsletter

Нарықтан бір қадам алда болыңыз

AI сауда талдаулары, нарық аналитикасы және платформа жаңалықтары үшін біздің ақпараттық бюллетеньге жазылыңыз.

Біз сіздің жекелігіңізді құрметтейміз. Кез келген уақытта жазылымнан шығуға болады.