Fazer backtest de uma estratégia em ações, forex ou futuros é aplicar o mesmo método a três dados que não se parecem: preços de ações que precisam ser ajustados, cotações de forex que pertencem só à sua corretora, contratos futuros que vencem. Este guia diz, mercado por mercado, o que o dado muda e o que a simulação deve mudar com ele, para que o backtest meça a sua estratégia, e não os defeitos da sua série de preços.
- Ações: série ajustada ou bruta conforme a sua estratégia, amostra que mantém as empresas que desapareceram, leilão de abertura e suspensões.
- Forex: sem mercado central, portanto spread e ticks próprios de cada corretora, volume que conta as mudanças de preço, swap toda noite.
- Futuros: vencimentos, uma emenda entre contratos que distorce os preços passados, um valor do tick e margens definidas pela bolsa.
- Em toda parte: regras escritas antes, custos simulados, amostra longa o bastante, teste fora da amostra.
O método está detalhado em como fazer backtest de uma estratégia sem se enganar, e a escolha entre teste à mão e teste programado em backtest manual ou automatizado. Aqui, só o que depende do mercado.
O que não muda de um mercado para outro
Seja qual for o instrumento, um backtest honesto se apoia em quatro coisas: regras escritas antes de olhar o gráfico; custos simulados, spread, comissão e slippage; uma amostra longa o bastante para atravessar vários regimes de mercado; e uma parte reservada para verificar os parâmetros onde eles não foram ajustados. Depois vem o forward test, antes de arriscar um centavo.
As opções são um caso à parte, porque o preço delas depende do tempo e da volatilidade implícita: é o tema de fazer backtest de uma estratégia de opções. O vocabulário do teste está no glossário, na entrada backtesting e replay, e as ferramentas são comparadas no guia sobre software de backtesting gratuito.
Ações: preços a ajustar e uma amostra que esquece as que desapareceram
Uma ação é uma parte de uma empresa, e a empresa vive: desdobra suas ações, paga dividendos, às vezes sai da bolsa. Cada evento deixa um rastro na série de preços, e um backtest em ações que o lê sem entendê-lo toma um evento contábil por um movimento de mercado.
Desdobramentos e dividendos: a série ajustada ou a série bruta
Quando uma empresa desdobra suas ações, o preço cai de uma vez sem que nada tenha acontecido: segundo o glossário da Nasdaq, uma ação a 100 dólares antes de um desdobramento de dois por um é cotada a 50 dólares depois, e cada acionista passa a ter o dobro de ações. Em um gráfico bruto, isso é uma queda pela metade, e uma estratégia de rompimento verá ali um sinal que nunca existiu. Os provedores de dados corrigem isso com uma série ajustada: a página de ajuda do Yahoo Finance sobre o fechamento ajustado o define como o preço de fechamento após o ajuste de todos os desdobramentos e distribuições de dividendos, com os dados anteriores ao evento multiplicados por um fator. Um dividendo produz o mesmo efeito em menor escala.
Qual série escolher? A que a sua estratégia lê. Regras baseadas em níveis de preço se testam na série bruta, porque foi ela que o mercado viu; regras baseadas em retornos ou em indicadores, na série ajustada, senão cada desdobramento fabrica um sinal falso. O motor LEAN nomeia as duas em seu código-fonte: no modo bruto, dividendos pagos em dinheiro e desdobramentos aplicados à quantidade da carteira; no modo ajustado, desdobramentos e dividendos incorporados retroativamente ao preço. Um software de backtesting que não diz qual delas está servindo deixa você adivinhar metade do seu resultado.
O viés de sobrevivência: as empresas deslistadas faltam na base
A segunda armadilha está no que já não aparece no gráfico. Se você testa nas ações que compõem um índice hoje, testa em empresas que sobreviveram até hoje: as que faliram ou foram deslistadas não estão mais na lista, e suas perdas também não. O fenômeno alcança até as bases de referência: em “The Delisting Bias in CRSP Data”, publicado em 1997 no Journal of Finance, Tyler Shumway mostra que a base do Center for Research in Security Prices sobre as ações americanas não tem o retorno de deslistagem correto para a maioria dos papéis retirados por falência ou outro motivo negativo desde 1962, e que os retornos omitidos são grandes.
O remédio: testar com a composição do índice em cada data, não com a composição atual, e manter os papéis deslistados com o último preço deles. Senão, leia seus resultados como um limite superior.
Horários, leilão de abertura e suspensões
Uma ação tem um pregão. Segundo a página de horários da Bolsa de Nova York, a sessão principal vai das 9h30 às 16h, horário de Nova York, abre e fecha com um leilão, e em alguns dias fecha às 13h. O primeiro preço do dia é, portanto, o resultado de um leilão, e uma ordem enviada “na abertura” recebe esse preço, não o fechamento da véspera. Um teste em dados diários que compra “no fechamento do sinal” age com uma informação conhecida só às 16h: é uma leitura antecipada, e ela favorece o resultado.
Uma ação também pode ser suspensa. A lista de códigos de suspensão da Nasdaq distingue, entre outros, a suspensão à espera de um anúncio (T1), a pausa por volatilidade (LUDP) e a suspensão decidida pela SEC (H10). Durante uma suspensão não há preço, logo não há stop executável: um backtest executa ali um stop a um preço que não existiu para ninguém.
Forex: os dados da sua corretora, não os do mercado
O forex não tem bolsa. Segundo a pesquisa trienal do Banco de Compensações Internacionais, a negociação nos mercados de câmbio de balcão chegou a 7,5 trilhões de dólares por dia em abril de 2022, e cada corretora serve nele as próprias cotações. Não existem, portanto, “os dados do EUR/USD”: existem os da sua corretora, e um teste feito com os de outra não prova nada sobre o que a sua conta teria vivido.
Spread e ticks próprios de cada corretora
O modo “cada tick baseado em ticks reais” do testador do MetaTrader 5 testa, segundo a documentação do Strategy Tester do MetaTrader 5, sobre os ticks reais acumulados pelas corretoras. No cTrader, a página de ajuda sobre o backtest de um cBot apresenta os ticks do servidor como a fonte mais precisa, e deixa definir o spread em um valor fixo, no valor do momento, ou ao acaso entre um mínimo e um máximo. Um backtester de forex regulado em um spread fixo e estreito testa uma versão do mercado que só existe nas horas calmas e superestima toda estratégia de curto prazo; o valor honesto é o spread médio da sua corretora nas horas em que você opera. O software não falta, o Strategy Tester vem com o MetaTrader; o que falta são os ticks reais da sua corretora.
Um volume que conta as mudanças de preço
O volume do forex não é um volume. A documentação do indicador Volumes do MetaTrader 5 diz isso: para o mercado de câmbio, o indicador mede o número de mudanças de preço em cada período, enquanto para as ações mede os volumes realmente negociados. Uma estratégia de forex que filtra as entradas pelo volume testa, portanto, a atividade do servidor da sua corretora: não vai se transferir tal e qual para outra.
O swap noturno
Manter uma posição de forex de um dia para o outro custa ou rende um swap, ligado à diferença de juros entre as duas moedas e definido pela corretora. A ficha de especificação de contratos do MetaTrader 4 define o swap long e o swap short como o tamanho da rolagem para uma posição comprada ou vendida, e a documentação MQL5 das propriedades de símbolo prevê um dia da semana em que um swap de três dias é cobrado, para cobrir o fim de semana. Ao longo de várias noites, ele pode comer a expectativa de um par com grande diferença de juros. Um backtest de forex de vários dias que o ignora não está errado, está incompleto, e sempre no sentido que convém a você.
Futuros: contratos que vencem, e uma série que precisa ser emendada
Um contrato futuro tem uma data. O S&P 500 de março não é o de junho: dois instrumentos cotados a preços diferentes, e o primeiro deixa de existir no vencimento. A lição sobre os contratos futuros dá a base; para o backtest, dez anos de teste atravessam quarenta vencimentos trimestrais.
Vencimentos, mês mais próximo e rolagem
O glossário da CFTC, o regulador americano dos mercados futuros, chama de “front month” o vencimento mais próximo e de “back months” os vencimentos mais distantes; ele define o rollover como encerrar uma posição no vencimento próximo para restabelecê-la em um vencimento mais distante. Em uma conta real, a rolagem é um trade: você fecha março, abre junho, paga duas vezes os custos e a diferença de preço entre os dois contratos. Em um backtest, é preciso decidir quando ela acontece e como aparece na série.
O contrato contínuo: três formas de emendar, três séries diferentes
Para testar ao longo de anos, as plataformas constroem um contrato contínuo, uma única série que encadeia os vencimentos. Na troca, o novo contrato não é cotado ao preço do antigo, e essa diferença não é um movimento de mercado. O guia do NinjaTrader 8 sobre a política de fusão descreve três respostas: “MergeBackAdjusted”, em que um deslocamento alinha os preços históricos ao contrato seguinte; “MergeNonBackAdjusted”, em que os dados ficam brutos; e “DoNotMerge”, que carrega só o vencimento escolhido. O código-fonte do LEAN nomeia os mesmos métodos de outro jeito: “BackwardsPanamaCanal” soma a cada emenda um fator igual à diferença de preço entre os dois contratos, “BackwardsRatio” multiplica os preços pela razão entre eles, e a data da emenda se escolhe no último dia de negociação, no primeiro dia do mês de entrega, ou quando o contrato seguinte tem mais contratos em aberto do que o contrato atual.
Consequências: a série ajustada por diferença mantém as distâncias em pontos, mas seus preços antigos nunca foram cotados; a série ajustada por razão mantém os retornos em porcentagem, mas distorce as distâncias em pontos; a série bruta fabrica um gap falso a cada vencimento, que a sua estratégia vai tomar por um rompimento. Uma estratégia em níveis de preço absolutos não se testa, portanto, em uma série ajustada, e antes de ler um resultado, pergunte ao seu software qual delas ele serviu e em que data fez a rolagem.
Tick, valor do ponto e margens
O glossário da CFTC define a flutuação mínima de preço, o tick, como o menor incremento de movimento possível para um dado contrato, e o tamanho do contrato como a quantidade real de mercadoria que ele representa: cada futuro tem seu tick, e cada tick o seu valor em dinheiro. Um backtest de futuros que conta seus ganhos em pontos sem convertê-los com o valor do tick do contrato testado compara coisas que não têm a mesma unidade. O tamanho da posição também não se calcula como em ações: segundo o mesmo glossário, a margem inicial é o valor exigido pela corretora na abertura de uma posição e a margem de manutenção o que deve permanecer depositado. A alavancagem de um futuro é, portanto, definida pela margem: uma simulação que assume posições que a sua margem não teria permitido testa uma conta que você não tem.
A tabela comparativa
| Ações | Forex | Futures | |
|---|---|---|---|
| O dado | Preço bruto ou ajustado; composição do índice datada | Cotações e ticks da corretora, nenhum preço oficial | Um contrato por vencimento; contrato contínuo emendado por diferença, por razão ou bruto |
| O volume | Volume realmente negociado | Volume tick: mudanças de preço na corretora | Volume e contratos em aberto |
| Os custos a simular | Comissão, spread, slippage | Spread flutuante da corretora, comissão, swap | Comissão por contrato, slippage em ticks, custos da rolagem |
| A armadilha principal | Viés de sobrevivência, série não ajustada | Spread fixo, dados de outra corretora | Emenda dos contratos, alavancagem além da margem |
E a Tradoshi nisso tudo
A Tradoshi tem seu próprio módulo de backtesting, em beta: ele reproduz o histórico vela a vela sem mostrar o que vem depois, simula suas ordens com spread, slippage e comissões, e pontua cada sessão com as mesmas estatísticas do seu diário. Seja qual for o mercado, o diário assume em seguida: seus trades reais dão as estatísticas que o seu backtest prometia. O módulo é apresentado na página de backtesting.
Perguntas frequentes
Deve-se fazer backtest de ações com preços ajustados ou brutos?
Depende do que a sua estratégia lê: retornos ou indicadores, a série ajustada, senão cada desdobramento cria um sinal falso; níveis de preço absolutos, a série bruta, porque foi ela que o mercado viu.
O que é o viés de sobrevivência em um backtest de ações?
É testar com as empresas que ainda existem, sem as que faliram ou foram deslistadas. Shumway mostrou em 1997 que até a base CRSP não tinha o retorno de deslistagem da maioria dos papéis retirados por motivo negativo. O remédio: a composição do índice em cada data, papéis deslistados incluídos.
Por que um backtest de forex dá resultados diferentes de uma corretora para outra?
Porque o forex não tem mercado central: cada corretora serve as próprias cotações, o próprio spread e os próprios ticks. Teste com os dados da corretora com a qual você vai operar, com o spread médio dela nas horas em que você opera.
Como fazer backtest de futuros ao longo de vários anos?
Com um contrato contínuo, sabendo como ele é emendado, por diferença, por razão ou deixado bruto, e em que data a rolagem acontece. Depois, converta os ticks em dinheiro com o valor do tick, e respeite a margem.
Dá para fazer backtest de graça em ações, forex e futuros?
Sim, nos três: as plataformas das corretoras integram seu testador, e a NinjaTrader escreve em sua página de preços que sua plataforma é gratuita para backtesting e simulação. O que raramente é grátis é o dado fino: ticks reais, históricos intraday profundos, composição do índice datada, contratos contínuos bem emendados. O detalhe está no guia sobre software de backtesting gratuito.
