फंडिंग रेट्स आपके लीवरेज को खत्म कर देती हैं: PnL×50x एक कल्पना क्यों है
मान लीजिए आपने एक रणनीति को ऑप्टिमाइज़ किया। बैकटेस्ट में PnL +55%, MaxDD -0.9% दिखता है। आप MaxLev निकालते हैं: । फिर गुणा करते हैं: । दो साल में तीन हज़ार प्रतिशत। आप मन ही मन अपनी Lamborghini चुनना शुरू कर चुके हैं।
प्रोडक्शन में जाने के तीन महीने बाद, आपकी पूंजी शुरुआती बिंदु से नीचे है। रणनीति बिल्कुल बैकटेस्ट जैसी ही काम करती है — वही एंट्री, वही एग्ज़िट, वही ड्रॉडाउन। लेकिन आप पैसे गंवा रहे हैं। हर दिन। लगातार।
वजह: फंडिंग रेट्स। एक अदृश्य शुल्क जिसे आपके बैकटेस्ट ने या तो शामिल ही नहीं किया — या गलत तरीके से किया।
फंडिंग रेट्स कैसे काम करती हैं
क्रिप्टोकरेंसी एक्सचेंजों पर, परपेचुअल स्वैप की कोई एक्सपायरी डेट नहीं होती। फ्यूचर्स प्राइस को स्पॉट प्राइस के करीब बनाए रखने के लिए, एक्सचेंज एक फंडिंग मैकेनिज़्म इस्तेमाल करते हैं — लॉन्ग और शॉर्ट पोज़िशन्स के बीच आवधिक भुगतान।
Binance/Bybit पर मैकेनिज़्म:
- फंडिंग हर 8 घंटे में चुकाई जाती है (00:00, 08:00, 16:00 UTC)
- फंडिंग रेट फ्यूचर्स प्राइस और स्पॉट प्राइस के अंतर से तय होती है
- अगर फंडिंग रेट पॉज़िटिव है — लॉन्ग वाले शॉर्ट वालों को भुगतान करते हैं
- अगर नेगेटिव है — शॉर्ट वाले लॉन्ग वालों को भुगतान करते हैं
- सामान्य दर: प्रति 8 घंटे (चरम स्थितियों में तक पहुंच सकती है)
एक भुगतान का फॉर्मूला:
लीवरेज और पूंजी के साथ:
बैकटेस्ट लीवरेज के बारे में झूठ क्यों बोलते हैं
स्टैंडर्ड MaxLev (Maximum Leverage) मेट्रिक लीवरेज की वह सैद्धांतिक ऊपरी सीमा है जिस पर ड्रॉडाउन लक्ष्य स्तर से आगे नहीं जाता:
यह फॉर्मूला उन लागतों को शामिल नहीं करता जो लीवरेज पर निर्भर करती हैं। 1x लीवरेज पर, फंडिंग रेट एक मामूली शुल्क है। 58x पर — यह एक आपदा है।
रैखिक बनाम द्विघाती लागतें
ट्रेडिंग कमीशन (मेकर/टेकर फीस) रैखिक होते हैं — वे ट्रेड वॉल्यूम के अनुपात में होते हैं और लीवरेज पर निर्भर नहीं करते। फंडिंग रेट्स भी पोज़िशन साइज़ के सापेक्ष रैखिक होती हैं, लेकिन जब प्रति यूनिट पूंजी के हिसाब से दोबारा गणना की जाती है, तो वे लीवरेज के अनुपात में बढ़ती हैं:
होल्डिंग अवधि दिन और प्रतिदिन 3 भुगतानों के साथ:
पुनर्गणना: फंडिंग को ध्यान में रखते हुए रणनीति के उदाहरण
उदाहरण के तौर पर, अलग-अलग जोखिम प्रोफाइल वाली तीन काल्पनिक रणनीतियों पर विचार करें। पैरामीटर: परपेचुअल फ्यूचर्स, 25 महीने की टेस्ट अवधि, प्रति 8 घंटे 0.01% की सामान्य फंडिंग रेट।
मूल नतीजे (फंडिंग के बिना)
| रणनीति | PnL | MaxDD | MaxLev | PnL@ML | Trades | ट्रेडिंग समय |
|---|---|---|---|---|---|---|
| रणनीति 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% फंडिंग रेट एक माध्यिका (median) मूल्य है। वास्तविकता में, दरें उतार-चढ़ाव करती रहती हैं:
| बाज़ार चरण | सामान्य फंडिंग रेट | 55x पर प्रति 8h | 55x पर प्रति दिन |
|---|---|---|---|
| शांत बाज़ार | 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 बनाम प्रतिदिन फंडिंग
यहां मुख्य गणना है — दैनिक रणनीति रिटर्न बनाम दैनिक लागत:
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
ऐसे आंकड़ों के साथ, फंडिंग गैर-गंभीर लगती है। लेकिन ये औसत हैं। असली समस्या कहीं और है।
असली समस्या: ड्रॉडाउन के दौरान फंडिंग

फंडिंग लागतें तब तक लगातार जमा होती रहती हैं जब तक पोज़िशन खुली रहती है — ड्रॉडाउन अवधि के दौरान भी। उदाहरण के लिए: 0.9% का अधिकतम ड्रॉडाउन (रणनीति A) 55x लीवरेज पर बन जाता है:
यह पहले से ही लिक्विडेशन की कगार पर है। अब फंडिंग जोड़ें:
यदि ड्रॉडाउन 0.01% की फंडिंग रेट पर 3 दिन तक चलता है:
कुल: — मानक 50% मेंटेनेंस मार्जिन पर लिक्विडेशन।
फंडिंग को ध्यान में रखते हुए सुरक्षित लीवरेज फॉर्मूला
जहां फंडिंग बफर सामान्य ड्रॉडाउन अवधि पर अपेक्षित फंडिंग है:
यह एक पुनरावर्ती (recursive) समीकरण है (फंडिंग बफर पर निर्भर करता है)। समाधान:
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 के लिए सुरक्षित लीवरेज 50x है, 55x नहीं। ऊंची फंडिंग पर — 42x। PnL@ML में अंतर:
- सरल (naive):
- फंडिंग सहित (0.01%):
- फंडिंग सहित (0.03%):
बैकटेस्ट में फंडिंग का व्यावहारिक एकीकरण
बैकटेस्ट में फंडिंग रेट्स को शामिल करना वैकल्पिक नहीं है — यह ज़रूरी है। यहां एक न्यूनतम इम्प्लीमेंटेशन है:
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
एक अच्छी तरह बने बैकटेस्टिंग इंजन में, फंडिंग रेट्स को स्वचालित रूप से लोड करके हर ट्रेड पर लागू किया जाता है। यह एक यथार्थवादी तस्वीर देता है — और यह अक्सर उतना गुलाबी नहीं होता जितना कोई चाहेगा।
यथार्थवादी लीवरेज रेंज

उदाहरण के तौर पर — फंडिंग रेट अलग-अलग 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. डायनामिक लीवरेज
फिक्स्ड लीवरेज के बजाय, एडैप्टिव लीवरेज का उपयोग करें:
जब फंडिंग ऊंची होती है, तो लीवरेज स्वचालित रूप से घटकर लागतों को सीमित कर देता है।
पाइपलाइन में फंडिंग को शामिल करने के लिए सिफारिशें
फंडिंग रेट्स को बैकटेस्टिंग पाइपलाइन का अनिवार्य हिस्सा होना चाहिए:
- हर सिंबल के लिए ऐतिहासिक फंडिंग रेट्स लोड करें
- होल्डिंग अवधि में वास्तविक फंडिंग के हिसाब से हर ट्रेड को समायोजित करें
- फंडिंग बफर वाले फॉर्मूले से MaxLev की गणना करें
- रिपोर्ट में दोनों आंकड़े दिखाएं: फंडिंग के बिना PnL@ML और फंडिंग सहित PnL@ML
व्यावहारिक नियम: यदि कोई रणनीति 0.03% की फंडिंग रेट (जो बुल मार्केट के दौरान 20-30% समय होती है) पर मुनाफा देना बंद कर देती है — तो वह हाई लीवरेज पर प्रोडक्शन के लिए तैयार नहीं है। लीवरेज को उस स्तर तक घटाएं जहां रणनीति सबसे खराब फंडिंग परिदृश्य में भी मुनाफे में रहे।
निष्कर्ष
फंडिंग रेट्स लीवरेज पर एक टैक्स हैं। असली टैक्स की तरह, ये छोटी रकम पर अगोचर और बड़ी रकम पर विनाशकारी होते हैं।
तीन नियम:
-
हमेशा फंडिंग को ध्यान में रखते हुए PnL@ML की गणना करें। फंडिंग के बिना का फॉर्मूला मार्केटिंग है, ट्रेडिंग नहीं। ऐतिहासिक फंडिंग रेट्स लोड करें और हर ट्रेड से वास्तविक लागत घटाएं।
-
सुरक्षित लीवरेज फॉर्मूला उपयोग करें:
- 3x फंडिंग पर टेस्ट करें। यदि रणनीति 0.03% फंडिंग (सिर्फ 0.01% नहीं) पर मुनाफे में है — तो यह मज़बूत है। यदि नहीं — तो लीवरेज घटाएं।
50-60x लीवरेज पर शानदार PnL आंकड़े एक सुखद भ्रम हैं। फंडिंग रेट्स ठंडी हकीकत हैं। इन दोनों के बीच बैकटेस्ट और असली ट्रेडिंग अकाउंट का अंतर छिपा है।
हाई लीवरेज पर ड्रॉडाउन और वोलैटिलिटी ड्रैग के गणित पर अधिक जानकारी के लिए — हमारा लेख देखें Loss-Profit Asymmetry। फंडिंग-एडजस्टेड नतीजों के लिए कॉन्फिडेंस इंटरवल कैसे प्राप्त करें — Monte Carlo Bootstrap for Backtests।
उपयोगी लिंक
- Binance — Funding Rate History
- Binance — Introduction to Funding Rates
- Bybit — Understanding Funding Rates
- Deribit Insights — The Hidden Cost of Perpetual Swaps
- Lopez de Prado — Advances in Financial Machine Learning, Chapter 14: Backtest Statistics
- 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.}
}
Authors
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.