Signal Pilot
🟠 Avançado • Aula 63 de 85

O backtesting como prova

Tempo de leitura ~14 min • Módulo 8: Construir um sistema
Signal Pilot
Formação profissional em trading
0 %
Estás a progredir!
Continua a ler para concluir esta aula

Vasculhar 253 regras vulgares de médias móveis sobre os sessenta fechos deste curso faz sair um vencedor que rende 9,84 dólares por ação depois de custos, contra 5,68 de manter, em 7 negócios, com uma estatística t de 3,65. Agora baralha esses mesmos sessenta movimentos de vela a vela para que não sobreviva estrutura temporal nenhuma, guarda a deriva e a volatilidade tal como estavam e volta a lançar a mesma procura. Em 52,5 por cento dessas séries sem estrutura a melhor regra bate o manter por pelo menos tanto como a verdadeira bateu, e em 77,2 por cento bate-o de todo. O resultado fica abaixo da mediana daquilo que um mercado que não contém nada produz. Um backtest de uma regra é uma medição; um backtest da melhor de 253 é uma medição da procura.

Pré-requisitos: Aula 62, pela frase de quatro partes em que uma regra tem de ser escrita antes sequer de poder ser testada, a aula 19, pelo que sete negócios podem e não podem suportar, e a aula 11, pelo custo de ida e volta que esta página subtrai de todos os números que nela estão.

A tese, dita como é mesmo defendida

Os argumentos a favor do backtesting são bons e merecem ser enunciados como deve ser antes de se lhes fazer o que quer que seja. Uma regra é um conjunto de instruções. O histórico é um registo do que os preços fizeram. Pode-se portanto correr as instruções sobre o registo e descobrir quanto a regra teria rendido, o que é um ensaio de engenharia vulgar e não uma superstição. Se perdeu, aprendeste isso barato. Se ganhou, estabeleceste pelo menos que a ideia não é obviamente vazia. Ninguém sensato afirma que um backtest prevê o futuro. A tese é mais estreita e soa irrepreensível: um backtest diz-te se a regra funcionou.

Eis o que ele te diz de facto, sobre dados que este curso já imprimiu. Pega nos sessenta fechos e numa família de regras: comprado quando uma média móvel rápida dos fechos cruza acima de uma lenta, fora quando volta a cruzar abaixo. Comprimentos rápidos de 2 a 12, lentos de 3 a 30, o lento sempre mais longo do que o rápido. São 253 configurações, o que por qualquer critério é uma procura pequena, e cada uma delas é uma regra que uma pessoa razoável poderia ter proposto.

A convenção de execução pesa mais do que parece, por isso vai na página. Um cruzamento só é visível depois de uma vela fechar, portanto o sinal lê-se no fecho da vela i e o negócio faz-se no fecho da vela i mais um. Executar na própria vela do sinal é a antecipação que faz funcionar metade dos backtests da internet, e vale aqui cerca de um terço da vantagem aparente. Os custos são um cêntimo de spread, cinco pontos base de slippage por lado sobre um preço perto de 103 e meio cêntimo por ação de comissão, o que dá 0,1230 por ação para uma ida e volta. Qualquer posição ainda aberta na última vela é fechada aí.

Corre as 253 todas e a melhor é uma média rápida de 2 velas contra uma lenta de 5. Faz 7 negócios e rende 10,70 por ação em bruto, 9,84 depois de custos, contra 5,68 de comprar no primeiro fecho e vender no último. A sua taxa de acerto é 6 em 7, o seu negócio médio vale 0,910 de um desvio-padrão de vela, e a estatística t sobre o seu próprio registo de negócios é 3,65. Cada um desses números é do género que consegue financiamento para uma estratégia.

O que a mesma procura encontra num mercado que não contém nada

O teste é barato. Pega nos 59 movimentos de vela a vela que compõem esta série, tira 59 deles ao acaso com reposição e põe-nos em fila a partir do mesmo preço de partida. O resultado tem a mesma deriva e a mesma volatilidade do original, construído literalmente com os mesmos movimentos, e nenhuma estrutura temporal: nada nele pode ser explorado por uma regra que dependa da ordem seja do que for, porque a ordem foi destruída. Faz isso 4.000 vezes a partir da semente 20260903 e corre sobre cada uma a mesma procura de 253 células.

MedidaValor
Melhor de 253, em bruto10,70
Melhor de 253, depois de custos9,84
Comprar e manter, depois de custos5,68
Vantagem sobre manter4,16
Séries sem estrutura cuja melhor célula bate o manter0,772
Séries sem estrutura que superam a vantagem verdadeira0,525

Em 77,2 por cento das séries sem estrutura nenhuma lá dentro, a melhor das 253 regras bate o comprar e manter. Em 52,5 por cento bate-o por pelo menos os 4,16 que a procura verdadeira encontrou. O resultado medido não é meramente pouco impressionante face a essa distribuição: fica abaixo da sua mediana. Fosse o que fosse que a procura encontrou nos fechos verdadeiros, uma procura do mesmo tamanho encontra mais do que isso, mais de metade das vezes, em dados que não contêm nada para encontrar.

Repara no que isto não diz. Não diz que a regra seja má, e não diz que a série não tenha estrutura. Diz que o número 9,84 foi produzido por um procedimento que produz números como 9,84 de qualquer maneira, portanto o número não serve de prova sobre o mercado. Isso é uma afirmação sobre a medição, e é a razão pela qual quase ninguém contra quem operas alguma vez verificou a sua: a verificação custa uma noite e um ciclo de reamostragem, e só pode tirar-te um resultado.

Duas colunas vão para a folha que este módulo abriu na aula 62, ao lado da frase. O que o backtest devolveu, que aqui é 4,16 acima da referência. E o que a mesma procura devolveu sobre dados que não contêm nada, que aqui é 4,16 ou melhor em 52,5 por cento das tentativas. Uma linha cuja segunda coluna não seja confortavelmente maior do que a terceira não ganhou nada, e o par vale mais do que qualquer uma das duas cifras sozinha, porque nenhuma delas significa grande coisa sem a outra.

As duas subtrações que vêm antes

Os custos primeiro, porque são a única parte disto que é certa. Uma ida e volta custa aqui 0,1230 por ação, e um desvio-padrão de vela nesta série é 1,5443, portanto uma ida e volta vale 0,0796 de um R. Parece pouco até se multiplicar. A regra vencedora faz 7 negócios e paga por isso 0,557R de custos; o manter faz um e paga 0,0796R. A regra que opera muito arranca com meio R de atraso antes de qualquer uma das duas ter razão em coisa nenhuma, e o mesmo custo vale 0,0398R contra um stop de dois sigmas e 0,1593R contra um de meio sigma, porque o custo está fixado em cêntimos e o R não.

A referência a seguir, e é a subtração que quase sempre falta. A melhor célula fez 9,84. O manter fez 5,68. O contributo da regra não é 9,84, é 4,16, porque a série subiu e qualquer regra que passe tempo comprada apanha essa subida tenha percebido alguma coisa ou não. Um backtest que reporta a curva de capital da estratégia e nunca a da referência escondeu o maior dos dois números.

A linha que o teste de amostra dividida não consegue ver

A defesa habitual contra tudo isto é o teste fora da amostra, e vale mesmo a pena, portanto façamo-lo aqui. Otimiza só sobre os primeiros trinta fechos. A melhor célula nessa janela é outra vez o par 2 e 5, que faz 5,53 líquidos em 3 negócios, sobre um troço em que o comprar e manter perdeu 0,82. Isso parece uma regra a encontrar alguma coisa num mercado que não oferecia nada. Congela os parâmetros, não mexas em nada e corre-os sobre os últimos trinta fechos.

JanelaMelhor regra, líquidoComprar e manter, líquidoOperações
Velas 1 a 30, otimizado aqui5,53-0,823
Velas 31 a 60, parâmetros congelados4,296,885

Passa. O desempenho caiu de 5,53 para 4,29, uma degradação de 22 por cento, e todas as listas de verificação da área tratam qualquer coisa abaixo de 30 por cento como aprovado. A regra não estava sobreajustada no sentido que a lista quer dizer: continuou mesmo a funcionar sobre dados que nunca tinha visto.

E sobre essas mesmas velas nunca vistas, não fazer nada rendeu 6,88. A regra validada perdeu contra a referência por 2,59 justamente na janela que era suposto justificá-la, e o teste fora da amostra não podia relatar isso, porque não há referência nenhuma em parte alguma dele. O teste pergunta se um resultado se repete. Nunca pergunta se o resultado valia a pena.

Os mesmos sessenta fechos, em quatro graus de honestidade

Nada do que se segue muda os dados nem a regra. O cruzamento 2 e 5 é a mesma regra em cada grau, corrida sobre os mesmos sessenta fechos. Só muda aquilo contra o qual é medida, e cada grau é aquele em que a maioria dos backtests para.

Para no primeiro grau e a regra fez 10,70 por ação em 7 negócios com 6 ganhadores. Para no segundo e os custos deixam-na em 9,84, o que é um corte de 8 por cento e sabe a diligência, porque uma página que subtrai custos parece cuidadosa. Para no terceiro e a referência deixa-a em 4,16, o que a corta outra vez a mais de metade, e com isso já se foi mais longe do que a maioria dos backtests publicados.

O quarto grau é o que muda o veredito e não o tamanho. Volta a tirar os movimentos, volta a lançar a procura, e 52,5 por cento das séries sem estrutura produzem uma melhor célula que bate o manter por 4,16 ou mais. A estatística t de 3,65 da própria regra não está errada: responde a outra pergunta. Mede com que segurança os 7 negócios dessa célula se afastam de zero, e não tem maneira de saber que outras 252 células foram a audição e foram descartadas. A estatística t calcula-se dentro do vencedor. A procura aconteceu fora dele.

Um backtest mede a procura que lançaste, não o mercado sobre o qual a lançaste.

O que sobrevive é mais do que parece. Um backtest continua a matar regras, barato e para sempre: uma regra que perde dentro da amostra, antes de custos, está morta, e descobri-lo numa tarde é a maior parte daquilo para que a técnica serve. O que não consegue fazer sozinho é promover uma. A promoção precisa da referência, dos custos e da distribuição nula reamostrada, e a nula é um ciclo de código.

Portanto corre esta noite os quatro graus sobre a tua própria regra, por essa ordem, e para no primeiro que te leve o resultado.

O que isto não resolve

Que o backtesting não funciona. A página testou uma família de regras sobre uma série de sessenta velas com uma procura de 253 células, e um programa a sério corre sobre milhares de velas e muitos instrumentos, onde o ruído amostral que esta página está a explorar é muitíssimo menor. O argumento sobre a inflação por procura não depende do tamanho de nenhum dos dois, mas os 52,5 por cento concretos dependem, e sobre uma série mais longa a mesma procura fabricaria uma vantagem proporcionalmente menor. Nada aqui mostra que a técnica seja inútil: mostra o que um resultado tem de sobreviver antes de significar alguma coisa.

Que o teste por reamostragem seja a distribuição nula certa. Tirar movimentos com reposição destrói toda a estrutura temporal de uma vez, o que faz dele um teste a saber se a regra explora a ordem, e nada mais. Destrói também o agrupamento da volatilidade, que é real e que uma regra de cruzamento pode mesmo operar, portanto nesse aspeto a nula é fácil demais de bater e a fração verdadeira está mais acima de 52,5 por cento do que abaixo. Um bootstrap por blocos preservaria parte dessa estrutura e é o passo honesto seguinte; esta página não corre nenhum.

Que os custos sejam os teus. Um cêntimo de spread e cinco pontos base de slippage descrevem um instrumento líquido em tamanho pequeno. Em algo mais largo são gravemente otimistas, e numa grande capitalização profunda a cem ações são pessimistas. Todas as cifras desta página se movem com essa suposição, e a regra de 7 negócios move-se cerca de sete vezes mais depressa do que a referência, que é a direção que favorece o manter.

Que comprar e manter seja a referência certa. É a certa aqui porque a regra é só comprada sobre uma série que sobe, e é a errada para uma regra que vende a descoberto, ou para um troço que caiu. Numa série que cai, toda a regra só comprada parece fraca face ao manter por um motivo que nada tem a ver com a regra, e escolher uma referência que te favorece é o mesmo erro que escolher uma janela que o faça. A referência tem de ser escolhida antes do teste, e esta página escolheu-a depois, porque a série já estava escrita.

Que o resultado da amostra dividida se generalize. Trinta velas por metade são muito poucas, a janela dentro da amostra contém 3 negócios e a de fora 5, e com amostras assim tão pequenas a cifra de 22 por cento de degradação não transporta quase nenhuma informação. O que ela sustenta não é que os testes fora da amostra aprovem normalmente regras más; é o mais estreito e mais firme de que podem aprovar uma regra que perde contra a referência, porque não contêm referência nenhuma. Esse defeito é estrutural e não depende de todo do tamanho da amostra.

E a concessão que mais custa: esta página diz-te para subtrair o que a procura teria produzido, e não dá maneira de o fazer para a procura que de facto lançaste. As 253 células são contáveis porque foram programadas. As regras que olhaste num gráfico e abandonaste, o parâmetro que mexeste duas vezes e puseste de volta, o instrumento que experimentaste primeiro e deixaste cair porque era feio — também são configurações, não estão registadas, e são quase de certeza mais numerosas do que 253. A correção desta página só é calculável para a parte da procura que foi suficientemente honesta para ficar escrita. A aula 64 pega nesse problema de frente e descobre que a inflação é previsível de antemão só a partir da contagem: para uma procura de 15.000 configurações sobre 156 negócios, a melhor célula mostra 0,351R de vantagem antes de o mercado ter feito seja o que for.

Problemas

  1. Põe preço a uma ida e volta em R. Pega no spread do teu instrumento, na comissão do teu corretor e num valor de slippage que defenderias, soma-os para uma ida e volta e divide por um desvio-padrão de vela no prazo em que operas. Dez minutos, e ficas com um número, o custo de um negócio em R, que é a quantia que todos os backtests que alguma vez leste deixaram de fora.
  2. Põe a referência ao lado da tua regra. Pega numa regra que já operes ou em que já acredites, corre-a sobre duzentas velas líquida do custo que acabaste de calcular, e sobre as mesmas duzentas velas calcula o que teria rendido comprar no primeiro fecho e vender no último. Meia hora, e ficas com um número, a distância entre os dois, que é a única parte da tua curva de capital pela qual a regra é responsável.
  3. Corre a distribuição nula. Pega nas variações de vela a vela dessas mesmas duzentas velas, tira duzentas ao acaso com reposição, põe-nas em fila e volta a correr toda a tua procura sobre a série sintética. Faz isso mil vezes com uma semente que escrevas, e conta quantas vezes o melhor resultado bate a referência por pelo menos aquilo que a tua procura verdadeira encontrou. Uma noite, e ficas com um número, a fração, que é a probabilidade de um mercado que não contém nada te ter entregado aquilo que encontraste.

Fontes. Halbert White, «A Reality Check for Data Snooping» (Econometrica, 2000), pelo procedimento bootstrap que esta aula executa em miniatura, e pelo argumento de que é a distribuição da melhor regra, e não a de uma regra, aquela contra a qual uma procura tem de ser julgada. Ryan Sullivan, Allan Timmermann e Halbert White, «Data-Snooping, Technical Trading Rule Performance, and the Bootstrap» (The Journal of Finance, 1999), pela mesma experiência levada a cabo à escala completa sobre um século de dados diários e milhares de regras, que é o estudo de que esta página é uma imitação a sessenta velas. David H. Bailey, Jonathan M. Borwein, Marcos López de Prado e Qiji Jim Zhu, «Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance» (Notices of the American Mathematical Society, 2014), pelo resultado de que o número de configurações experimentadas basta por si só para prever quanta vantagem aparente aparece, que é o que a aula seguinte calcula. Bradley Efron, «Bootstrap Methods: Another Look at the Jackknife» (The Annals of Statistics, 1979), pelo método de reamostragem com que a distribuição nula desta aula está construída.

Aulas relacionadas
Aula 62

O que teria de acontecer

A frase de quatro partes em que uma regra tem de ser escrita antes sequer de poder ser testada.

Ler a aula →
Aula 19

Quanto tempo até saberes

O que sete negócios e uma estatística t de 3,65 podem e não podem suportar.

Ler a aula →
Aula 11

Slippage e impacto a tamanho de retalho

O custo de ida e volta que esta aula subtrai de todos os números da página.

Ler a aula →
Apenas para fins educativos. Negociar envolve risco substancial de perda. Não é aconselhamento financeiro. Resultados passados não garantem resultados futuros.

💬 Discussão (0 comentários)

0/1000

A carregar comentários…

← Aula anterior Aula seguinte →

Pronto para operar com a Signal Pilot?

Põe a tua formação em prática com indicadores profissionais e ferramentas de análise de mercado em tempo real.

Voltar à Signal Pilot →