← Kembali ke artikel
March 9, 2026
5 menit baca

Funding Rate Membunuh Leverage Anda: Mengapa PnL×50x Adalah Fiksi

Funding Rate Membunuh Leverage Anda: Mengapa PnL×50x Adalah Fiksi
#algo trading
#backtesting
#funding rates
#leverage
#manajemen risiko
#crypto
#Binance

Misalkan Anda mengoptimalkan sebuah strategi. Backtest menunjukkan PnL +55%, MaxDD -0,9%. Anda menghitung MaxLev: 50/0.9=55×\lfloor 50 / 0.9 \rfloor = 55\times. Anda mengalikan: 55%×55=+3025%55\% \times 55 = +3025\%. Tiga ribu persen dalam dua tahun. Anda sudah secara mental memilih Lamborghini Anda.

Tiga bulan dalam produksi, modal Anda berada di bawah titik awal. Strategi bekerja persis seperti yang di-backtest — entri yang sama, keluar yang sama, drawdown yang sama. Tetapi Anda kehilangan uang. Setiap hari. Secara konsisten.

Alasannya: funding rate. Biaya tak terlihat yang tidak diperhitungkan oleh backtest Anda — atau diperhitungkan secara tidak benar.

Cara Kerja Funding Rate

Di bursa kripto, perpetual swap tidak memiliki tanggal kedaluwarsa. Untuk menjaga harga futures tetap terpaku pada harga spot, bursa menggunakan mekanisme funding — pembayaran periodik antara long dan short.

Mekanisme di Binance/Bybit:

  • Funding dibayarkan setiap 8 jam (00:00, 08:00, 16:00 UTC)
  • Tingkat funding ditentukan oleh selisih antara harga futures dan harga spot
  • Jika tingkat funding positif — long membayar short
  • Jika negatif — short membayar long
  • Tingkat tipikal: ±0.01%\pm 0.01\% per 8 jam (dapat mencapai ±0.5%\pm 0.5\% dalam kondisi ekstrem)

Rumus untuk satu pembayaran:

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

Dengan leverage LL dan modal CC:

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

Mengapa Backtest Berbohong tentang Leverage

Metrik MaxLev (Maximum Leverage) standar adalah batas teoritis leverage di mana drawdown tidak melebihi level target:

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

Rumus ini tidak memperhitungkan biaya yang bergantung pada leverage. Pada leverage 1x, funding rate adalah biaya yang tidak signifikan. Pada 58x — ini adalah bencana.

Biaya Linear vs Kuadratik

Komisi trading (maker/taker fee) bersifat linear — proporsional terhadap volume perdagangan dan tidak bergantung pada leverage. Funding rate juga linear terhadap ukuran posisi, tetapi ketika dihitung ulang per unit modal, mereka tumbuh secara proporsional terhadap leverage:

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

Dengan periode holding HH hari dan 3 pembayaran per hari:

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

Perhitungan Ulang: Contoh Strategi dengan Memperhitungkan Funding

Sebagai contoh, pertimbangkan tiga strategi hipotetis dengan profil risiko yang berbeda. Parameter: perpetual futures, periode uji 25 bulan, tingkat funding tipikal 0,01% per 8 jam.

Hasil Awal (Tanpa Funding)

Strategi PnL MaxDD MaxLev PnL@ML Trades Waktu trading
Strategi A +55% -0,9% 55x +3025% ~500 ~15%
Strategi B +25% -0,75% 66x +1650% ~40 ~5%
Strategi C +300% -17% 3x +900% ~400 ~45%

Menghitung Biaya Funding

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

Perhitungan:

a_funding = funding_cost(55, 0.15, 750)

b_funding = funding_cost(66, 0.05, 750)

c_funding = funding_cost(3, 0.45, 750)

Hasil dengan Memperhitungkan Funding

Strategi PnL@ML (tanpa funding) Biaya funding PnL@ML (dengan funding) Status
Strategi A +3025% -185,6% +2839% Menggerus ~6%
Strategi B +1650% -74,3% +1576% Menggerus ~4,5%
Strategi C +900% -30,4% +870% Menggerus ~3%

Sekilas ini tampak dapat ditoleransi: funding menggerus 3-6% dari PnL@ML akhir. Tetapi ini adalah tingkat funding rata-rata. Mari kita lihat apa yang terjadi pada tingkat yang lebih tinggi.

Funding Rate Bukan Konstanta

Tingkat funding 0,01% yang tipikal adalah nilai median. Dalam kenyataannya, tingkat berfluktuasi:

Fase Pasar Tingkat funding tipikal Per 8j pada 55x Per hari pada 55x
Pasar tenang 0,005% 0,275% 0,825%
Normal 0,01% 0,55% 1,65%
Tren bullish 0,03% 1,65% 4,95%
Bullish ekstrem 0,1% 5,50% 16,5%
Flash pump 0,5% 27,5%

Pada leverage 55x selama pasar bullish (0,03%): satu hari dalam posisi long menelan 4,95% modal hanya dari funding.

PnL per Hari Aktif vs Funding per Hari

Berikut adalah kalkulasi kunci — imbal hasil strategi harian versus biaya harian:

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

Dengan angka-angka seperti ini, funding tampak tidak kritis. Tetapi ini adalah rata-rata. Masalahnya ada di tempat lain.

Masalah Nyata: Funding Selama Drawdown

Permukaan dampak leverage, durasi drawdown, dan funding

Biaya funding terakumulasi secara terus-menerus selama posisi terbuka — termasuk selama periode drawdown. Misalnya: drawdown maksimum 0,9% (Strategi A) pada leverage 55x menjadi:

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

Ini sudah berada di ambang likuidasi. Sekarang tambahkan funding:

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

Jika drawdown berlangsung 3 hari pada tingkat funding 0,01%:

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\%

Total: 49.5%+4.95%=54.45%49.5\% + 4.95\% = 54.45\%likuidasi pada margin pemeliharaan standar 50%.

Rumus Leverage Aman dengan Memperhitungkan Funding

Lsafe=Target DDFunding bufferMaxDDL_{safe} = \frac{\text{Target DD} - \text{Funding buffer}}{|\text{MaxDD}|}

di mana Funding buffer adalah funding yang diharapkan selama durasi drawdown tipikal:

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

Ini adalah persamaan rekursif (funding buffer bergantung pada LL). Solusinya:

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)

Kesimpulan: pada tingkat funding tipikal, leverage aman untuk Strategi A adalah 50x, bukan 55x. Pada funding yang meningkat — 42x. Perbedaan PnL@ML:

  • Naif: 55%×55=+3025%55\% \times 55 = +3025\%
  • Dengan funding (0,01%): 55%×50165%=+2585%55\% \times 50 - 165\% = +2585\%
  • Dengan funding (0,03%): 55%×42400%=+1910%55\% \times 42 - 400\% = +1910\%

Integrasi Praktis Funding ke dalam Backtest

Memperhitungkan funding rate dalam backtest bukan pilihan — ini adalah keharusan. Berikut adalah implementasi minimal:

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

Dalam mesin backtesting yang dibangun dengan baik, funding rate dimuat dan diterapkan ke setiap perdagangan secara otomatis. Ini memberikan gambaran yang realistis — dan seringkali kurang menggembirakan dari yang diinginkan.

Rentang Leverage yang Realistis

Perbandingan rezim funding rate dan leverage aman

Sebagai contoh — bagaimana funding rate memengaruhi leverage aman pada level MaxDD yang berbeda:

Rezim funding Tingkat rata-rata MaxLev pada DD=0,9% MaxLev pada DD=17%
Rendah (0,005%) 0,005% 53x 3x
Tipikal (0,01%) 0,01% 50x 3x
Meningkat (0,03%) 0,03% 42x 3x
Tinggi (0,05%) 0,05% 36x 2x

Pengamatan kunci: untuk strategi dengan drawdown rendah (Strategi A, B), funding secara signifikan mengurangi leverage efektif. Untuk strategi dengan drawdown tinggi (Strategi C), dampak funding minimal — karena leverage sudah dibatasi pada 3x.

Strategi untuk Meminimalkan Dampak Funding

1. Posisi Hedge-Neutral

Tingkat funding ditentukan oleh selisih antara harga futures dan harga spot. Jika strategi Anda memungkinkan hedging melalui spot — funding dinetralisir:

  • Long futures + short spot = 0 eksposur bersih terhadap funding
  • Tetapi: short spot di kripto terbatas (membutuhkan akun margin atau peminjaman)

2. Pindah ke Bursa dengan Funding Lebih Rendah

Bursa yang berbeda memiliki tingkat funding yang berbeda untuk aset yang sama. Memantau arbitrase funding adalah strategi tersendiri, yang dijelaskan secara rinci dalam artikel Arbitrase Funding Rate Lintas Bursa.

3. Waktu Entri

Funding dibayarkan pada waktu tetap (00:00, 08:00, 16:00 UTC). Jika perdagangan ditutup satu menit sebelum pembayaran — funding tidak dikenakan. Ini adalah mikro-optimisasi, tetapi pada leverage 58x, menghemat 0,58% dari satu pembayaran yang dilewati itu signifikan.

4. Leverage Dinamis

Alih-alih leverage tetap, gunakan leverage adaptif:

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

Ketika funding meningkat, leverage secara otomatis menurun, membatasi biaya.

Rekomendasi untuk Mengintegrasikan Funding ke dalam Pipeline

Funding rate harus menjadi bagian wajib dari pipeline backtesting:

  • Muat funding rate historis untuk setiap simbol
  • Sesuaikan setiap perdagangan berdasarkan funding aktual selama periode holding
  • Hitung MaxLev menggunakan rumus dengan funding buffer
  • Dalam laporan, tampilkan kedua angka: PnL@ML tanpa funding dan dengan funding

Aturan praktis: jika sebuah strategi berhenti menguntungkan pada tingkat funding 0,03% (yang terjadi 20-30% waktu selama pasar bull) — strategi tersebut belum siap untuk produksi pada leverage tinggi. Kurangi leverage ke level di mana strategi tetap menguntungkan bahkan dalam skenario funding terburuk.

Kesimpulan

Funding rate adalah pajak atas leverage. Seperti pajak nyata, tidak terasa pada jumlah kecil dan menghancurkan pada jumlah besar.

Tiga aturan:

  1. Selalu hitung PnL@ML dengan memperhitungkan funding. Rumus tanpa funding adalah pemasaran, bukan trading. Muat funding rate historis dan kurangi biaya nyata dari setiap perdagangan.

  2. Gunakan rumus leverage aman:

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

  1. Uji pada funding 3x. Jika strategi menguntungkan pada funding 0,03% (bukan hanya 0,01%) — strategi ini robust. Jika tidak — kurangi leverage.

Angka PnL yang indah pada leverage 50-60x adalah ilusi yang menyenangkan. Funding rate adalah kenyataan yang dingin. Di antara keduanya terletak perbedaan antara backtest dan akun trading.

Untuk lebih lanjut tentang matematika drawdown dan volatility drag pada leverage tinggi — lihat artikel kami Asimetri Kerugian-Keuntungan. Tentang cara mendapatkan interval kepercayaan untuk hasil yang disesuaikan dengan funding — Monte Carlo Bootstrap untuk Backtest.


Tautan Berguna

  1. Binance — Riwayat Funding Rate
  2. Binance — Pengantar Funding Rate
  3. Bybit — Memahami Funding Rate
  4. Deribit Insights — Biaya Tersembunyi dari Perpetual Swap
  5. Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
  6. Kevin Davey — Building Winning Algorithmic Trading Systems: Transaction Costs

Sitasi

@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.}
}
Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

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

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.