Comecemos pelos números, porque são eles que sustentam todo o argumento. Uma operação taker de ida e volta num grande mercado de perpétuos custa cerca de 0.10% do valor nocional em comissões. O funding de uma posição longa muito concorrida pode chegar a 10-30% anualizados contra si. Uma ordem de mercado grande face à profundidade do topo do livro paga, além do spread, um impacto que segue a lei da raiz quadrada. E um backtest que lê a versão atual dos dados de ontem obtém uma vantagem de vários pontos percentuais ao ano que nunca existiu.
O número surpreendente é o primeiro. Não por ser elevado, mas pelo efeito que tem na frequência das operações. Toda a gente concorda que é preciso «incluir as comissões» e depois testa uma estratégia que faz 40 operações por dia. A 0.10% por ida e volta, 40 operações representam 4% do valor nocional por dia em custos. Não há sinal num perpétuo de capitalização média que compense esse valor. A estratégia nem sequer estava perto de ser viável, mas o backtest sem comissões dizia que era brilhante.
As comissões são um filtro, não um corte
A maioria das pessoas imagina que as comissões fazem descer a curva: mantém-se a mesma forma, só um pouco mais baixa. Não é assim. As comissões são um filtro de frequência. Eliminam por completo as versões de alta frequência de uma vantagem e quase não afetam as versões mais lentas. Quando o nosso pipeline começou a aplicar as tabelas reais de comissões maker/taker de cada mercado, as estratégias que desapareceram não eram más ideias: eram boas ideias com operações demasiado frequentes. A solução costumava ser aumentar o horizonte temporal, não melhorar o sinal. Agora abandonamos qualquer estratégia cuja rendibilidade média por operação seja inferior a 0.15% do valor nocional, porque, depois dos custos de ida e volta, já não sobra nada para capitalizar.
O funding é um imposto sobre a posição que deixa marca
Os futuros perpétuos pagam funding de hora a hora ou de 8 em 8 horas, e não se trata de ruído: está estruturalmente correlacionado com as próprias operações que os sistemas de momentum procuram fazer. Quando toda a gente está longa, o funding é positivo e a sua posição longa de momentum paga-o. Um backtest sem contabilização do funding favorece sistematicamente o seguimento de tendências em perpétuos. Aprendemos isso da maneira embaraçosa: uma família inteira de estratégias de carry de funding foi abandonada automaticamente porque o motor não contabilizava o funding que tinham sido concebidas para captar. O sinal estava certo. Faltava a contabilidade.
O impacto aumenta com a raiz quadrada do tamanho da ordem
A ficção conveniente do backtesting baseado em barras é que a execução acontece ao preço de fecho. Para ordens pequenas, isso é aproximadamente verdade. Para ordens de dimensão relevante, o modelo aceite é que o impacto cresce com a raiz quadrada do tamanho da ordem face ao volume e não desaparece. Incorporamos uma estimativa de impacto segundo a lei da raiz quadrada em cada execução e na própria curva de capital. É mais relevante precisamente onde menos convém: na capacidade. Uma estratégia pode ser genuinamente rentável com $50k e estruturalmente não rentável com $5M; só uma curva que tenha em conta o impacto revela esse limite.
A informação futura esconde-se nos dados, não no código
Ninguém escreve if tomorrow_close > today_close: buy(). A informação futura infiltra-se na integração dos dados: sentimento noticioso datado pela hora de publicação em vez da hora de ingestão; taxas de funding associadas ao período a que dizem respeito, em vez da hora em que se tornaram conhecidas; universos de símbolos «atuais» aplicados ao histórico (viés de sobrevivência); valores económicos revistos que substituem o número que realmente foi divulgado. A nossa regra é usar dados disponíveis em cada momento: todas as séries suplementares têm uma marca temporal que indica quando nós as poderíamos ter conhecido, e o backtest só pode consultar o que existia naquele nanossegundo.
O teste de um backtest não é saber se a curva sobe. É verificar se o mesmo código, alimentado pelos mesmos sinais em produção, gera as mesmas operações — e só o descobrimos ao comparar, todos os dias, para sempre.
Essa última frase descreve um processo real, não um slogan. Todos os dias, reproduzimos no motor de backtesting o período de cada estratégia em paper trading e comparamos as operações, uma a uma. Quando o paper trading e a reprodução divergem, um deles está a mentir, e quase sempre a causa é um custo ou uma marca temporal. Os 4 itens acima são simplesmente os primeiros que nos enganaram.
← Todos os artigos

