Neste 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.

Os sistemas de investimento quantitativo estão cada vez mais evoluídos e competitivos e a prova disso são os resultados nos mais variados campeonatos e marketplaces de sinais internacionais.

Muitos céticos argumentam que alguns fundos quantitativos fracassaram, mas como em tudo na área de tecnologia, existem os bons e maus produtos. Então, apontar apenas para o lado negativo é deixar de enxergar o avanço positivo.

Mas até nesse ponto os robôs levam vantagem, pois no mercado de capitais a conjuntura e o momento são fundamentais, e mesmo um mau produto hoje pode se tornar um bom produto no futuro. E toda tecnologia desenvolvida já está codificada e precisamente documentada, podendo evoluir mais e mais a cada dia, mesmo que os resultados ainda não tenham sido atingidos.

O que é inegável é que os robôs investidores são cada vez mais precisos, carregando a grande vantagem estratégica da frieza, precisão e velocidade.

A medida que os resultados aparecem, novos investimentos na área começam a surgir, e cada vez mais os sistemas, antes fechados em uma black box, passam a ser entendidos, ajustados e dominados, mesmo por profissionais sem formação predominantemente técnica.

Vejo isso diariamente no contato com meus alunos, tanto na universidade como no curso de Robôs Investidores do site.

Uma evolução lenta e silenciosa.

E imparável.

Acredito que essa talvez seja a ferramenta mais importante de qualquer trader, ou seja, saber testar seus sistemas, e minha constatação é que no nosso país ainda temos muito a crescer nessa área.

Se os testes já são importantes para homologar qualquer plano operacional, o que dizer de testes de sistemas automáticos, onde um bug pode representar o consumo total de sua margem operacional?

Entendendo os conceitos associados aos testes

Considero que um bom trading system, que possa operar meses e meses sem nenhuma alteração (ou seja, um cenário benchmark) deve no mínimo passar pelas seguintes etapas de testes, independentemente das ferramentas necessárias.

Esse conjunto de testes formam uma metodologia de homologação do trading systems, sendo que refletem meus estudos de vários anos realizando testes de sistemas operacionais com robôs investidores, mas que se aplicam para qualquer outro sistema mesmo de operação manual (ou seja, se você ainda não utiliza robôs, pode replicar os testes de forma manual para seu plano operacional).

A figura abaixo mostra um exemplo de Backtesting com Forward de 1/4 do passado, onde se pode ver que os algoritmos genéticos levaram a simulação para um preset específico, que deverá ser analisado pelo criador da estratégia.

A maior parte dos desenvolvedores gasta enormes esforços pensando no backtesting apenas como ajuste de setup, o que considero um grande erro, pois se não for analisada a seqüencia de etapas abaixo os resultados em testes reais serão puramente aleatórios.

Metodologia de testes

Quando estamos envolvidos em testar um plano de trading, seja manual ou automático, devemos pensar que existirão etapas puramente científicas e outras que serão tipicamente arte.

Aliás, a administração em si envolve, além dos métodos científicos, a sensibilidade dos gestores, e você é na prática o gestor final do seu plano operacional, e deverá sempre considerar que não está diante de um mero problema matemático, pois seu bolso sentirá o impacto de sua falta de visão e percepção que muitas vezes são mais qualitativas que quantitativas.

Assim, recomendo sempre a seguinte sequëncia mínima de testes para qualquer robô investidor ou plano de trading, onde em todas elas arte e ciência serão exploradas:

1) Backtesting da funcionalidade da estratégia
2) Backtesting de setup da estratégia
3) Backtesting de setup da estratégia com Forward de metade do passado
4) Backtesting da sensibilidade do setup
5) Forward testing da funcionalidade da estratégia
6) Forward testing do setup da estratégia
7) Forward testing da sensibilidade do setup
8) Forward testing com dinheiro virtual (play money)
9) Forward testing com dinheiro real e capital mínimo (low profile)
10) Forward testing com dinheiro real e capital real (equity)

Essa metodologia com dez etapas procura proteger ao máximo seu capital, antes da entrada operacional do robô investidor.

Entretanto, é sempre importante lembrar que o máximo resultado que você pode esperar dos testes é não ser surpreendido por falhas, erros, bugs, comportamentos inesperados, etc. Não espere que o back ou forward testing garantam o sucesso do sistema, pois o futuro é imprevisível e, assim como pode ser um ciclo repetitivo do passado, pode ser um novo cenário totalmente diferente dos testes realizados.

E se você realizar bons testes, poderá se dedicar ao que realmente irá fazer a diferença estratégica, que é o seu plano operacional em execução.

Acredito que uma das melhores formas de entender os indicadores da análise técnica é criar indicadores.

Criando e comparando indicadores para robôs investidores ao longo dos anos, consegui perceber uma analogia com o jogo de xadrez, que explico abaixo.

A primeira questão é que dificilmente com um único indicador você terá sucesso nas suas análises.

Por exemplo, se você operar apenas com o IFR (ou RSI, caso você esteja utilizando algum tradutor automático), verá que conforme o período escolhido os resultados são completamente diferentes. E, justamente essa divergência, quando da comparação de no mínimo dois períodos, é que irá enriquecer sua análise. Da mesma forma, agregando mais indicadores você irá criar mais critérios e rigor nas suas decisões de compra e venda de ativos.

Então agora imagine que você está jogando xadrez e cada peça do tabuleiro a sua disposição é um indicador, e que peças iguais são apenas indicadores com diferentes presets e/ou períodos.

Nesse caso, criei a seguinte analogia de relevância para alguns dos indicadores mais conhecidos de mercado.

Médias Móveis: os Peões

A meu ver as médias móveis são os Peões. Se você tiver capacidade de fazer análises com várias médias móveis simultaneamente (como por exemplo faz o indicador Trix, que utiliza três médias exponenciais), com diferentes períodos e presets comparativos, provavelmente seu exército de Peões será reforçado.

IFR: os Bispos

A meu ver o indicador IFR é um oscilador extremamente útil, desde que você utilize ele no mínimo em dois períodos diferentes: um de longo prazo (semanal) e um de curto prazo (horário), por exemplo. E os Bispos possuem uma dinâmica de movimento similar no xadrez, e também serão dois, um na casa branca (longo prazo) e outro na casa preta (curto prazo).

OBV e A/D: os Cavalos

De forma similar aos bispos e o IFR, é necessário uma visão de longo e curto prazo também para o volume de negócios, e nesse caso como as mudanças de volume são tão imprevisíveis como o movimento do Cavalo no Xadrez, me parece apropriado pensar neles como analistas do volume do seu ativo, e nesse caso pense no seu indicador preferido, como por exemplo o OBV ou o A/D.

MACD: as Torres

As Torres, após o Rei e a Rainha, são sabidamente as peças mais valiosas. Acredito que além de indicadores básicos de preço e volume, é necessário pensar em indicadores analíticos de cruzamento de informações como o MACD para identificação de tendências, e portanto esse tipo de indicador ganha valor como uma Torre, mas também analisado em mais de um período.

E o Rei e Rainha?

Nesse momento, você deve estar pensando: e quem será o indicador Rei e o indicador Rainha. Considero que a correta identificação de suportes e resistências sejam fundamentais em qualquer estratégia, e o Rei é o suporte de crescimento e tomada de decisão e a Rainha a resistência (ou vice-versa, dependerá da relação do casal). O importante é que os dois devem ter um sincronismo perfeito, pois se você conhecer bem os suportes e resistências do mercado, alinhado aos demais indicadores e seus momentos (que são as demais peças), estará em vantagem competitiva.

Por exemplo, em uma posição favorável de Rei com os Bispos significa que você está analisando uma condição de sobrevendido pelo IFR em conjunto com o suporte, como critérios da sua estratégia.

Conclusão

Assim como no Xadrez, estar em vantagem ou desvantagem posicional não significa necessariamente prever o futuro, mas é possível fazer um cálculo das chances de vitória (o que seria lucro).

Aliás os programas de computador que jogam Xadrez fazem esse cálculo permanentemente, como o fazem os sistemas quantitativos de investimento.

A minha visão é que o futuro, apesar de não poder ser previsto por nós, pode ser modelado em cenários e calculado dentro de uma probabilidade, que será mais ou menos precisa de acordo com nossa experiência e conhecimento.

Você consegue imaginar como será complexo competir com sinais de investimento compostos pelo processamento de dezenas de computadores em tempo real e arquiteturas cada vez mais sensíveis aos modelos de negócio dos diversos mercados?

No planejamento, arquitetura e construção de Trading Systems é importante modelar as transações de negócio das empresas e seus principais atores: os usuários, os dados e eventos e as aplicações.

São camadas independentes e que dificilmente serão encontradas em uma única aplicação ou plataforma, como procuram muitos investidores.

Essas camadas permitem atender uma necessidade que considero essencial dos robôs investidores mais sofisticados: a produção de inteligência artificial em tempo real.

O potencial da máquina está justamente na capacidade de coletar e processar milhares de informações em tempo real, detectando tendências numa velocidade de difícil percepção para o homem.

Se para o analista, por mais sofisticadas que sejam suas ferramentas de trabalho, a inteligência não funciona em tempo real, para a máquina, muitas vezes, essa é uma condição verdadeira e essencial para agregar valor aos seus algoritmos.

Dai a necessidade de construir sistemas que suportem múltiplas plataformas e fornecedores com integração e sensoriamento distribuído, pois a relevância muitas vezes está no potencial de coletar dados e eventos relevantes às estratégias planejadas e criadas pelos advisors, que serão o subsídio das análises automatizadas.

O tempo real é chave em um processo de negócios global e depende de processos e sub-processos cada vez mais automatizados e complexos, que só as mais avançadas arquiteturas de robôs investidores conseguem atingir.

Uma das principais qualidades atribuídas aos robôs investidores é a inexistência de fatores emocionais para tomada de decisão de compra e venda.

Na prática não acredito muito nessa total abstração da emoção, pois, queira ou não, o programador e/ou desenvolvedor do sistema, ou seja, um ser humano, sempre acaba deixando traços de sua emoção codificada, ou através de parâmetros ou através de algoritmos hardcoded.

De qualquer forma, apesar de considerar essa uma grande qualidade, não é a que mais admiro e a que me faz acreditar mais em tecnologia na área de investimentos. Muito menos é o atributo que imagino irá fazer investidores migrarem seus aportes em trading systems.

A verdade é fundamental

E qual seria então essa qualidade ainda mais relevante? Em uma palavra diria sinceridade. Mas, em se tratando de máquina, podemos traduzir a sinceridade em dois fatores: a verdade é sempre exposta e, principalmente, os resultados, sejam bons ou ruins, são sempre apresentados com a mesma importância.

Sim, isso mesmo. Os robôs não mentem (por enqüanto) e não escondem os resultados e sua performance, por mais ridícula ou vergonhosa que essa possa ser.

Na verdade, pode-se ver que estamos ainda falando de questões emocionais. E de sua exposição.

Ou seja, os robôs investidores apresentam seus resultados de forma precisa e verdadeira, em tempo real, com total disponibilidade, mesmo que essa transparência muitas vezes implique na eliminação permanente deste (algo que poucos analistas seriam capazes de fazer, pois poderia comprometer seus salários e até mesmo cargos).

Dessa forma, sistemas quantitativos podem evoluir mais rapidamente, pois as falhas e erros são detectadas e eliminadas de forma muito mais rápida do que decisores puramente humanos, que, por fatores de interesse pessoal ou emocional, muitas vezes sobrevalorizam seus bons trades e omitem ou desvalorizam as perdas significativas.

Pergunta recebida:

“É possível dizer que você pode colocar como índices para o robô ficar atento o P/L, valor de mercado da empresa, Ebitda, etc?”

Resposta:

Perfeitamente, você pode criar estratégias que monitoram indicadores fundamentalistas, gráficos, etc, não há limites do que monitorar além da visão do investidor.

Na verdade esse é o princípio que proponho pela Escola da Visão, que é uma nova escola de investimento que apresentei em meu trabalho de MBA, e cuja a ideia é começar definindo a visão e cenários futuros e depois utilizar o máximo de informações disponíveis para monitorar se os cenários estão ocorrendo ou não, investindo no momento correto.

Por exemplo, digamos que você crie um sistema mais complexo que faça o seguinte:

Plano de Trading de acordo com a Escola da Visão
Visão: Risco de crise por escassez do petróleo
Cenário A: Valorização das empresas com energia alternativa
Cenário B: Valorização das empresas que descobrem novas fontes de petróleo

Definição da Estratégia
Indicadores: datamining do histórico de preços e volumes, textmining de notícias sobre energia, análise de P/L dos ativos de energia, análise gráfica dos ativos de energia
Rastreadores: osciladores de detecção de sobrecomprado e sobrevendido
Gerenciamento Financeiro: médio prazo
Gerenciamento de Risco: longo prazo

Nesse caso, é criado um sistema composto por robôs investidores (o que é feito na Trajecta através de diversas plataformas independentes e especializadas) que irão monitorar o mercado para os cenários da visão do investidor e seguir a estratégia de compra e venda de ativos programada.

A saída ou entrega de um sistema desses pode ser um e-mail ou torpedo com a informação: “compre o ativo ABCD1 porque o cenário A está com 87% de chances de ocorrer e o ativo ABCD1 está com 94% de chances de estar sobrevendido”.

Ou ainda, no caso de um robô 100% automatizado, ele mesmo irá executar o trade seguindo o gerenciamento financeiro e de risco programados (note-se que a automação é puramente operacional, e que, embora a maior parte das pessoas ainda acredite que essa seja a única utilidade dos robôs no mercado financeiro, os algoritmos já estiveram presentes em todo o processo de análise e tomada de decisão antes de chegar aqui).

Na prática, os robôs estarão em tempo real monitorando (“lendo”) notícias, preços e volumes de ativos, minerando os dados históricos para backtesting, forward e forecasting, e analisando os indicadores fundamentalistas e gráficos dos ativos, etc, etc.

E, como acontece em um avião com piloto automático, a decisão é do piloto se irá utilizar ou não estas informações e ou confiar no modo automático para execução de seus trades.

Minha visão é que o ideal é unir a força analítica de homens e robôs para programar e ajustar os sistemas.

Assim os robôs investidores podem operar de forma totalmente automática seguindo regras de negócio muito bem estabelecidas pelos engenheiros e analistas de mercado que desenvolveram as estratégias, retirando o fator “chute”, subjetivo e emocional dos trades.

Todo e qualquer plano de trading pode ser modelado em softwares e robôs investidores? É óbvio que não.

Entretanto, dificilmente um plano vencedor não pode ser de alguma forma digitalizado e modelado. Se não puder, minha sugestão é que você troque de plano.

Essa é uma tática óbvia, que se aprende desde a época de vestibulando. Se você tiver dúvida sobre ortografia na hora da prova de redação, então mude a frase ou até mesmo a ideia que está desenvolvendo, mantendo o mesmo enfoque.

Na verdade a utilidade dos robôs no mercado financeiro ainda é extremamente mal entendida.

Para muitos robôs tem o mesmo significado que automação de tarefas, no modelo de Taylor.

Eliminando o fator chute dos seus trades

Ora, será que a tecnologia não evoluiu mais que isso? Se a capacidade de processamento dos circuitos integrados dobra a cada dois anos, será que os robôs continuam apenas meros executores operacionais?

Sim, evoluiu e muito, a ponto de a tecnologia poder modelar e estudar praticamente todo e qualquer tipo de estratégia. O que é fantástico, pois ajuda e muito você descobrir novos planos de trading.

Basta escolher o plano certo, e, principalmente, os que podem de forma eficaz serem modelados.

E, conseguindo isso, automaticamente serão eliminados os fatores subjetivos, emocionais e os chutes nos seus trades.

Na prática, o apoio da tecnologia para modelagem de seu plano de trading ajudará você obter resultados mais precisos e bem planejados.

Uma das inovações mais fantásticas trazidas para o mercado pela Metaquotes, na sua mais nova versão da plataforma Metatrader (que é o MQL5), foi a simulação distribuída.

Tenho conseguido um desempenho de simulação de estratégias que justifica todo o esforço de migração para essa nova plataforma.

Na versão anterior (MQL4) era necessário aguardar dias e dias por resultados para expert advisors mais complexos. Hoje, no MQL5, em poucas horas, dezenas de computadores em todo mundo simulam qualquer estratégia simultaneamente, como mostra a tela abaixo de um dos testes que estou realizando.

Através da Cloud Network, a capacidade de processamento é ilimitada, como no exemplo onde no momento da foto existiam 21 servidores em todo mundo a disposição dos testes da minha estratégia, principalmente se você estiver disposto a alugar capacidade de processamento.

O resultado dessa tecnologia é que novos sistemas de investimento, estratégias e setups podem ser exaustivamente testados como nunca antes, o que é realmente uma inovação para esse mercado e na minha opinião o grande diferencial de arquitetura dessa plataforma.

Um exemplo de novo sistema de investimento que estou testando, graças a essa evolução, é um sistema inteligente capaz de corrigir detecções errôneas de tendência apenas por gestão financeira dinamicamente ajustável (como na tela abaixo).

Esse novo sistema, que irá futuramente fazer parte das plataformas da Trajecta, parte do princípio que a gestão financeira deve garantir que, no pior caso, o lucro seja zero.

Ou seja, mesmo com os piores detectores de tendência e reversão de mercado (como por exemplo baseados apenas em critérios básicos), o sistema é capaz de sobreviver fazendo uma gestão inteligente.

Obviamente o poder de um sistema desses aparece quando boas estratégias de detecção de tendência são utilizadas, principalmente as que dependem de centenas de critérios para entrada e saída, o que só os robôs são capazes de monitorar.

Esse nível de projeto, que antes era um sonho repousando na gaveta, ganha espaço com a entrada de ferramentas de simulação distribuída no nível de cloud computing que estamos atingindo com novas ferramentas como a plataforma MQL5.

Pergunta recebida:

“Você refere ao EUR/CHF como um dos principais indicadores atuais de crise da economia mundial utilizado pelos seus robôs. Considero muito interessante, mas não seria mais correto o Ouro, uma vez que ele está sobrecomprado como dizem a maior parte dos analistas?”

Resposta:

Antes de mais nada sempre é bom lembrar que a detecção de uma situação de sobrecomprado ou sobrevendido será sempre subjetiva e analítica, uma vez que no futuro tudo pode acontecer.

Entretanto se utilizarmos a tecnologia para buscar essas situações de mercado em ativos, instrumentos, indicadores, etc, temos uma vantagem de deixar o emocional de lado.

A primeira vista, olhando o gráfico internacional do Ouro a situação parece realmente de sobrecomprado, mas não é o que indica o Supertrend, que é o indicador de visão que utilizo na Trajecta, fruto da análise quantitativa de várias plataformas, como pode ser visto na tela abaixo.

Pelo Trajecta SuperTrend o Ouro no mercado internacional ainda não atinge a situação de sobrecomprado, mesmo tendo atingido um topo histórico e enfrenta uma congestão nesse topo.

O emocional nos leva a considerar um topo histórico como uma situação de sobrecomprado, e isso não é nada mais que um paradigma que confunde muitos investidores.

Entretando o EUR/CHF, apesar de não estar em seu fundo histórico, encontra-se realmente em um cenário sobrevendido, de acordo com o Supertrend, como apresentado nos posts anteriores do blog.