29 de outubro de 2026 · backtesting

A posição curta do teu backtest estava a dar lucro. O auto-deleveraging fechou-a mesmo assim.

A posição curta do teu backtest estava a dar lucro. O auto-deleveraging fechou-a mesmo assim.

A posição curta era exatamente o que o backtest queria. O Mark tinha caído cerca de oito por cento em onze minutos. O lucro não realizado estava a aumentar. A margem de manutenção estava confortável. Depois, a exchange recomprou a posição a um preço que não tinha aparecido no lado da compra do livro, e o resto da queda aconteceu numa conta que já estava sem posição.

Essa execução é auto-deleveraging. É o que a plataforma faz quando uma posição longa liquidada ultrapassa o preço de falência, o livro de ordens não consegue absorvê-la e o fundo de seguro não consegue cobrir o défice. O motor classifica as posições curtas lucrativas e começa a fechá-las ao preço de falência do trader insolvente. A tua liquidação é um evento diferente. Este acontece quando o teu rácio de margem ainda parece perfeitamente normal.

A posição curta ainda aberta às 14:03

Margem isolada, 25×, vendeste 2 BTC de um contrato perpétuo com margem em USDT a 64,200. O Mark está em 59,100. O lucro não realizado é de 10,200 USDT. A única ordem ativa da estratégia é um stop em 65,400, para cobrir um short squeeze que ainda não chegou. O saldo da carteira continua a ser os 5,136 iniciais de margem. O capital próprio é 15,336 se contarmos o lucro em aberto, como faz a exchange.

A alavancagem efetiva já caiu de 25× para perto de 8× porque esses 10,200 passaram a fazer parte do denominador. O sinal não se importa. É uma posição curta de tendência, está a resultar, e o backtest vai manter 2 BTC independentemente do que for negociado a seguir.

As posições longas que passaram a saldo negativo

O livro não desceu gradualmente. Abriu um gap. Uma posição longa de 2 BTC, com alavancagem de 50×, aberta a 60,600, tinha cerca de 1,220 USDT de margem isolada por moeda. O capital próprio dessa conta chega a zero perto de 59,390. O motor de liquidação tenta primeiro executar contra a oferta. Numa cascata, a oferta é um rumor. A posição entra em falência: a perda excede a margem e alguém tem de pagar a diferença.

Numa tarde normal, esse alguém é o fundo de seguro. O fundo é a margem que sobra das liquidações encerradas a preços melhores do que o de falência, guardada num conjunto de ativos que nunca vês como série temporal. Não tenho o saldo privado da plataforma para essa hora, nem tu o tens no teu sistema de investigação. Vês a consequência pública. Ou o fundo absorveu a posição longa insolvente, ou começou a recorrer às posições curtas.

O fundo que devia absorver a perda

A Binance e a Bybit não aplicam um corte proporcional a todas as contas lucrativas quando o fundo falha. Classificam o lado oposto e começam a fechar posições a partir do topo da fila até cobrirem o défice. A Hyperliquid faz algo semelhante. Um backtest que trata «não foi liquidado» como «continua na posição» assumiu, sem o dizer, que o fundo é infinito.

Se o teu simulador modela o preço Mark, a margem de manutenção e uma execução de liquidação, continua a haver uma lacuna. Esse conjunto responde à pergunta «fui à falência?». O ADL responde a «alguém foi à falência através do fundo, e eu era suficientemente lucrativo para ser útil?».

Cinco luzes e 0.665

A Binance publica a classificação. A percentagem de PnL é o lucro não realizado dividido pelo nocional absoluto. A alavancagem efetiva é o nocional absoluto dividido pelo saldo da carteira mais o lucro não realizado. Se a posição for lucrativa, a pontuação é o produto desses dois valores. As posições perdedoras usam outra fórmula e ficam no fim da fila.

A nossa posição curta às 14:03: nocional 118,200, lucro 10,200, saldo da carteira 5,136. A percentagem de PnL é 8.63%. A alavancagem efetiva é 7.71×. A pontuação é 0.665.

ContaQtd. curtaCarteiraPontuaçãoLuzesO que faz o ADL
Esta posição curta2.0 BTC5,1360.6655Fecha primeiro, na totalidade
Mesma posição, carteira mais robusta2.0 BTC40,0000.2032Fica intacta nesta ronda
Posição curta de metade do tamanho0.5 BTC12,0000.1752Fica intacta nesta ronda

O vencedor com menos capital é o primeiro nome que a exchange chama. Os mesmos 2 BTC numa carteira de 40,000 teriam reduzido a alavancagem efetiva para menos de 2.5× e a pontuação para menos de 0.22. Acrescentar colateral ter-nos-ia feito descer na fila. O backtest nunca ponderou acrescentar colateral, porque a posição não tinha qualquer problema.

Antes, achava que as cinco luzinhas na posição eram decorativas, como uma luz de avaria do motor que se ignora até já se estar na autoestrada. São o único aviso e não dizem nada sobre se ainda há dinheiro no fundo. A margem cruzada também teria reduzido a nossa pontuação: a carteira inteira entra no denominador. Foi a margem isolada que nos pôs no início da fila.

A execução a 59,390

O ADL fecha os nossos 2 BTC a 59,390, o preço de falência da posição longa insolvente. Nesse momento, o Mark está em 59,100. Estamos curtos, por isso fechar significa comprar, e 59,390 é um preço de compra pior do que o Mark. O lucro realizado é de 9,620 USDT. Um segundo antes, o lucro avaliado ao Mark era 10,200. A diferença de 580 USDT é a penalização da atribuição: serviste de rede de segurança, por isso não ficas com a última cotação.

Essa execução é uma atribuição contra uma posição longa insolvente, não uma compra à melhor oferta que estavas a mostrar. Não há posição na fila, nem ordem post-only, nem possibilidade de cancelar. O tratamento das comissões depende da plataforma e costuma ser pouco favorável. O stop em 65,400 continua ativo, agora associado a uma quantidade que a conta já não tem. Tenho uma captura do apoio ao cliente em que o trader colou os dados da execução e escreveu «Não carreguei neste botão». Não tinha carregado.

25×alavancagem inicial com margem isolada
0.665pontuação de classificação do ADL
2,680 USDTqueda que a conta nunca acompanhou

Os quarenta minutos em que o backtest manteve a posição curta

O Mark continua a cair. O mínimo da hora é 58,050. Ainda com uma posição curta de 2, o backtest regista mais 2,680 USDT de lucro em aberto e um pagamento de funding numa posição que a conta de simulação não detém. A conta de simulação está sem posição. Se a estratégia seguir tendências, pode querer voltar a entrar curto a 58,050. O backtest não voltará a entrar, porque nunca saiu. A partir deste momento, os dois registos divergem na quantidade, no funding, no stop e no que o sinal da barra seguinte fizer com a «posição atual».

É ainda mais difícil reconciliar um ADL parcial. Se a posição longa insolvente tivesse sido de 1.5 BTC, a conta ficaria curta em 0.5 e o backtest continuaria curto em 2.0; todas as execuções posteriores seriam dimensionadas com base no inventário errado. E o stop continua ativo do lado da investigação, a cobrir uma quantidade fantasma.

A linha que tem de entrar no registo

Não vais conseguir obter um histórico do fundo de seguro com a mesma fidelidade do OHLCV. Ainda assim, podes recusar fingir que o fundo é infinito. Regista uma execução não solicitada com um código de motivo, um preço de falência e a quantidade restante. Na investigação, testa o risco de cauda: quando os retornos e o volume de liquidações aumentarem em simultâneo, força o fecho de uma parte das posições isoladas com maior pontuação e não lhes permitas aproveitar o resto do movimento. Compara essa curva de capital com a curva em que todas as posições curtas ativas acompanham o preço até ao mínimo da barra.

Uma posição curta que está a dar lucro é o primeiro nome que a exchange chama quando o outro lado vai à falência. Se o backtest não puder perder dessa maneira, não está a manter o mesmo contrato que a conta de simulação terá quando as luzes passarem de duas para cinco.

futuros de criptoauto-deleveragingfundo de seguropaper tradingmargem
← Todos os artigos