← Makalelere geri dön
March 9, 2026
5 dakikalık okuma

Fonlama Oranları Kaldıracınızı Öldürür: Neden PnL×50x Bir Kurgu

Fonlama Oranları Kaldıracınızı Öldürür: Neden PnL×50x Bir Kurgu
#algo trading
#backtesting
#fonlama oranları
#kaldıraç
#risk yönetimi
#kripto
#Binance

Diyelim ki bir strateji optimize ettiniz. Backtest sonucu PnL +55%, MaxDD -0.9% gösteriyor. MaxLev hesaplıyorsunuz: 50/0.9=55×\lfloor 50 / 0.9 \rfloor = 55\times. Çarpıyorsunuz: 55%×55=+3025%55\% \times 55 = +3025\%. İki yılda yüzde üç bin. Zihinsel olarak Lamborghini'nizi seçmeye başlıyorsunuz.

Üç ay sonra üretimde sermayeniz başlangıç noktasının altına düşüyor. Strateji backtest ile birebir aynı çalışıyor — aynı girişler, aynı çıkışlar, aynı düşüş. Ama para kaybediyorsunuz. Her gün. Sürekli olarak.

Nedeni: fonlama oranları. Backtest'inizin hesaba katmadığı — ya da yanlış hesaba kattığı — görünmez bir ücret.

Fonlama Oranları Nasıl Çalışır

Kripto para borsalarında sürekli swapların vade tarihi yoktur. Vadeli fiyatı spot fiyata bağlı tutmak için borsalar, uzun ve kısa pozisyonlar arasında periyodik ödemeleri içeren bir fonlama mekanizması kullanır.

Binance/Bybit'teki mekanik:

  • Fonlama her 8 saatte bir ödenir (00:00, 08:00, 16:00 UTC)
  • Fonlama oranı, vadeli fiyat ile spot fiyat arasındaki fark tarafından belirlenir
  • Fonlama oranı pozitifse — uzunlar kısalara öder
  • Negatifse — kısalar uzunlara öder
  • Tipik oran: ±0.01%\pm 0.01\% (8 saatte bir (aşırı koşullarda ±0.5%\pm 0.5\%'ye ulaşabilir)

Tek ödeme formülü:

Fonlama maliyeti=Pozisyon bu¨yu¨klu¨g˘u¨×Fonlama oranı\text{Fonlama maliyeti} = \text{Pozisyon büyüklüğü} \times \text{Fonlama oranı}

LL kaldıracı ve CC sermayesi ile:

Fonlama maliyeti=C×L×Oran\text{Fonlama maliyeti} = C \times L \times \text{Oran}

Backtestler Neden Kaldıraç Hakkında Yalan Söyler

Standart MaxLev (Maksimum Kaldıraç) metriği, düşüşün hedef seviyeyi aşmadığı teorik kaldıraç tavanıdır:

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

Bu formül kaldıraca bağlı maliyetleri hesaba katmaz. 1x kaldıraçta fonlama oranı önemsiz bir ücrettir. 58x kaldıraçta ise bir felakettir.

Doğrusal ve İkinci Dereceden Maliyetler

İşlem komisyonları (maker/taker ücretleri) doğrusaldır — işlem hacmiyle orantılıdır ve kaldıraçtan bağımsızdır. Fonlama oranları da pozisyon büyüklüğüne göre doğrusaldır, ancak birim sermaye başına yeniden hesaplandığında kaldıraçla orantılı olarak büyürler:

Sermaye bas¸ına fonlama maliyeti=L×Oran×Sıklık\text{Sermaye başına fonlama maliyeti} = L \times \text{Oran} \times \text{Sıklık}

HH gün elde tutma süresi ve günde 3 ödeme ile:

Toplam fonlama=L×Oran×3×H\text{Toplam fonlama} = L \times \text{Oran} \times 3 \times H

Yeniden Hesaplama: Fonlamayı Hesaba Katan Strateji Örnekleri

Örnek olarak, farklı risk profillerine sahip üç varsayımsal stratejiyi ele alalım. Parametreler: sürekli vadeli işlemler, 25 aylık test süresi, 8 saatte bir 0.01%'lik tipik fonlama oranı.

Orijinal Sonuçlar (Fonlama Olmadan)

Strateji PnL MaxDD MaxLev PnL@ML İşlemler İşlem süresi
Strateji A +55% -0.9% 55x +3025% ~500 ~15%
Strateji B +25% -0.75% 66x +1650% ~40 ~5%
Strateji C +300% -17% 3x +900% ~400 ~45%

Fonlama Maliyetinin Hesaplanması

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

Hesaplamalar:

a_funding = funding_cost(55, 0.15, 750)

b_funding = funding_cost(66, 0.05, 750)

c_funding = funding_cost(3, 0.45, 750)

Fonlamayı Hesaba Katan Sonuçlar

Strateji PnL@ML (fonlama yok) Fonlama maliyeti PnL@ML (fonlama ile) Durum
Strateji A +3025% -185.6% +2839% ~%6 yiyor
Strateji B +1650% -74.3% +1576% ~%4.5 yiyor
Strateji C +900% -30.4% +870% ~%3 yiyor

İlk bakışta bu tolere edilebilir görünüyor: fonlama, PnL@ML'nin yalnızca %3-6'sını yiyor. Ancak bu ortalama fonlama oranı. Yüksek oranlarda ne olduğuna bakalım.

Fonlama Oranı Sabit Değil

Tipik 0.01%'lik fonlama oranı bir medyan değeridir. Gerçekte oranlar dalgalanır:

Piyasa Aşaması Tipik fonlama oranı 55x'te 8 saatte 55x'te günde
Sakin piyasa 0.005% 0.275% 0.825%
Normal 0.01% 0.55% 1.65%
Yükseliş trendi 0.03% 1.65% 4.95%
Aşırı yükseliş 0.1% 5.50% 16.5%
Ani yükseliş 0.5% 27.5%

Yükseliş piyasasında (0.03%) 55x kaldıraçta: uzun pozisyonda tek bir gün, yalnızca fonlamada sermayenin %4.95'ine mal olur.

Aktif Gün Başına PnL ile Gün Başına Fonlama Karşılaştırması

İşte temel hesaplama — günlük strateji getirisi ile günlük maliyetler:

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

Bu sayılarla fonlama kritik görünmüyor. Ancak bunlar ortalama değerler. Sorun başka yerde.

Asıl Sorun: Düşüş Döneminde Fonlama

Kaldıraç, düşüş süresi ve fonlama etki yüzeyi

Fonlama maliyetleri pozisyon açıkken sürekli birikir — düşüş dönemleri dahil. Örnek olarak: Strateji A'nın %0.9'luk maksimum düşüşü 55x kaldıraçta şu hale gelir:

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

Bu zaten likidasyonun eşiğindedir. Şimdi fonlamayı ekleyin:

Fonlamalı DD=49.3%+DD su¨resinde biriken fonlama\text{Fonlamalı DD} = 49.3\% + \text{DD süresinde biriken fonlama}

Düşüş, 0.01%'lik fonlama oranıyla 3 gün sürerse:

3 gu¨nlu¨k fonlama=0.0001×3×55×3=4.95%\text{3 günlük fonlama} = 0.0001 \times 3 \times 55 \times 3 = 4.95\%

Toplam: 49.5%+4.95%=54.45%49.5\% + 4.95\% = 54.45\% — standart %50 bakım marjında likadasyon.

Fonlamayı Hesaba Katan Güvenli Kaldıraç Formülü

Lsafe=Hedef DDFonlama tamponuMaxDDL_{safe} = \frac{\text{Hedef DD} - \text{Fonlama tamponu}}{|\text{MaxDD}|}

burada Fonlama tamponu, tipik düşüş süresi boyunca beklenen fonlamadır:

Fonlama tamponu=Oran×3×L×DD su¨resi (gu¨n)\text{Fonlama tamponu} = \text{Oran} \times 3 \times L \times \text{DD süresi (gün)}

Bu, özyinelemeli bir denklemdir (fonlama tamponu LL'ye bağlıdır). Çözüm:

Lsafe=Hedef DDMaxDD+Oran×3×DD su¨resiL_{safe} = \frac{\text{Hedef DD}}{|\text{MaxDD}| + \text{Oran} \times 3 \times \text{DD süresi}}

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)

Sonuç: tipik fonlama oranında Strateji A için güvenli kaldıraç 55x değil 50x'tir. Yüksek fonlamada ise 42x. PnL@ML farkı:

  • Naif: 55%×55=+3025%55\% \times 55 = +3025\%
  • Fonlamayla (0.01%): 55%×50165%=+2585%55\% \times 50 - 165\% = +2585\%
  • Fonlamayla (0.03%): 55%×42400%=+1910%55\% \times 42 - 400\% = +1910\%

Backtest'e Fonlamanın Pratik Entegrasyonu

Backtest'lerde fonlama oranlarını hesaba katmak isteğe bağlı değil — bir zorunluluktur. İşte minimal bir uygulama:

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

İyi kurulmuş bir backtest motorunda fonlama oranları yüklenir ve her işleme otomatik olarak uygulanır. Bu gerçekçi bir tablo sunar — ve çoğu zaman istenilenden daha az güllük olur.

Gerçekçi Kaldıraç Aralığı

Fonlama oranı rejimleri ve güvenli kaldıraç karşılaştırması

Bir örnek olarak — fonlama oranının farklı MaxDD seviyelerinde güvenli kaldıracı nasıl etkilediği:

Fonlama rejimi Ortalama oran DD=%0.9'da MaxLev DD=%17'de MaxLev
Düşük (0.005%) 0.005% 53x 3x
Tipik (0.01%) 0.01% 50x 3x
Yüksek (0.03%) 0.03% 42x 3x
Çok yüksek (0.05%) 0.05% 36x 2x

Temel gözlem: düşük düşüşlü stratejilerde (Strateji A, B) fonlama, efektif kaldıracı önemli ölçüde azaltır. Yüksek düşüşlü stratejilerde (Strateji C), fonlamanın etkisi minimaldir — çünkü kaldıraç zaten 3x ile sınırlıdır.

Fonlama Etkisini Minimize Etme Stratejileri

1. Hedge-Nötr Pozisyonlar

Fonlama oranı, vadeli fiyat ile spot fiyat arasındaki fark tarafından belirlenir. Stratejiniz spot üzerinden hedging'e izin veriyorsa — fonlama nötralize edilir:

  • Uzun vadeli işlem + kısa spot = fonlamaya karşı 0 net maruz kalma
  • Ancak: kripto'da spotu kısaltmak sınırlıdır (marjin hesabı veya borç verme gerektirir)

2. Daha Düşük Fonlamalı Borsalara Geçiş

Farklı borsaların aynı varlık için farklı fonlama oranları vardır. Fonlama arbitrajını izlemek, Borsalar Arası Fonlama Oranı Arbitrajı makalesinde ayrıntılı olarak açıklanan ayrı bir stratejidir.

3. Giriş Zamanlaması

Fonlama sabit zamanlarda ödenir (00:00, 08:00, 16:00 UTC). Bir işlem ödemeden bir dakika önce kapanırsa — fonlama alınmaz. Bu bir mikro optimizasyon, ancak 58x kaldıraçta atlanan tek ödemeden 0.58% tasarruf etmek önemlidir.

4. Dinamik Kaldıraç

Sabit kaldıraç yerine uyarlanabilir kaldıraç kullanın:

Ldynamic=Lbase×Oranmedyanmax(Orangu¨ncel,Oranmedyan)L_{dynamic} = L_{base} \times \frac{\text{Oran}_{medyan}}{\max(\text{Oran}_{güncel}, \text{Oran}_{medyan})}

Fonlama yüksek olduğunda kaldıraç otomatik olarak azalır, maliyetleri sınırlar.

Fonlamayı Pipeline'a Entegre Etmek İçin Öneriler

Fonlama oranları, backtest pipeline'ının zorunlu bir parçası olmalıdır:

  • Her sembol için tarihsel fonlama oranlarını yükleyin
  • Her işlemi, elde tutma süresi boyunca gerçek fonlama için ayarlayın
  • Fonlama tamponu ile formülü kullanarak MaxLev hesaplayın
  • Raporda her iki sayıyı da gösterin: fonlama olmadan ve fonlamayla PnL@ML

Pratik kural: bir strateji 0.03%'lik fonlama oranında (boğa piyasasında zamanın %20-30'unda gerçekleşen) kârlı olmayı bırakırsa — yüksek kaldıraçta üretime hazır değildir. Kaldıracı, stratejinin en kötü fonlama senaryosunda bile kârlı olduğu bir seviyeye düşürün.

Sonuç

Fonlama oranları, kaldıraç üzerindeki bir vergidir. Gerçek bir vergi gibi, küçük miktarlarda fark edilmez ve büyük miktarlarda yıkıcıdır.

Üç kural:

  1. Her zaman fonlamayı hesaba katarak PnL@ML hesaplayın. Fonlama olmadan formula, trading değil pazarlamadır. Tarihsel fonlama oranlarını yükleyin ve her işlemden gerçek maliyetleri çıkarın.

  2. Güvenli kaldıraç formülünü kullanın:

Lsafe=Hedef DDMaxDD+Oran×3×DD su¨resiL_{safe} = \frac{\text{Hedef DD}}{|\text{MaxDD}| + \text{Oran} \times 3 \times \text{DD süresi}}

  1. 3x fonlamada test edin. Strateji, 0.03%'lük fonlamada (yalnızca 0.01% değil) kârlıysa — sağlamdır. Değilse — kaldıracı azaltın.

50-60x kaldıraçtaki güzel PnL sayıları hoş bir yanılsamadır. Fonlama oranları soğuk gerçektir. İkisi arasında backtest ile işlem hesabı arasındaki fark yatar.

Yüksek kaldıraçta düşüşlerin ve oynaklık sürüklenmesinin matematiği hakkında daha fazlası için — Kayıp-Kâr Asimetrisi makalemize bakın. Fonlama ayarlı sonuçlar için güven aralıklarının nasıl elde edileceği hakkında — Backtest'ler için Monte Carlo Bootstrap.


Faydalı Bağlantılar

  1. Binance — Fonlama Oranı Geçmişi
  2. Binance — Fonlama Oranlarına Giriş
  3. Bybit — Fonlama Oranlarını Anlama
  4. Deribit Insights — Sürekli Swapların Gizli Maliyeti
  5. Lopez de Prado — Finansal Makine Öğrenmesinde İlerlemeler, Bölüm 14: Backtest İstatistikleri
  6. Kevin Davey — Kazanan Algoritmik İşlem Sistemleri Oluşturma: İşlem Maliyetleri

Alıntı

@article{soloviov2026fundingratesleverage,
  author = {Soloviov, Eugen},
  title = {Funding Rates Kill Your Leverage: Why PnL×50x Is a Fiction},
  year = {2026},
  url = {https://marketmaker.cc/tr/blog/post/funding-rates-kill-leverage},
  version = {0.1.0},
  description = {Binance/Bybit'teki fonlama oranları, güzel yüksek kaldıraçlı backtest sonuçlarını nasıl garantili kayba dönüştürür. Formüller, gerçek stratejilerin yeniden hesaplanması ve fonlamanın kâra zarar vermediği maksimum kaldıraç seviyesi.}
}
Sorumluluk Reddi: Bu makalede sağlanan bilgiler yalnızca eğitim ve bilgilendirme amaçlıdır ve finansal, yatırım veya ticaret tavsiyesi niteliği taşımaz. Kripto para ticareti önemli bir kayıp riski içerir.

Yazarlar

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

Piyasanın Önünde Olun

Özel yapay zeka ticaret içgörüleri, piyasa analizi ve platform güncellemeleri için bültenimize abone olun.

Gizliliğinize saygı duyuyoruz. İstediğiniz zaman abonelikten çıkabilirsiniz.