Dados de tick do forex para backtesting: fontes, verificações de qualidade e armadilhas Sábado, 31 de Outubro de 2026 – Posted in: Arbitrage Software, Forex trading
Dados de tick do forex para backtesting: fontes, verificações de qualidade e armadilhas
Um backtest só pode ser tão honesto quanto os preços que você fornece a ele. Para scalping, arbitragem e qualquer estratégia que vive dentro de poucos pips, barras de um minuto não bastam: você precisa da sequência real de cotações bid e ask. Este guia explica de onde vêm os dados de tick do forex, por que dois conjuntos de dados do mesmo par nunca coincidem, quais verificações de qualidade fazer antes de confiar em um resultado e como transformar ticks brutos em um teste que se pareça com a negociação real.
- O que são dados de tick do forex
- Dados de tick vs dados de barras: o que a interpolação esconde
- De onde vêm os dados de tick do forex
- O feed da sua corretora vs um feed de referência
- Timestamps, fusos horários e horário de verão
- Verificações de qualidade antes de confiar em um conjunto de dados
- Passo a passo: preparando dados de tick para um backtest
- Spread variável: o custo que um spread fixo esconde
- Quanto a premissa sobre os dados muda o resultado
- Ticks são necessários, mas não suficientes: tempo de execução
- Armazenamento, formatos e manuseio
- Armadilhas comuns
- Perguntas frequentes
O que são dados de tick do forex
Resposta curta: dados de tick do forex são o registro de cada mudança de cotação em um par de moedas: um timestamp (geralmente em milissegundos), o preço bid, o preço ask e, às vezes, o volume cotado de cada lado. Ao contrário dos dados de barras, que guardam apenas a abertura, a máxima, a mínima e o fechamento de cada período, os dados de tick preservam a ordem, o momento e o spread de cada atualização de preço, que é exatamente o que uma estratégia de curto prazo negocia.
Uma linha típica tem esta aparência:
Isso é o horário, o bid, o ask e o volume disponível no bid e no ask (em milhões, se a fonte fornecer). O spread neste tick é de 0.7 pips. Um segundo depois pode haver mais cinco linhas, ou nenhuma.
Há uma coisa que você precisa entender antes de tudo: o mercado forex à vista não tem uma fita central. Ações e futuros têm uma bolsa que publica a sequência oficial de negócios. O forex é negociado no mercado de balcão entre muitos bancos, ECNs e corretoras, e cada um deles transmite suas próprias cotações. Por isso, todo conjunto de dados de tick do forex é a visão do mercado de um único local de execução ou de um único agregador. Duas fontes podem divergir em uma fração de pip e em dezenas de milissegundos no mesmo instante, e ambas podem estar corretas para o seu próprio local.
Esse fato orienta a maior parte deste guia. “Estes dados de tick são precisos?” é a pergunta errada. As perguntas úteis são: precisos para qual local de execução, registrados como e limpos como?
Ticks de cotação vs ticks de negócios
A maioria dos conjuntos de dados de forex é composta por ticks de cotação: mudanças do melhor bid ou do melhor ask. Eles não são negócios. Uma cotação pode mudar dez vezes sem um único negócio, e um negócio grande pode nem alterar o topo do livro. Alguns dados de FX baseados em futuros ou negociados em bolsa contêm ticks de negócios (último preço e tamanho), mas para backtesting de forex à vista você quer cotações bid e ask, porque é contra elas que suas ordens serão executadas: compras no ask, vendas no bid.
Dados de tick vs dados de barras: o que a interpolação esconde
Muitas ferramentas de backtesting que afirmam testar “todos os ticks” não usam ticks registrados. Elas pegam barras de um minuto e geram ticks sintéticos dentro de cada barra, normalmente um caminho suave da abertura até a máxima e a mínima e depois até o fechamento. O resultado parece dados de tick, mas não contém nenhuma informação que a barra já não tivesse.

Veja por que isso importa. Considere uma barra de um minuto de EUR/USD: abertura 1.08500, máxima 1.08540, mínima 1.08480, fechamento 1.08520. Uma posição comprada está aberta com take-profit em 1.08530 e stop-loss em 1.08485. Os dois níveis estão dentro da barra. A operação ganhou ou perdeu?
- Se a mínima veio primeiro, o stop foi atingido em 1.08485 e a operação perdeu 1.5 pips.
- Se a máxima veio primeiro, o take-profit foi atingido em 1.08530 e a operação ganhou 3 pips.
A barra não consegue dizer. O gerador escolhe uma ordem (muitas vezes por uma regra fixa, como “uma barra de alta vai primeiro à mínima”), e o backtest informa um resultado confiante que é, em parte, um cara ou coroa. Para uma estratégia de swing com alvo de 100 pips isso raramente importa. Para uma estratégia cujos alvos e stops ficam a poucos pips da entrada, isso decide uma grande parte das operações.
A interpolação também apaga três coisas que os ticks registrados preservam:
| O que a estratégia precisa | Ticks registrados | Ticks gerados a partir de barras |
|---|---|---|
| Ordem da máxima e da mínima dentro de um minuto | Exata | Adivinhada por uma regra |
| Saltos de preço (um movimento de 1.5 pip em uma única cotação) | Presentes | Suavizados em pequenos passos |
| Spread em cada cotação | Presente (bid e ask) | Normalmente um spread fixo ou um valor por barra |
| Intervalo entre cotações (segundos calmos vs agitados) | Presente | Espaçado de forma uniforme ou inventado |
| Atividade de cotações em torno de notícias e do rollover | Presente | Perdida |
Os saltos são o ponto crítico para a arbitragem de latência: o sinal é o salto. Um caminho sintético que vai de 1.08500 a 1.08515 em quinze pequenos passos não produz sinal nenhum, então uma estratégia que operaria ao vivo parece morta no teste, ou uma estratégia que compra recuos parece melhor do que realmente é.
De onde vêm os dados de tick do forex
Existem cinco fontes realistas. Elas diferem em custo, profundidade e, principalmente, em quão próximas estão dos preços que você realmente vai negociar.
| Fonte | O que você obtém | Pontos fortes | Limitações |
|---|---|---|---|
| Sua própria gravação (pela API da corretora ou sessão FIX) | Cada cotação que sua conta recebeu, com o seu horário local de recebimento | Correspondência exata com o seu local de execução; você controla os timestamps e o formato | Começa apenas quando você começa a gravar; exige uma máquina estável; lacunas se a conexão cair |
| Download do histórico da corretora | Bid/ask histórico do próprio feed da corretora | Próximo do seu local de execução; muitas vezes anos de histórico | A qualidade varia; algumas corretoras reduzem ou filtram ticks antigos; os timestamps podem estar no horário do servidor |
| Arquivos públicos gratuitos (oferecidos por algumas corretoras ECN e agregadores, por exemplo Dukascopy, TrueFX, HistData.com) | Ticks bid/ask dos principais pares, muitas vezes desde os anos 2000 | Gratuitos, histórico longo, bons para pesquisa e testes de robustez | A visão de um local ou agregador, não a sua; spreads e frequência de cotações diferem dos da sua corretora; verifique a convenção de fuso horário de cada fonte |
| Fornecedores comerciais de dados | Histórico de ticks limpo, normalizado e de vários locais | Metodologia documentada, formatos consistentes, suporte | Caros; ainda assim não é o feed da sua corretora |
| Feeds de referência / rápidos (por exemplo, histórico de ticks do BJF Feed a partir dos nós de Londres, Tóquio e Nova York) | Um fluxo de preços de referência rápido e independente | Necessários para testar estratégias que comparam um feed lento com um rápido | Precisam ser combinados com os ticks da própria corretora em testes de arbitragem |
A regra prática: use o histórico limpo mais longo que conseguir para pesquisa e os dados mais próximos do seu local de execução para a decisão final. Uma estratégia que só funciona em um arquivo gratuito e falha nos ticks registrados da sua corretora não funciona. Uma estratégia que se sustenta em ambos, com custos realistas, passou por um teste significativo.
Se você pretende rodar uma estratégia por meses, comece a gravar os ticks da sua corretora hoje, mesmo antes de a estratégia estar pronta. Três meses do seu próprio feed valem mais para a verificação final do que dez anos do feed de outra pessoa.
O feed da sua corretora vs um feed de referência
Como cada local transmite suas próprias cotações, o mesmo instante parece um pouco diferente visto de lugares diferentes. As diferenças têm uma estrutura:
- Diferença de preço. Os preços médios normalmente concordam dentro de uma fração de pip nos horários líquidos e se afastam em mercados finos, no rollover e em torno de notícias.
- Diferença de tempo. Uma corretora que agrega preços de provedores de liquidez, aplica sua própria margem e executa verificações de risco frequentemente mostra um movimento mais tarde do que um feed de referência rápido. O atraso pode ser de alguns milissegundos ou de várias centenas.
- Frequência de cotações. Alguns feeds enviam cada mudança, outros limitam a taxa (por exemplo, no máximo uma atualização a cada 100 ms por símbolo). Um feed limitado tem menos ticks e saltos maiores.
- Perfil de spread. Um feed ECN bruto e um feed de varejo com margem podem diferir em um pip inteiro no spread médio e muito mais no rollover.

Para a maioria das estratégias, isso significa que você deve testar no feed em que vai operar. Para a arbitragem de latência significa algo mais forte: a vantagem da estratégia é a diferença entre dois feeds, então você precisa dos dois fluxos, registrados com timestamps do mesmo relógio. Testar uma estratégia de arbitragem com os ticks de um único fornecedor não tem sentido. Descrevemos como comparar feeds tick a tick em nosso artigo sobre comparação de ticks na arbitragem de forex e HFT, e por que o lado de referência precisa ser rápido no guia sobre feeds de dados rápidos para arbitragem.
Timestamps, fusos horários e horário de verão
Problemas de timestamp causam mais erros silenciosos em backtests do que preços ruins. Quatro coisas para verificar:
1. Em qual fuso horário estão os dados?
As convenções comuns são UTC/GMT, horário do leste dos EUA (com ou sem horário de verão) e o “horário do servidor” da corretora, que muitas corretoras definem como GMT+2 no inverno e GMT+3 no verão para que o dia de negociação feche às 17:00 no horário de Nova York. Se a sua estratégia diz “operar a abertura de Londres às 08:00”, uma diferença de uma hora significa que ela opera em outro regime de mercado.
2. O horário de verão é aplicado, e de quem?
A Europa e os Estados Unidos mudam os relógios em datas diferentes. Durante cerca de três semanas em março e uma semana entre o fim de outubro e o início de novembro, a diferença entre Londres e Nova York é de quatro horas em vez de cinco. Um conjunto de dados convertido com a regra errada desloca a lógica baseada em sessões em uma hora durante essas semanas. O erro é pequeno, sazonal e muito difícil de perceber em uma curva de capital.
3. Onde o timestamp foi registrado?
Um tick pode trazer o horário em que o local gerou a cotação, o horário em que ela saiu do servidor do local ou o horário em que a sua máquina a recebeu. Para uma estratégia de tendência a diferença não importa. Para estratégias sensíveis à latência, essa é a questão central: dois feeds só podem ser comparados se ambos forem marcados no mesmo relógio, idealmente o seu próprio horário de recebimento sincronizado com NTP ou PTP.
4. Resolução e ordenação
Timestamps com resolução de segundos não bastam para o trabalho de curto prazo: dezenas de cotações podem compartilhar o mesmo segundo, e sua ordem dentro dele pode se perder após uma ordenação. Use resolução de milissegundos (ou mais fina) e mantenha a ordem original do arquivo como critério de desempate.
Verificações de qualidade antes de confiar em um conjunto de dados
Dados de tick brutos sempre contêm erros. O objetivo não é a perfeição, mas saber o que há nos dados e remover o que distorceria o teste. Estas são as verificações que fazemos em qualquer novo conjunto de dados antes de usá-lo em uma otimização:
| Verificação | O que procurar | Ação típica |
|---|---|---|
| Tempo monotônico | Timestamps que voltam no tempo | Reordenar apenas se a causa for conhecida; caso contrário, sinalizar o arquivo |
| Duplicatas | Linhas idênticas (mesmo horário, bid, ask) | Remover duplicatas exatas; manter preços repetidos com horários diferentes |
| Spread cruzado ou zero | Ask ≤ bid | Remover; casos frequentes indicam uma fonte defeituosa ou feeds mesclados |
| Spread anormal | Spread acima de, digamos, 10× a mediana horária fora de eventos conhecidos | Sinalizar; manter se coincidir com rollover ou notícias, remover se for isolado |
| Picos de preço | Um salto do preço médio de muitas vezes a volatilidade recente que se reverte em poucos ticks | Remover picos isolados; nunca filtrar movimentos reais de notícias |
| Lacunas | Nenhum tick por mais de 60 segundos em horários líquidos | Mapear as lacunas; excluir esses períodos do teste ou marcar as operações dentro deles |
| Cotações paradas | O mesmo bid/ask repetido por minutos enquanto outras fontes se movem | Tratar como lacuna |
| Ticks de fim de semana e feriados | Cotações entre o fechamento de sexta-feira e a abertura de domingo | Remover, ou verificar o fuso horário se uma hora inteira aparecer ali |
| Densidade de ticks | Ticks por hora comparados com a mesma hora em outros dias | Uma queda repentina sugere limitação de taxa ou um problema de gravação |
| Escala de preço e dígitos | Cotações de 4 vs 5 dígitos, pares com JPY com 3 casas decimais | Normalizar antes de mesclar fontes |
Uma regra simples e robusta para picos: calcule o desvio absoluto mediano (MAD) móvel das variações do preço médio nos últimos 200 ticks; sinalize qualquer tick cuja variação exceda cerca de 15× o MAD e seja revertida em grande parte nos três ticks seguintes. Um movimento real de notícia não se reverte em três ticks; uma cotação errada normalmente sim. Ajuste os limites para cada par e examine o que você remove, porque um filtro agressivo demais apaga exatamente os movimentos de que uma estratégia de arbitragem ou de notícias precisa.
Passo a passo: preparando dados de tick para um backtest

Spread variável: o custo que um spread fixo esconde
Muitos testes usam um único valor de spread, por exemplo 0.8 pips para EUR/USD. Os spreads reais mudam o dia todo: estreitos na sobreposição de Londres e Nova York, mais largos na sessão asiática, com vários pips de largura por alguns minutos em torno do rollover diário e de grandes divulgações. As causas são explicadas em nosso guia sobre por que os spreads do forex se alargam.
Um spread fixo está errado de forma sistemática, porque as estratégias não operam em horários aleatórios. Uma estratégia de rompimento tende a disparar quando a volatilidade sobe, que é exatamente quando os spreads se alargam. Uma estratégia de reversão à média que opera a calma sessão asiática encontra spreads acima da média diária. Com ticks bid/ask registrados, cada operação paga o spread que realmente estava cotado naquele momento.
Exemplo prático (números ilustrativos). Uma estratégia de scalping faz 400 operações completas por mês em EUR/USD com 1 lote padrão (cerca de $10 por pip).
O valor de 1.1 pip é um exemplo para mostrar o mecanismo, não um valor medido de nenhuma corretora. Meça nos dados de tick o spread médio que as operações da sua estratégia realmente encontram.
Quanto a premissa sobre os dados muda o resultado
Para mostrar o efeito de cada premissa, o gráfico abaixo usa uma estratégia hipotética de curto prazo e muda apenas os dados e o modelo de execução. Os números são ilustrativos, construídos para refletir a direção e o tamanho aproximado dos efeitos que vemos rotineiramente ao passar de testes baseados em barras para testes baseados em ticks com execução realista. Eles não são os resultados de uma estratégia específica.

O que importa é o padrão. Cada premissa realista remove parte da vantagem, e a última etapa, o tempo de execução, muitas vezes remove a maior parte nas estratégias de curto prazo. Se uma estratégia sobrevive às quatro etapas com resultado positivo e um número sensato de operações, ela merece um pequeno teste ao vivo. Se ela só parece boa na primeira coluna, a vantagem pertence ao modelo de dados, não ao mercado.
Ticks são necessários, mas não suficientes: tempo de execução
Mesmo um conjunto de dados de tick perfeito produz um teste otimista se cada ordem for executada ao preço do tick que a disparou. Ao vivo, sempre há um atraso entre a decisão e a execução: sua plataforma, a rede, o processamento da corretora. Durante esse atraso o mercado segue em frente. Em um dia calmo o efeito é uma fração de pip; em um movimento rápido é a diferença entre uma operação vencedora e uma perdedora.
O modelo correto avança pelo fluxo de ticks de acordo com a parte de requisição do seu tempo de execução e executa no bid ou ask que estava cotado nesse momento posterior. Isso produz slippage realista, positivo e negativo, sem adivinhar um número de slippage. Explicamos esse modelo, os quatro componentes da latência e um exemplo prático no artigo sobre a lacuna do tempo de execução em backtests de arbitragem de latência, e como medir o slippage em execuções reais em slippage no forex explicado.
Essa também é a resposta mais comum à pergunta “por que meus resultados ao vivo diferem do backtest?” Os dados estavam corretos; o modelo de execução supôs atraso zero. Uma boa regra prática é testar com o seu tempo de execução medido e novamente com 1.5 a 2 vezes esse valor. Uma estratégia que desmorona no valor mais alto é frágil.
Armazenamento, formatos e manuseio
Dados de tick são volumosos, e o formato escolhido afeta tanto o espaço em disco quanto a velocidade com que um otimizador consegue reproduzi-los. Uma estimativa aproximada para um par principal ativo:
Estimativas de ordem de grandeza. Formatos colunares comprimidos normalmente reduzem os arquivos de ticks várias vezes mais.
- Armazene preços como inteiros em pontos (1.08512 → 108512). Isso evita arredondamentos de ponto flutuante ao comparar preços e reduz o tamanho pela metade.
- Particione por símbolo e por dia. Um arquivo por símbolo por dia torna simples as verificações de lacunas, os recarregamentos parciais e a otimização em paralelo.
- Mantenha os arquivos brutos intactos. Faça a limpeza em um conjunto de dados separado e guarde o registro da limpeza, para poder reproduzir qualquer resultado.
- Use CSV para intercâmbio. Um formato simples com timestamp, bid e ask é o que a maioria das ferramentas importa. O SharpTrader Optimizer, por exemplo, aceita seus próprios dados de tick em CSV com timestamp, bid e ask.
Armadilhas comuns
- Chamar barras interpoladas de “dados de tick”. Verifique se a sua ferramenta reproduz cotações registradas ou as gera a partir de barras.
- Testar com preços médios. Um conjunto de dados apenas com preço médio ignora totalmente o spread; os custos precisam vir do bid e do ask.
- Misturar fontes em um único teste. Juntar arquivos de dois fornecedores cria saltos artificiais na emenda e regimes de spread diferentes em um mesmo período.
- Ignorar o fuso horário e o horário de verão. Os filtros de sessão e a lógica do rollover diário se deslocam silenciosamente.
- Preencher lacunas com preços inventados. Uma estratégia pode “operar” durante uma interrupção que nunca teve cotações reais. Exclua as lacunas em vez disso.
- Limpeza excessiva. Apagar todo movimento grande remove os picos de notícias e os saltos que algumas estratégias são feitas para operar.
- Execuções com latência zero. Execuções perfeitas no tick do sinal fazem quase qualquer estratégia de curto prazo parecer lucrativa.
- Otimizar com todos os dados. Sem um período fora da amostra e verificações walk-forward, uma grade grande de parâmetros encontrará uma curva que se ajusta ao passado e a nada mais.
Dados de tick no SharpTrader Optimizer
Construímos o SharpTrader Optimizer em torno dos pontos deste guia. Ele reproduz ticks bid/ask históricos reais em vez de barras interpoladas, obtém o spread de cada tick e permite definir o tempo de execução das suas ordens em milissegundos, para que cada execução venha do fluxo de ticks após esse atraso. Você pode usar o histórico de ticks do BJF Feed registrado nos nós de Londres, Tóquio e Nova York, ou importar os ticks da sua própria corretora em CSV. As grades de parâmetros rodam em todos os núcleos da CPU, o que faz diferença quando um ano de um único par equivale a dezenas de milhões de ticks.
Se você já tem uma estratégia própria, o artigo sobre testar o seu próprio robô no SharpTrader mostra o fluxo de trabalho completo, do código à otimização em nível de tick.
Teste com os ticks que sua estratégia realmente vai encontrar
Ticks bid/ask reais, spread variável em cada cotação e o tempo de execução da sua corretora em milissegundos: os três dados de entrada que decidem se uma estratégia de curto prazo sobrevive à negociação ao vivo.
Conheça o SharpTrader OptimizerLeia: a lacuna do tempo de execução
Scanner de arbitragem grátis + curso curto por e-mail
Receba o link do scanner grátis e alguns e-mails curtos e práticos do Boris: o que uma diferença de preço realmente significa depois dos custos, como testar uma estratégia antes de arriscar dinheiro real e quais ferramentas combinam com o seu mercado. Sem exageros. Os e-mails são enviados em inglês.
Perguntas frequentes
O que são dados de tick do forex?
Dados de tick do forex são o registro de cada mudança de cotação em um par de moedas, com um timestamp, o preço bid, o preço ask e, às vezes, o volume cotado. Eles preservam a ordem exata, o momento e o spread das atualizações de preço, que os dados de barras perdem.
Onde posso obter dados de tick do forex gratuitos?
Algumas corretoras ECN e agregadores publicam gratuitamente ticks bid/ask históricos dos principais pares, e muitas corretoras permitem baixar o próprio histórico. Arquivos gratuitos são úteis para pesquisa, mas mostram os preços de um único local, então confirme o resultado final com os ticks registrados da sua própria corretora.
Dados de tick são melhores do que dados de 1 minuto para backtesting?
Para estratégias com alvos e stops a poucos pips, scalping, operações com notícias e arbitragem, sim: barras de um minuto escondem a ordem da máxima e da mínima, os saltos de preço e o spread real. Para estratégias de swing com stops amplos, dados limpos de um minuto com um spread realista costumam ser suficientes.
Por que obtenho resultados de backtest diferentes com duas fontes de dados?
O forex à vista não tem uma fita central, então cada fonte é a visão de um local diferente. Spreads, frequência de cotações, fusos horários, tratamento do horário de verão e regras de limpeza, tudo difere. Compare os preços e spreads por hora entre os dois conjuntos de dados para encontrar a causa e confie na fonte mais próxima do seu local de execução.
Quanto espaço de armazenamento um ano de dados de tick do forex exige?
Para um par principal ativo, aproximadamente dezenas de milhões de ticks por ano: cerca de 2 GB como texto CSV ou em torno de 0.6 GB em um formato binário compacto antes da compressão. Vários pares ao longo de vários anos chegam rapidamente a dezenas de gigabytes.
Por que meu backtest com dados de tick mostra execuções perfeitas?
Porque o teste executa cada ordem no tick que gerou o sinal. Ordens reais levam tempo para chegar à corretora, e o preço se move nesse intervalo. Modele o tempo de execução avançando no fluxo de ticks e executando no bid ou ask posterior, e teste com 1.5 a 2 vezes o atraso que você mediu.
Preciso de bid e ask, ou o preço médio é suficiente?
Você precisa dos dois. Compras são executadas no ask e vendas no bid, então o spread é um custo real em cada operação. Um conjunto de dados apenas com preço médio remove esse custo e faz as estratégias de curto prazo parecerem melhores do que são.
Este artigo tem caráter educativo e não constitui aconselhamento financeiro. Exemplos, gráficos e números marcados como ilustrativos não são medições de nenhuma corretora ou estratégia específica; fontes de dados, convenções e custos diferem entre fornecedores e mudam com o tempo.