29 de agosto de 2026 · funding

Criaste uma estratégia que só negoceia às 00:00 UTC — uma carta sobre artefactos das horas de funding

Criaste uma estratégia que só negoceia às 00:00 UTC — uma carta sobre artefactos das horas de funding

Enviaste-me a curva de capital e o registo de operações, e perguntaste se era bom demais para ser verdade. Resposta curta: não é obviamente real nem obviamente falso, e consegues descobrir qual das hipóteses se aplica em cerca de 1 dia de trabalho. A resposta longa vem a seguir, porque o diagnóstico importa mais do que o veredicto.

O que tens: um sinal de reversão à média de 15 minutos em perps BTCUSDT e ETHUSDT na Binance, com o z-score do preço face à média de 96 barras, a operar contra os extremos e a manter posições durante 2-8 barras. O backtest cobre o período de fev. de 2024 a jun. de 2026. Sharpe de 2.9, líquido segundo o teu modelo de comissões. E quando agrupaste os lucros e perdas por minuto do dia, 71% ficaram nos 3 blocos de 15 minutos que incluem as 00:00, 08:00 e 16:00 UTC.

Já sabes porque é suspeito. Deixa-me explicar porque também não é, em parte.

O relógio do funding é real e mexe mesmo com o preço

A Binance liquida o funding dos contratos perpétuos às 00:00, 08:00 e 16:00 UTC. Todas as posições abertas no instante da liquidação pagam ou recebem. É um fluxo de caixa fixo, programado e conhecido por todos, que gera fluxo de ordens real — não é um artefacto dos dados, é algo que os traders fazem mesmo.

Esse fluxo tem um padrão. Nos 10 a 30 minutos antes da liquidação, as posições de quem não quer pagar são fechadas ou cobertas. Se o funding estiver a +0.04% no intervalo, um long que já tenciona sair fecha antes da marcação, em vez de depois, e quem negoceia a base e está short no perp mantém a posição sem problema. Isso cria uma pressão assimétrica com um prazo definido. Depois da liquidação, parte desse fluxo regressa imediatamente — os longs que evitaram o funding voltam a entrar — e ocorre uma reversão parcial.

Portanto, um sinal de reversão à média que dispara às 23:52 e fecha às 00:12 está precisamente onde ocorre um evento de liquidez previsível. Parte da tua vantagem vem provavelmente da reversão de um movimento mecânico, provocado pelo calendário. É um fenómeno real de microestrutura e tem sido real há anos.

Mas antes de acreditar num número tão elevado como o teu, há algumas coisas que gostaria de saber.

6 verificações, pela ordem em que as faria

Começa pelas mais baratas, porque a maioria destas estratégias falha na 2.ª ou na 3.ª verificação.

  1. Estás a contar o P&L do funding 2 vezes? Se o teu motor de execução aplica o funding às posições abertas e a tua série de preços usa preços de marcação em vez de preços da última transação, podes estar a pagar ou a receber funding 2 vezes — uma vez explicitamente e outra através do comportamento de convergência do preço de marcação. Imprime o fluxo de caixa bruto do funding por operação e compara 10 casos com o endpoint histórico de funding da corretora.
  2. Que timestamp acompanha o teu registo de funding? O histórico de taxas de funding da Binance devolve um fundingTime que corresponde ao instante da liquidação. Alguns fornecedores carimbam o mesmo registo com o início do intervalo a que se aplica. Se o teu estiver desfasado 8 horas, tens estado a negociar com um sinal que conhece o futuro. É a forma mais comum como já vi surgir uma falsa vantagem de funding, e produz exatamente o perfil de P&L que tens — concentrado nas barras de liquidação, com o sinal correto e um aspeto magnífico.
  3. O que acontece ao spread às 00:00:00? Vai buscar o livro de ordens, não as klines. Numa barra de 1 minuto, o spread é invisível; nos segundos em torno da liquidação, numa corretora de gama média, pode alargar 3-5 vezes. Se os teus preenchimentos forem modelados pelo preço médio ou pelo fecho, estás a capturar um spread que não estava disponível.
  4. Continua a funcionar considerando apenas as outras 2 liquidações? Separa as 3 janelas. As 00:00 UTC têm um fluxo diferente das 08:00 (perto da abertura asiática) e das 16:00 (tarde nos EUA). Se todo o lucro estiver numa das 3, tens cerca de 300 eventos, não 900, e deves recalcular o Sharpe com base nesse número.
  5. Continua a funcionar numa corretora com um horário diferente? Esta é a boa. Executa o sinal idêntico numa corretora que liquide o funding de hora a hora ou segundo outro horário. Se o efeito for provocado pelo funding, deverá acompanhar o relógio dessa corretora. Se continuar a disparar às 00:00 UTC numa corretora que não liquida às 00:00 UTC, encontraste um artefacto da meia-noite no teu pipeline de dados, não um efeito de funding.
  6. Que parte do P&L ocorre nos primeiros e últimos 90 segundos? Se toda a vantagem estiver numa janela inferior a 2 minutos, as tuas barras de 15 minutos são demasiado grosseiras para representar honestamente o preço de entrada, e deves assumir que o preenchimento que estás a modelar é o melhor disponível nessa janela, em vez daquele que obterias.

A 5.ª verificação seria a primeira que faria se só tivesse 1 hora. É uma experiência natural clara e não exige infraestrutura nova para além de uma 2.ª fonte de dados.

O custo real da janela de liquidação

Suponhamos que o efeito é real e que passas as 6 verificações. Agora calcula o custo corretamente, porque a operação que estás a modelar não é a operação que obterias.

Eis uma comparação entre uma ida e volta de 20 minutos numa hora calma e outra que atravessa uma liquidação, num perp USDⓈ-M com entrada e saída taker, para uma ordem de $50k:

Hora calma (ex.: 03:20 UTC)Atravessando as 00:00 UTC
Comissão taker, ida e volta0.09%0.09%
Spread típico pago~0.4 bp1.5-3 bp
Slippage numa ordem de $50k~0.5 bp2-6 bp
Funding pago/recebido0±1 a ±4 bp (intervalo completo)
Custo total realista~10 bp13-19 bp antes do funding

A linha do funding é a mais interessante e é por isso que insisto na 1.ª verificação. Se mantiveres a posição durante a liquidação, pagas ou recebes o intervalo de funding inteiro, independentemente do tempo que mantiveste a posição. Uma exposição de 12 segundos às 23:59:54 custa-te 8 horas completas de funding. Uma estratégia com uma duração média de 20 minutos que atravessa a marcação paga o carry de 8 horas numa operação de 20 minutos. O teu modelo de comissões tem de cobrar o valor total, não uma proporção.

Outra armadilha relacionada: se evitares por completo atravessar a liquidação — saíres às 23:58 e voltares a entrar às 00:02 — duplicas o número de comissões e passas a executar uma estratégia cuja tese é que 2 travessias taker adicionais custam menos do que 1 pagamento de funding. Por vezes é verdade. Faz as contas explicitamente, em vez de deixares o backtest decidir por ti.

A questão do regime que ainda não colocaste

A tua amostra vai de fev. de 2024 a jun. de 2026. O funding não esteve num único regime durante esse período. Houve longos períodos em que a taxa de 8 horas ficou presa no mínimo de 0.01% e ninguém tinha motivos para reposicionar-se em torno da liquidação, e houve semanas em que chegou a 0.05%+ durante vários dias e o fluxo antes da liquidação foi violento.

Agrupa o teu P&L segundo a taxa de funding em vigor no momento da operação — por exemplo, em 4 grupos com base no valor absoluto da taxa. Se a vantagem vier do fluxo de funding, deverá aumentar mais ou menos de forma monotónica com |funding|. Funding perto de zero, vantagem perto de zero; funding elevado, vantagem elevada. Se, pelo contrário, for igual em todos os grupos ou, pior ainda, estiver concentrada no grupo de funding baixo, a explicação do funding é uma narrativa que atribuíste a outra coisa.

Gosto deste teste porque é uma previsão refutável que decorre da tua própria explicação. Não perguntas «continua a funcionar?» — perguntas «funciona pela razão que aleguei?».

O que faria na prática

Se passar: reduz a escala. A versão honesta desta estratégia não são 900 operações por ano numa grelha de 15 minutos; são algumas centenas de eventos bem escolhidos, com a lógica de entrada especificada ao segundo e um modelo de preenchimento construído a partir de snapshots do livro de ordens, não de klines. É algo mais pequeno, menos elegante e mais defensável. É também a versão com hipóteses de corresponder ao paper trading, que é o único modo de descobrir se os preenchimentos que presumiste existem mesmo.

Se falhar a 2.ª verificação — o desfasamento do timestamp — não te chateies demasiado. Acontece a toda a gente pelo menos 1 vez. E vale a pena ler atentamente o teu carregador de dados, em vez de corrigires o desfasamento, porque se o funding estiver desfasado é bem possível que os juros em aberto também estejam. É melhor saberes isso antes da próxima ideia.

Mais uma coisa, e é esta parte que as pessoas ignoram. Seja qual for o resultado, anota as 6 verificações e os respetivos resultados junto à estratégia. Daqui a 6 meses, tu ou outra pessoa vão gerar um sinal estruturalmente idêntico, obter a mesma curva magnífica e repetir o mesmo debate desde o início. O diagnóstico é o ativo duradouro aqui. A estratégia talvez não seja.

taxas de fundingfuturos perpétuosbacktestingsobreajustecripto
← Todos os artigos