फंडिंग रेट्स आपके लीवरेज को खत्म कर देती हैं: 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)
  • फंडिंग रेट फ्यूचर्स प्राइस और स्पॉट प्राइस के अंतर से तय होती है
  • अगर फंडिंग रेट पॉज़िटिव है — लॉन्ग वाले शॉर्ट वालों को भुगतान करते हैं
  • अगर नेगेटिव है — शॉर्ट वाले लॉन्ग वालों को भुगतान करते हैं
  • सामान्य दर: ±0.01%\pm 0.01\% प्रति 8 घंटे (चरम स्थितियों में ±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@MLTradesट्रेडिंग समय
रणनीति 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% फंडिंग रेट एक माध्यिका (median) मूल्य है। वास्तविकता में, दरें उतार-चढ़ाव करती रहती हैं:

बाज़ार चरणसामान्य फंडिंग रेट55x पर प्रति 8h55x पर प्रति दिन
शांत बाज़ार0.005%0.275%0.825%
सामान्य0.01%0.55%1.65%
तेजी का रुझान0.03%1.65%4.95%
अत्यधिक तेजी0.1%5.50%16.5%
फ्लैश पंप0.5%27.5%—

तेजी वाले बाज़ार (0.03%) में 55x लीवरेज पर: लॉन्ग पोज़िशन में एक दिन सिर्फ फंडिंग में पूंजी का 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)}

यह एक पुनरावर्ती (recursive) समीकरण है (फंडिंग बफर 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 के लिए सुरक्षित लीवरेज 50x है, 55x नहीं। ऊंची फंडिंग पर — 42x। PnL@ML में अंतर:

  • सरल (naive): 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 और फंडिंग सहित 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.}
}