Exemplo prático de backtesting (com premissas explícitas)

Aprenda a prática de backtesting com um exemplo prático e premissas.

Resposta direta: o que é um exemplo prático de backtesting

Um exemplo prático de backtesting mostra, passo a passo, como você aplicaria uma regra claramente definida a dados históricos para estimar o que teria acontecido. “Backtesting”, aqui, significa simular decisões usando observações do passado, sem assumir que resultados futuros vão corresponder ao histórico. “Prática” significa registrar todas as premissas para que outra pessoa possa reproduzir os mesmos cálculos e verificar de onde o resultado vem.

Mecanismo e definição: o que você faz em um backtest

A prática de backtesting normalmente tem cinco entradas:

  1. Uma regra de decisão: exatamente quando você entraria/sairia (ou como você calcularia uma previsão/score).
  2. Um conjunto de dados: série temporal histórica com timestamps consistentes.
  3. Um modelo de trading: como as ordens são executadas (por exemplo, usando a abertura da próxima barra) e como você lida com spreads.
  4. Um modelo de custos: comissões, taxas e premissas de spread.
  5. Uma métrica: o que você mede (por exemplo, retorno acumulado, drawdown, taxa de acerto ou retorno médio por trade).

Mecânica estável: o fluxo de trabalho (definir regra → escolher janela de dados → simular execuções → calcular métricas → documentar) permanece o mesmo. Condições variáveis: o regime de mercado, a qualidade dos dados, os detalhes de execução e os custos podem mudar, e eles podem dominar os resultados.

Exemplo prático (cenário numérico) com premissas explícitas

Suponha que o objetivo seja avaliar uma regra simples para fins educacionais. Isso não é uma recomendação, e usa simplificações do tipo “sintéticas” para manter as premissas explícitas.

Regra (o “se-então”)

Para cada dia, você mantém uma posição por exatamente 1 dia. A posição é “long” (assumir exposição) ou “flat” (sem exposição). A regra de decisão é:

  • Se o fechamento do dia anterior for maior do que o fechamento de dois dias atrás, assuma exposição long para o próximo dia.
  • Caso contrário, fique flat para o próximo dia.

Conjunto de dados (observações históricas)

Use seis observações diárias consecutivas (Dia 0 a Dia 5). Suponha que os fechamentos abaixo sejam os preços históricos “conhecidos” para o backtesting:

  • Fechamento do Dia 0: 100
  • Fechamento do Dia 1: 102
  • Fechamento do Dia 2: 101
  • Fechamento do Dia 3: 103
  • Fechamento do Dia 4: 104
  • Fechamento do Dia 5: 102

Vamos calcular as decisões para os Dias 2–5 porque a regra precisa do Dia t-2.

Premissas de execução e custo

Essas premissas determinam o retorno simulado.

  • Preço de entrada: a abertura do próximo dia é igual ao fechamento daquele dia (simplificação). Isso remove a incerteza intradiária.
  • Preço de saída: o fechamento do dia seguinte é igual ao fechamento do próximo dia (já que o período de holding é de 1 dia).
  • Spread e comissão: o custo total de trading é fixo em 0,1% do nocional em cada dia em que você está long. Se flat, o custo é 0%.
  • Sem restrições de alavancagem, sem juros de margem e sem slippage além do modelo de custo.

Definição da métrica

Calcule um “retorno diário líquido” sobre o nocional:

  • Se estiver long no dia t: retorno líquido = (Close(t) / Close(t-1)) − 1 − 0.001
  • Se estiver flat: retorno líquido = 0

Simulação passo a passo

Decisões:

  • Para a decisão do Dia 2: compare o fechamento do Dia 1 (102) com o fechamento do Dia 0 (100). 102 > 100 → ficar long no Dia 2.
  • Para a decisão do Dia 3: compare o fechamento do Dia 2 (101) com o fechamento do Dia 1 (102). 101 > 102 é falso → ficar flat no Dia 3.
  • Para a decisão do Dia 4: compare o fechamento do Dia 3 (103) com o fechamento do Dia 2 (101). 103 > 101 → ficar long no Dia 4.
  • Para a decisão do Dia 5: compare o fechamento do Dia 4 (104) com o fechamento do Dia 3 (103). 104 > 103 → ficar long no Dia 5.

Calcular retornos líquidos:

  • Dia 2 (long): Close(2)/Close(1) − 1 − 0.001 = 101/102 − 1 − 0.001 ≈ −0.0098039 − 0.001 = −0.0108039 (≈ −1,08%)
  • Dia 3 (flat): líquido = 0
  • Dia 4 (long): 104/101 − 1 − 0.001 = 0.0297029 − 0.001 ≈ 0.0287029 (≈ +2,87%)
  • Dia 5 (long): 102/104 − 1 − 0.001 = −0.0192308 − 0.001 ≈ −0.0202308 (≈ −2,02%)

Soma simples cumulativa (como este exemplo usa números pequenos e é apenas ilustrativo): retorno líquido total ≈ −1,08% + 0% + 2,87% − 2,02% ≈ −0,23% no período avaliado.

O que o exemplo prático ensina: o resultado é produzido de forma mecânica a partir da sua regra, dos seus dados e das suas premissas explícitas de execução/custo.

Limitações e modos de falha (o que pode dar errado)

  1. Overfitting: se a regra for ajustada aos dados passados com muita precisão (muitos controles, muitos testes), ela pode parecer boa historicamente, mas falhar em outros contextos. 2) Realismo de execução: assumir execuções perfeitas ou preços simplificados pode exagerar os resultados.
Negociar moedas e CFDs envolve risco substancial. As informações da FoxiForex são educativas e não constituem aconselhamento financeiro pessoal. Conteúdo patrocinado é identificado claramente.