Las Funding Rates matan tu apalancamiento: por qué PnL×50x es una ficción
Supongamos que optimizaste una estrategia. El backtest muestra PnL +55%, MaxDD -0,9%. Calculas el MaxLev: . Multiplicas: . Tres mil por ciento en dos años. Ya estás eligiendo mentalmente tu Lamborghini.
Tres meses después de salir a producción, tu capital está por debajo del punto de partida. La estrategia funciona exactamente como en el backtest — mismas entradas, mismas salidas, mismo drawdown. Pero estás perdiendo dinero. Todos los días. De forma consistente.
La razón: las funding rates. Una comisión invisible que tu backtest no tuvo en cuenta — o tuvo en cuenta de forma incorrecta.
Cómo funcionan las funding rates
En los exchanges de criptomonedas, los swaps perpetuos no tienen fecha de vencimiento. Para mantener el precio de futuros anclado al precio spot, los exchanges utilizan un mecanismo de funding — pagos periódicos entre posiciones largas y cortas.
Mecánica en Binance/Bybit:
- El funding se paga cada 8 horas (00:00, 08:00, 16:00 UTC)
- La funding rate se determina por la diferencia entre el precio de futuros y el precio spot
- Si la funding rate es positiva — los longs pagan a los shorts
- Si es negativa — los shorts pagan a los longs
- Tasa típica: por cada 8 horas (puede llegar a en condiciones extremas)
Fórmula de un pago individual:
Con apalancamiento y capital :
Por qué los backtests mienten sobre el apalancamiento
La métrica estándar MaxLev (Maximum Leverage) es el techo teórico de apalancamiento al que el drawdown no supera el nivel objetivo:
Esta fórmula no tiene en cuenta los costes que dependen del apalancamiento. A 1x de apalancamiento, la funding rate es una comisión insignificante. A 58x — es una catástrofe.
Costes lineales vs. cuadráticos
Las comisiones de trading (maker/taker) son lineales — son proporcionales al volumen operado y no dependen del apalancamiento. Las funding rates también son lineales respecto al tamaño de la posición, pero al recalcularlas por unidad de capital, crecen proporcionalmente al apalancamiento:
Con un periodo de mantenimiento días y 3 pagos al día:
Recálculo: ejemplos de estrategias considerando el funding
Como ejemplo, consideremos tres estrategias hipotéticas con distintos perfiles de riesgo. Parámetros: futuros perpetuos, periodo de prueba de 25 meses, funding rate típica de 0,01% cada 8 horas.
Resultados originales (sin funding)
| Estrategia | PnL | MaxDD | MaxLev | PnL@ML | Trades | Tiempo en mercado |
|---|---|---|---|---|---|---|
| Estrategia A | +55% | -0.9% | 55x | +3025% | ~500 | ~15% |
| Estrategia B | +25% | -0.75% | 66x | +1650% | ~40 | ~5% |
| Estrategia C | +300% | -17% | 3x | +900% | ~400 | ~45% |
Cálculo del coste de 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
Cálculos:
a_funding = funding_cost(55, 0.15, 750)
b_funding = funding_cost(66, 0.05, 750)
c_funding = funding_cost(3, 0.45, 750)
Resultados considerando el funding
| Estrategia | PnL@ML (sin funding) | Coste de funding | PnL@ML (con funding) | Estado |
|---|---|---|---|---|
| Estrategia A | +3025% | -185.6% | +2839% | Se come ~6% |
| Estrategia B | +1650% | -74.3% | +1576% | Se come ~4.5% |
| Estrategia C | +900% | -30.4% | +870% | Se come ~3% |
A primera vista esto parece tolerable: el funding se come el 3-6% del PnL@ML final. Pero esta es la funding rate promedio. Veamos qué ocurre con tasas elevadas.
La funding rate no es una constante
La funding rate típica del 0,01% es un valor mediano. En realidad, las tasas fluctúan:
| Fase del mercado | Funding rate típica | Por 8h a 55x | Por día a 55x |
|---|---|---|---|
| Mercado tranquilo | 0.005% | 0.275% | 0.825% |
| Normal | 0.01% | 0.55% | 1.65% |
| Tendencia alcista | 0.03% | 1.65% | 4.95% |
| Extremadamente alcista | 0.1% | 5.50% | 16.5% |
| Flash pump | 0.5% | 27.5% | — |
A 55x de apalancamiento durante un mercado alcista (0,03%): un día en posición larga cuesta 4,95% del capital solo en funding.
PnL por día activo vs. funding por día
Aquí el cálculo clave — retorno diario de la estrategia frente a costes diarios:
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
Con números así, el funding parece no ser crítico. Pero son promedios. El problema real está en otra parte.
El problema real: el funding durante el drawdown

Los costes de funding se acumulan de forma continua mientras la posición está abierta — incluyendo durante los periodos de drawdown. Por ejemplo: un drawdown máximo del 0,9% (Estrategia A) a 55x de apalancamiento se convierte en:
Esto ya está al borde de la liquidación. Ahora añade el funding:
Si el drawdown dura 3 días a una funding rate del 0,01%:
Total: — liquidación con el margen de mantenimiento estándar del 50%.
Fórmula de apalancamiento seguro considerando el funding
donde el Funding buffer es el funding esperado durante la duración típica del drawdown:
Esta es una ecuación recursiva (el buffer de funding depende de ). La solución:
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)
Conclusión: con la funding rate típica, el apalancamiento seguro para la Estrategia A es 50x, no 55x. Con funding elevado — 42x. La diferencia en el PnL@ML:
- Ingenuo:
- Con funding (0,01%):
- Con funding (0,03%):
Integración práctica del funding en los backtests
Tener en cuenta las funding rates en los backtests no es opcional — es una necesidad. Aquí una implementación mínima:
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
En un motor de backtesting bien construido, las funding rates se cargan y aplican automáticamente a cada trade. Esto ofrece una imagen realista — que a menudo es menos favorable de lo que uno desearía.
Rango de apalancamiento realista

Como ejemplo — cómo afecta la funding rate al apalancamiento seguro en distintos niveles de MaxDD:
| Régimen de funding | Tasa promedio | MaxLev con DD=0.9% | MaxLev con DD=17% |
|---|---|---|---|
| Bajo (0.005%) | 0.005% | 53x | 3x |
| Típico (0.01%) | 0.01% | 50x | 3x |
| Elevado (0.03%) | 0.03% | 42x | 3x |
| Alto (0.05%) | 0.05% | 36x | 2x |
Observación clave: para estrategias con bajo drawdown (Estrategia A, B), el funding reduce significativamente el apalancamiento efectivo. Para estrategias con alto drawdown (Estrategia C), el impacto del funding es mínimo — porque el apalancamiento ya está limitado a 3x.
Estrategias para minimizar el impacto del funding
1. Posiciones hedge-neutrales
La funding rate se determina por la diferencia entre el precio de futuros y el precio spot. Si tu estrategia permite hacer hedge mediante spot — el funding se neutraliza:
- Futuros largos + spot corto = 0 exposición neta al funding
- Pero: hacer short en spot en cripto es limitado (requiere cuenta de margen o préstamo)
2. Migrar a exchanges con funding más bajo
Distintos exchanges tienen distintas funding rates para el mismo activo. Monitorizar el arbitraje de funding es una estrategia aparte, descrita en detalle en el artículo Funding Rate Arbitrage Across Exchanges.
3. Sincronizar las entradas
El funding se paga en horarios fijos (00:00, 08:00, 16:00 UTC). Si un trade se cierra un minuto antes de un pago — no se cobra funding. Es una microoptimización, pero a 58x de apalancamiento, ahorrar un 0,58% al saltarse un pago es relevante.
4. Apalancamiento dinámico
En lugar de un apalancamiento fijo, usa un apalancamiento adaptativo:
Cuando el funding está elevado, el apalancamiento disminuye automáticamente, limitando los costes.
Recomendaciones para integrar el funding en el pipeline
Las funding rates deben ser una parte obligatoria del pipeline de backtesting:
- Cargar las funding rates históricas de cada símbolo
- Ajustar cada trade con el funding real durante el periodo de mantenimiento
- Calcular el MaxLev con la fórmula que incluye el buffer de funding
- En el reporte, mostrar ambas cifras: PnL@ML sin funding y con funding
Regla práctica: si una estrategia deja de ser rentable con una funding rate del 0,03% (que ocurre el 20-30% del tiempo durante un mercado alcista) — no está lista para producción con apalancamiento alto. Reduce el apalancamiento a un nivel en el que la estrategia sea rentable incluso en el peor escenario de funding.
Conclusión
Las funding rates son un impuesto sobre el apalancamiento. Como un impuesto real, son imperceptibles en cantidades pequeñas y devastadoras en cantidades grandes.
Tres reglas:
-
Calcula siempre el PnL@ML teniendo en cuenta el funding. La fórmula sin funding es marketing, no trading. Carga las funding rates históricas y resta los costes reales de cada trade.
-
Usa la fórmula del apalancamiento seguro:
- Testea con 3x el funding. Si la estrategia es rentable con un funding del 0,03% (no solo del 0,01%) — es robusta. Si no lo es — reduce el apalancamiento.
Las bonitas cifras de PnL a 50-60x de apalancamiento son una ilusión agradable. Las funding rates son la fría realidad. Entre ambas está la diferencia entre un backtest y una cuenta de trading real.
Para más información sobre las matemáticas de los drawdowns y el volatility drag con apalancamiento alto, consulta nuestro artículo Loss-Profit Asymmetry. Sobre cómo obtener intervalos de confianza para resultados ajustados por funding — Monte Carlo Bootstrap for Backtests.
Enlaces útiles
- 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
Cita
@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.