As Funding Rates matam sua alavancagem: por que PnL×50x é uma ficção
Suponha que você otimizou uma estratégia. O backtest mostra PnL +55%, MaxDD -0,9%. Você calcula o MaxLev: . Você multiplica: . Três mil por cento em dois anos. Você já está escolhendo mentalmente sua Lamborghini.
Três meses após entrar em produção, seu capital está abaixo do ponto de partida. A estratégia funciona exatamente como no backtest — mesmas entradas, mesmas saídas, mesmo drawdown. Mas você está perdendo dinheiro. Todos os dias. Consistentemente.
O motivo: as funding rates. Uma taxa invisível que seu backtest não considerou — ou considerou de forma incorreta.
Como funcionam as funding rates
Nas exchanges de criptomoedas, os swaps perpétuos não têm data de vencimento. Para manter o preço dos futuros ancorado ao preço à vista (spot), as exchanges usam um mecanismo de funding — pagamentos periódicos entre posições compradas (long) e vendidas (short).
Mecânica na Binance/Bybit:
- O funding é pago a cada 8 horas (00:00, 08:00, 16:00 UTC)
- A funding rate é determinada pela diferença entre o preço dos futuros e o preço spot
- Se a funding rate for positiva — os longs pagam aos shorts
- Se for negativa — os shorts pagam aos longs
- Taxa típica: a cada 8 horas (pode chegar a em condições extremas)
Fórmula para um único pagamento:
Com alavancagem e capital :
Por que os backtests mentem sobre a alavancagem
A métrica padrão MaxLev (Maximum Leverage) é o teto teórico de alavancagem no qual o drawdown não excede o nível-alvo:
Esta fórmula não leva em conta os custos que dependem da alavancagem. Com alavancagem de 1x, a funding rate é uma taxa insignificante. Com 58x — é uma catástrofe.
Custos lineares vs. quadráticos
As comissões de trading (taxas maker/taker) são lineares — são proporcionais ao volume negociado e não dependem da alavancagem. As funding rates também são lineares em relação ao tamanho da posição, mas ao serem recalculadas por unidade de capital, crescem proporcionalmente à alavancagem:
Com um período de manutenção de dias e 3 pagamentos por dia:
Recálculo: exemplos de estratégias considerando o funding
Como exemplo, vamos considerar três estratégias hipotéticas com diferentes perfis de risco. Parâmetros: futuros perpétuos, período de teste de 25 meses, funding rate típica de 0,01% a cada 8 horas.
Resultados originais (sem funding)
| Estratégia | PnL | MaxDD | MaxLev | PnL@ML | Trades | Tempo em mercado |
|---|---|---|---|---|---|---|
| Estratégia A | +55% | -0.9% | 55x | +3025% | ~500 | ~15% |
| Estratégia B | +25% | -0.75% | 66x | +1650% | ~40 | ~5% |
| Estratégia C | +300% | -17% | 3x | +900% | ~400 | ~45% |
Cálculo do custo 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 o funding
| Estratégia | PnL@ML (sem funding) | Custo de funding | PnL@ML (com funding) | Status |
|---|---|---|---|---|
| Estratégia A | +3025% | -185.6% | +2839% | Consome ~6% |
| Estratégia B | +1650% | -74.3% | +1576% | Consome ~4.5% |
| Estratégia C | +900% | -30.4% | +870% | Consome ~3% |
À primeira vista, isso parece tolerável: o funding consome 3-6% do PnL@ML final. Mas essa é a funding rate média. Vejamos o que acontece com taxas elevadas.
A funding rate não é uma constante
A funding rate típica de 0,01% é um valor mediano. Na realidade, as taxas flutuam:
| Fase do mercado | Funding rate típica | Por 8h a 55x | Por dia a 55x |
|---|---|---|---|
| Mercado calmo | 0.005% | 0.275% | 0.825% |
| Normal | 0.01% | 0.55% | 1.65% |
| Tendência de alta | 0.03% | 1.65% | 4.95% |
| Alta extrema | 0.1% | 5.50% | 16.5% |
| Flash pump | 0.5% | 27.5% | — |
Com alavancagem de 55x durante um mercado em alta (0,03%): um dia em posição comprada custa 4,95% do capital apenas em funding.
PnL por dia ativo vs. funding por dia
Aqui está o cálculo essencial — retorno diário da estratégia versus custos diários:
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
Com números assim, o funding parece não ser crítico. Mas esses são valores médios. O problema real está em outro lugar.
O problema real: o funding durante o drawdown

Os custos de funding se acumulam continuamente enquanto a posição estiver aberta — inclusive durante os períodos de drawdown. Por exemplo: um drawdown máximo de 0,9% (Estratégia A) com alavancagem de 55x se torna:
Isso já está no limite da liquidação. Agora adicione o funding:
Se o drawdown durar 3 dias com uma funding rate de 0,01%:
Total: — liquidação na margem de manutenção padrão de 50%.
Fórmula de alavancagem segura considerando o funding
onde o Funding buffer é o funding esperado ao longo da duração típica do drawdown:
Esta é uma equação recursiva (o buffer de funding depende de ). A solução:
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)
Conclusão: com a funding rate típica, a alavancagem segura para a Estratégia A é 50x, não 55x. Com funding elevado — 42x. A diferença no PnL@ML:
- Ingênuo:
- Com funding (0,01%):
- Com funding (0,03%):
Integração prática do funding em backtests
Considerar as funding rates em backtests não é opcional — é uma necessidade. Aqui está uma implementação 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
Em um motor de backtesting bem construído, as funding rates são carregadas e aplicadas automaticamente a cada trade. Isso fornece uma imagem realista — e ela costuma ser menos otimista do que se gostaria.
Faixa de alavancagem realista

Como exemplo — como a funding rate afeta a alavancagem segura em diferentes níveis de MaxDD:
| Regime de funding | Taxa média | MaxLev com DD=0.9% | MaxLev com DD=17% |
|---|---|---|---|
| Baixo (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 |
Observação-chave: para estratégias com baixo drawdown (Estratégia A, B), o funding reduz significativamente a alavancagem efetiva. Para estratégias com alto drawdown (Estratégia C), o impacto do funding é mínimo — porque a alavancagem já está limitada a 3x.
Estratégias para minimizar o impacto do funding
1. Posições hedge-neutras
A funding rate é determinada pela diferença entre o preço dos futuros e o preço spot. Se sua estratégia permitir hedge via spot — o funding é neutralizado:
- Futuros comprados + spot vendido = exposição líquida zero ao funding
- Mas: vender a descoberto (short) no spot em cripto é limitado (requer uma conta de margem ou empréstimo)
2. Migrar para exchanges com funding mais baixo
Diferentes exchanges têm funding rates diferentes para o mesmo ativo. Monitorar a arbitragem de funding é uma estratégia à parte, descrita em detalhes no artigo Funding Rate Arbitrage Across Exchanges.
3. Timing das entradas
O funding é pago em horários fixos (00:00, 08:00, 16:00 UTC). Se um trade fechar um minuto antes de um pagamento — o funding não é cobrado. Isso é uma micro-otimização, mas com alavancagem de 58x, economizar 0,58% ao evitar um único pagamento é significativo.
4. Alavancagem dinâmica
Em vez de uma alavancagem fixa, use uma alavancagem adaptativa:
Quando o funding está elevado, a alavancagem diminui automaticamente, limitando os custos.
Recomendações para integrar o funding no pipeline
As funding rates devem ser parte obrigatória do pipeline de backtesting:
- Carregar as funding rates históricas de cada símbolo
- Ajustar cada trade pelo funding real ao longo do período de manutenção
- Calcular o MaxLev com a fórmula que inclui o buffer de funding
- No relatório, exibir ambos os números: PnL@ML sem funding e com funding
Regra prática: se uma estratégia deixa de ser lucrativa com uma funding rate de 0,03% (o que ocorre 20-30% do tempo durante um mercado em alta) — ela não está pronta para produção com alta alavancagem. Reduza a alavancagem a um nível em que a estratégia seja lucrativa mesmo no pior cenário de funding.
Conclusão
As funding rates são um imposto sobre a alavancagem. Assim como um imposto real, são imperceptíveis em valores pequenos e devastadoras em valores grandes.
Três regras:
-
Sempre calcule o PnL@ML considerando o funding. A fórmula sem funding é marketing, não trading. Carregue as funding rates históricas e subtraia os custos reais de cada trade.
-
Use a fórmula de alavancagem segura:
- Teste com 3x o funding. Se a estratégia for lucrativa com um funding de 0,03% (não apenas 0,01%) — ela é robusta. Se não for — reduza a alavancagem.
Belos números de PnL com alavancagem de 50-60x são uma ilusão agradável. As funding rates são a fria realidade. Entre elas está a diferença entre um backtest e uma conta de trading real.
Para mais sobre a matemática de drawdowns e volatility drag em alta alavancagem, veja nosso artigo Loss-Profit Asymmetry. Sobre como obter intervalos de confiança para resultados ajustados pelo funding — Monte Carlo Bootstrap for Backtests.
Links úteis
- 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ção
@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.