A arte e a ciência do teste – Parte 2
Posted by: figurelli, in Robôs Investidores, Trading SystemsNeste post continuamos a série que pretendemos passar um pouco mais de nossa visão sobre testes de Robôs Investidores e Automatic Trading Systems.
A primeira parte encontra-se no link abaixo:
http://www.robosinvestidores.com.br/2011/08/13/a-arte-e-a-ciencia-do-teste-parte-1/
Nessa segunda parte estaremos comentando sobre a primeira parte dos testes, definida no post original como backtesting da funcionalidade da estratégia.
1) Backtesting da funcionalidade da estratégia
A maior parte dos trading systems falham porque falham seus testes.
Na prática, os investidores criam falsas expectativas sobre o desempenho de seus sistemas, principalmente por não fazerem testes mais realistas.
Considero o correto teste funcional da estratégia o principal problema do backtesting, pois é muito fácil se iludir com os resultados de um teste completamente fora das possibilidades estatísticas de ocorrência futura.
O backtesting é uma ótima ferramenta de análise estatística, porém deve-se atentar para escrever corretamente o trading system, principalmente quanto aos seus parâmetros de ajuste e setup, pois senão o que teremos na prática é uma ilusão de desempenho futuro.
Um robô passeando pela cidade
Para simplificar o entendimento da problemática do backtesting e porque tantos sistemas falham, criamos uma metáfora.
Imagine que seu trading system é um programa de um robô real, que deverá atravessar uma cidade de um bairro a outro, levando uma mercadoria para ser entregue. Esse robô deverá enfrentar situações e perigos reais, como atravessar ruas, evitar buracos, desviar das pessoas, etc, etc.
Para ajudar você na programação, é fornecido um mapa da cidade e de sua sinalização, incluindo todos semáforos existentes. Na prática, esses dados são, de forma similar ao mercado de capitais, o histórico de preços dos ativos.
Aos poucos, depois de vários testes com seu robô, você perceberá que ele não consegue atingir seu destino por uma série de motivos, como por exemplo:
- os semáforos não abriram e fecharam exatamente como no passado;
- alguns novos buracos surgiram na cidade, enquanto outros foram removidos;
- ocorreram novas situações que não estavam presentes no passado;
Ou seja, apesar de perceber que muitas informações passadas foram úteis na sua programação, várias delas mudaram de comportamento.
Se isso surpreendeu seu robô, é sinal que ele não foi corretamente programado para enfrentar as diferenças de funcionalidade. E se isso não for resolvido, você continuará programando milhares e milhares de vezes novos setups sem sucesso, a não ser que por pura sorte (aliás a sorte, nesse caso, só irá aumentar sua confiança e prejuízo, quando ela deixar de aparecer e sua exposição for ainda maior).
Testando a funcionalidade dos trading systems
O backtesting deve testar a funcionalidade dos trading systems, e não os setups de seus indicadores específicos.
No exemplo da metáfora, você deve treinar o seu robô para reconhecer um semáforo e para aprender o que fazer quando o sinal estiver verde ou vermelho.
Essa é a funcionalidade, e esse o real benefício a esperar dessa primera etapa do backtesting.





Entries (RSS)