RESUMO este artigo consiste numa breve análise dos aspectos positivos e negativos de se automatizar estratégias para investimentos em ações, commodities, divisas e outros instrumentos financeiros. São comparadas diferentes etapas do desenvolvimento de uma estratégia, com e sem recursos de automação, e são avaliados os resultados em cada etapa. Na fase de otimização, destacam-se as vantagens proporcionadas pelo uso de algoritmos genéticos, que possibilitam lidar com problemas envolvendo 9,22 quintilhões de configurações. Na etapa de validação é apresentada uma pequena inovação, comparando dois ou mais backtests em condições levemente diferentes, em lugar da tradicional comparação entre backtest e situação real, que implica algumas vantagens.
1. PIONEIROS EM AUTOMAÇÃO Em 1960, Richard Donchian, B.A. em Economia pela Universidade de Yale, sugeriu a utilização das tecnologias emergentes na época para mecanizar a testagem de estratégias, tornando este processo mais rápido, preciso e objetivo. Em 1970, Edward Seykota, B.Sc. em Engenharia pelo MIT, ao ler uma carta de Donchian sobre este assunto, entusiasmou-se com as ideias de Donchian e implementou o primeiro sistema automático de que se tem registro. De acordo com Jack Schwager (Market Wizards, 1988), o sistema de Seykota teria transformado US$ 5.000,00, aplicados em 1972, em US$ 15.000.000,00 até meados de 1988, porém os resultados alegados no livro de Schwager não são acompanhados de documentos nem de evidências. A julgar pela tecnologia disponível na época e pela evolução da história de Seykota, é provável que a modelagem matemática feita por Seykota apresentasse inexatidões que geravam resultados nos backtests acima do que seria realmente possível obter em situação real. Em 1982, James Simons, Ph.D. em Matemática pela Universidade da Califórnia e distinguido com alguns prêmios internacionais, criou o fundo Renaissance Technologies e passou a utilizar um sistema que desenvolveu para administrar este fundo. Ao longo dos últimos 32 anos, Simons obteve um retorno anual médio acima de 60% (35% líquido, após descontar 44% de taxa de performance e 5% de taxa de administração). Atualmente, Simons é citado na Forbes como tendo patrimônio pessoal líquido de 12,5 bilhões de dólares e é reconhecido como o melhor gestor do mundo nas últimas décadas, à frente de Soros e Buffett. Simons foi provavelmente o primeiro a obter resultados consistentes, homogêneos e estáveis a longo prazo, com o uso de sistemas automáticos, e continua sendo o melhor na gestão de volumes no nível de dezenas de bilhões de dólares, embora já exista pelo menos um sistema superior ao dele para gestão de volumes menores.
2. ANÁLISE TÉCNICA E ANÁLISE FUNDAMENTALISTA
É habitual estratificar as metodologias de investimentos em dois grandes grupos: Análise Quantitativa (ou Análise Técnica) e Análise Fundamentalista. Particularmente, considero mais apropriado segmentar em três grupos: Análise Científica, Analise Filosófica e Análise Esotérica.
1. No grupo de analistas científicos estão James Simons, Ed. Seykota, Robert Pardo, Edward Thorp e outros que adotam protocolos rigorosos, em conformidade com a Metodologia Científica contemporânea e com a Lógica Formal. Um analista científico se distingue pelo uso de ferramentas estatísticas para investigar as propriedades quantitativas e morfológicas nos históricos de cotações, reconhecendo fragmentos de padrões que se repetem e utilizando estes dados para calcular as probabilidades de que as cotações sigam em determinada direção.
2. No grupo de analistas filosóficos estão George Soros, Warren Buffett, Jimmy Rogers, Paul Tudor Jones e outros que, embora norteiem suas decisões com base em avaliações subjetivas, também fazem bom uso da Lógica e da Metodologia Científica e alcançam resultados práticos que corroboram a eficiência de seus métodos. Um analista filosófico se distingue pela habilidade para identificar fatores relevantes na Macroeconomia, na Política, no clima, na Cultura e outros que determinam o movimento dos preços, empregando seus conhecimentos e seu feeling para ponderar sobre a importância relativa destes fatores, visando compreender a estrutura das inter-relações entre eles e interpretar efeitos que produzem sobre as cotações no Mercado Financeiro.
3. O grupo dos analistas esotéricos é muito heterogêneo e abrangente, cobrindo uma larga variedade de perfis. Tratam-se de pessoas que perdem dinheiro de forma sistemática e sua participação introduz ruído nos movimentos dos preços, porque os “métodos” que utilizam são ineficazes e equivalem a operar aleatoriamente. Constituem a grande maioria dos agentes do Mercado, englobando vendedores de livros de Análise Técnica, de cursos de Análise Gráfica, seus alunos e seguidores. Suas decisões não se apoiam na Lógica nem na Ciência, mas em superstições e dogmas. Os métodos que adotam carecem de fundamento e nunca passaram por algum experimento meticuloso que visasse a validação de suas estratégias.
Pela classificação habitual, os integrantes do primeiro e do terceiro grupos seriam mesclados num só: “analistas técnicos”. Mas há fortes razões para que sejam segregados em grupos distintos, não apenas porque adotam métodos essencialmente diferentes, mas também porque os efeitos que produzem ao atuar no Mercado são praticamente opostos: o primeiro grupo contribui para organizar as cotações do Mercado em estruturas menos caóticas, isto é, reduz a entropia, enquanto o segundo grupo aumenta a entropia.
Outrossim, sob os pontos de vista etimológico e semântico, os termos “analista científico”, “analista filosófico” e “analista esotérico” são mais pertinentes e descrevem com mais exatidão as características observadas no perfil típico dos integrantes de cada um destes grupos.
Feita esta distinção, pode-se avaliar o impacto dos avanços tecnológicos nos últimos anos sobre os diferentes perfis de investidores:
Para os analistas fundamentalistas, os recursos de automação ainda não atingiram um patamar que lhes permita desfrutar as novas tecnologias tanto quanto estão sendo desfrutadas pelos analistas científicos. Mesmo com o uso de Lógica Difusa e Redes Neurais, é muito difícil “ensinar” a uma máquina os critérios recomendados por Benjamin Graham para tomar decisões de compra e venda. A seleção das informações que devem ser usadas para abastecer o sistema também acaba sendo muito subjetiva e com grandes riscos de ser enviesada. Isso inviabiliza a automação de estratégias filosóficas, em nosso atual estágio de desenvolvimento tecnológico.
Para os analistas esotéricos, os novos avanços representam uma ameaça, porque os desmascaram e colocam em evidência a fragilidade das crendices que eles tentam disseminar.
Para os analistas científicos, a possibilidade de automatizar uma estratégia constitui um salto evolutivo extraordinário, permitindo a emergência de nomes como James Simons, acima de expoentes mundiais que dominavam o cenário há décadas, com Buffett e Soros. Se Simons tivesse vivido 50 anos antes, provavelmente não teria qualquer destaque como investidor. A grande revolução provocada pela automação de estratégias se dá entre os analistas científicos, por isso, neste artigo, este será nosso foco.
3. FORMULAÇÃO DE UMA ESTRATÉGIA
Para compreender melhor alguns dos efeitos produzidos pelas tecnologias que permitem a automação de estratégicas, faremos um estudo de caso com uma estratégia simples, desde sua concepção, passando pela otimização de seus parâmetros, sua validação e sua execução em situação real.
A primeira etapa a ser seguida para formular uma estratégia de investimentos consiste em investigar as propriedades do Mercado. É a partir da análise de padrões morfológicos, que se repetem com maior regularidade e maior frequência no histórico de cotações, que se consegue determinar os instantes em que ocorrem picos de assimetria nas probabilidades de o movimento dos preços seguir em determinada direção. Se estes estudos forem feitos manualmente – isto é, de forma não automatizada – haverá dois problemas fundamentais e altamente restritivos:
Subjetividade na classificação e no agrupamento de padrões semelhantes;
Tempo necessário para análise e testagem.
A utilização de ferramentas estatísticas como Análise Hierárquica de Conglomerados, Nuvens Dinâmicas, Wavelets ou Redes Neurais possibilita agrupar padrões semelhantes conforme critérios objetivos, o que representa uma vantagem importante em comparação ao reconhecimento idiossincrático de padrões. Para que se possa testar a eficiência de uma estratégia, antes de tudo ela precisa ser representada com exatidão e univocidade, por meio de critérios claros e bem definidos. Esta é uma das vantagens da automação. Quando se testa manualmente, corre-se o risco de mudar ligeiramente os critérios em cada operação, de sorte que, ao final, não é possível saber se o resultado alcançado indica com fidelidade a eficiência da estratégia ou se está fortemente enviesado pela vontade da pessoa de que a estratégia seja vitoriosa. O nível de sofisticação e de complexidade de uma estratégia analisada manualmente também fica muito limitado, ao passo que uma estratégia automatizada pode atingir níveis altíssimos, tão altos quanto a imaginação do autor e a tecnologia de 64 bits permitirem. A proporção entre o tempo necessário para analisar, manualmente ou automaticamente, o histórico de um ativo em busca de padrões, também é uma das vantagens mais importantes em favor da automação.
4. OS BENEFÍCIOS DA OTIMIZAÇÃO
Em geral, uma estratégia simples pode levar dezenas de horas para ser testada manualmente numa série histórica de 20 anos de cotações, com risco de que ocorram vários erros na aplicação dos critérios de compra e venda e na especificação dos pontos exatos de entrada e saída. Se a mesma estratégia for automatizada, ela pode ser testada numa fração de segundo, praticamente sem risco de erros na aplicação dos critérios. Esta vantagem em tempo implica a possibilidade de re-testar a estratégia milhares ou milhões de vezes, utilizando em cada re-teste uma configuração diferente para os parâmetros que determinam os critérios de entrada e saída. Essa superioridade em poder de processamento possibilita algo que não costuma ser feito manualmente, que é a otimização.
Suponhamos uma estratégia do tipo:
Indicador: IFR de 14 períodos.
Critério de entrada: Quando IFR < 25 compra usando 100% da carteira.
Critério de saída: Quando IFR > 75, vende 100% da carteira.
Se atingir um lucro de 5%, fecha com take profit.
Se atingir um prejuízo de 5%, fecha com stop loss.
Depois que o lucro ultrapassar 2%, move o trailing stop para 1% e vai acompanhando as cotações à metade da distância entre o ponto de entrada e o preço no momento.
Ao testar esta estratégia com timeframe de 15 minutos em EURUSD, entre 1986 e 2014, podemos constatar que ela rapidamente leva a carteira à ruína. Mas e se modificar os valores de alguns parâmetros, ela poderia funcionar? Se a estratégia não for automatizada, cada nova mudança no valor de um ou mais parâmetros exigirá 20 ou 50 horas de testagem, e ao longo da testagem a pessoa será induzida a fazer alterações na estratégia antes de concluir o teste, por cansaço, por ansiedade, por economia de tempo e outros motivos, de modo que o resultado do teste não refletirá corretamente a eficiência da estratégia. Aliás, os resultados de estratégias testadas manualmente costumam ser tão destoantes da realidade que chega a ser assustador. É muito frequente que a pessoa teste manualmente uma estratégia e fique convencida de que ela é boa, porque no backtest se mostrou lucrativa ao longo de 10 anos, 20 anos ou mais, porém basta fazer um backtest automático para acabar com a ilusão e constatar que a estratégia conduz à ruína em menos de 1 ano, não importando qual seja a data do início do teste. Os gráficos abaixo mostram os resultados de 4 configurações para a estratégia com IFR 25/75, 20/80, 15/85 e 10/90, respectivamente:
A linha azul na parte superior de cada gráfico representa a evolução do balanço da carteira. As barras verdes na parte inferior de cada gráfico representam o volume negociado em cada operação. Os números no eixo das abscissas são os IDs das operações. No eixo das ordenadas está o balanço em dólares. Podemos observar que a longo prazo (27,5 anos) todas as configurações testadas perdem, embora algumas configurações possam se manter lucrativas durante alguns meses. Também podemos observar que com IFR 25/75 perde-se muito mais rápido do que com IFR 10/90. Isso não acontece porque a última configuração seja melhor, mas sim porque se o critério for IFR90, este critério é atendido mais raramente e são gerados menos sinais para operar, logo, com menos operações, perde mais lentamente. Quando a estratégia é automatizada, além de produzir resultados confiáveis, altamente representativos de como aquela estratégia teria performado se tivesse sido utilizada em situação real no mesmo período dos dados históricos, existe a possibilidade de refazer o teste sucessivas vezes, modificando os valores dos parâmetros a cada vez. Fazendo 1 backtest por segundo, pode-se testar mais de 10.000 configurações diferentes em 3 horas. Isso pode parecer muito, mas quando se calcula o número total de configurações possíveis, percebe-se que na verdade é pouco. Para testar todos os períodos de IFR entre 3 e 32, todos os valores de IFR de compra e IFR de venda entre 0 e 100, variando de 1 em 1; todos os valores de stop loss entre 0,1% e 10% variando de 0,1% em 0,1%; todos os valores de take profit entre 0,1% e 10% variando de 0,1% em 0,1; todos os valores de trailing stop entre 0,1% e 8% variando de 0,1% em 0,1%, teremos 30 x 101 x 101 x 100 x 100 x 80 combinações diferentes ou 2,4 x 10 11 possibilidades. Se fizer 1 backtest a cada segundo, levaria 8.000 anos para testar todas estas possibilidades. Se a estratégia fosse um pouco mais complexa, com 10 parâmetros em vez de 6, facilmente excederia a idade teórica do Universo observável (no modelo cosmológico de Friedmann-Lamaître)
5. ALGORITMOS GENÉTICOS NO PROCESSO DE OTIMIZAÇÃO Felizmente, para encontrar configurações que tenham alta probabilidade de estarem próximas de serem as melhores configurações possíveis, não é necessário testar a maior parte das combinações possíveis. O uso de Algoritmos Genéticos possibilita que a atribuição de valores aos parâmetros da estratégia seja feita criteriosamente, com base nos resultados obtidos pelas configurações testadas anteriormente, e isso acelera muitíssimo o processo de busca pela melhor configuração.
O Metatrader 4 é uma plataforma para otimizações, backtests e operações que tem um algoritmo genético simples, por meio do qual se pode testar cerca de 10.000 configurações selecionadas entre até 2 63–1 genótipos diferentes, isto é, entre 9,22 quintilhões (9,22 x 10 18 ) de combinações diferentes, de modo que nesta pequenina amostra de 10.000 haja probabilidades razoáveis de que estejam presentes alguns dos melhores genótipos do conjunto inteiro de 9,22 quintilhões. O uso de algoritmos genéticos permite encontrar configurações promissoras para estratégias complexas, que de outro modo levariam muito mais do que bilhões de anos para serem descobertas. De maneira resumida e simplificada, um algoritmo genético combina as configurações de pares de genótipos de cada geração para definir as configurações dos genótipos na geração seguinte, atribuindo ao genótipo de cada geração uma probabilidade de cruzamento proporcional ao seu escore de adaptação, e introduzindo diferentes níveis de mutação com diferentes níveis de probabilidade. Para um conjunto de 9,22 quintilhões de possibilidades, este mecanismo produz resultados trilhões de vezes superior ao que seria possível obter por meio de escolhas aleatórias. O gráfico a seguir mostra os resultados de uma otimização da versão 9.01a do Saturno V:
Cada ponto azul representa um genótipo. O eixo das abscissas representa o ID de cada genótipo, que neste caso coincide também com o número da geração, porque cada geração tem população de apenas 1 indivíduo. O eixo das ordenadas indica o balanço final alcançado. Nas primeiras gerações, a performance média dos genótipos vai aumentando exponencialmente, mas o ritmo de evolução vai se tornando cada vez mais lento. Se o gráfico incluísse mais alguns milhares de gerações, logo haveria uma assíntota e esbarraria num teto de performance que representaria um valor bastante próximo ao máximo possível para esta estratégia. Isso poderia indicar um máximo local, que não foi desviado por uma função tabu, ou poderia acontecer porque realmente foi possível encontrar configurações com performances próximas ao máximo que se pode conseguir com esta estratégia. É muito interessante que entre um total de 9.223.372.036.854.775.807 de configurações, um algoritmo genético relativamente simples consegue selecionar apenas 10.000 configurações a serem testadas e ter boas chances de que entre estas 10.000 esteja incluída a melhor ou uma das melhores configurações possíveis. Os benefícios que se pode obter com este gênero de ferramenta são excepcionais, não apenas pela economia de tempo, mas principalmente por permitir encontrar soluções muito razoáveis para problemas cuja solução exata seria impossível num horizonte de tempo de uma vida.
6. A IMPORTÂNCIA DA VALIDAÇÃO DE UMA ESTRATÉGIA Depois que as propriedades de um ativo financeiro foram escrutinadas até descobrir alguns padrões que prenunciam assimetrias nas probabilidades dos movimentos dos preços, depois que este conhecimento foi utilizado para formular uma estratégia, depois que esta estratégia teve seus parâmetros quantitativos e qualitativos otimizados, e as melhores configurações se mostraram promissoras, chega-se perto da fase final, que consiste na confirmação dos resultados obtidos e validação da estratégia. Há 3 perguntas importantes que precisam ser respondidas antes de se usar uma estratégia em situação real: 1) Como esta estratégia teria se saído se tivesse sido usada nos últimos anos ou nas últimas décadas? 2) Que motivos se pode ter para acreditar que os resultados obtidos nos últimos anos ou últimas décadas serão mantidos nos próximos anos ou décadas? 3) Que motivos se pode ter para supor que os resultados obtidos nos backtests sejam representativos dos resultados que seriam obtidos em situação real? Uma das maneiras adequadas de se buscar as respostas para as duas primeiras perguntas consiste em dividir os dados históricos em duas partes. A primeira parte servirá para fornecer ao sistema automático um grande volume de dados sobre as propriedades do Mercado, e estes dados serão usados para otimizar os parâmetros da estratégia. A segunda parte servirá para conferir se a configuração obtida para o genótipo campeão na primeira parte continua funcionando em cenários diferentes daqueles no qual a otimização foi realizada. Por exemplo: se temos dados históricos de 1986 a 2014, podemos utilizar o intervalo de 1986 a 1990 para otimizar os parâmetros da estratégia, com o auxílio do algoritmo genético. Depois usamos o genótipo campeão neste período para operar no período seguinte, de 1991 a 2014, e verificamos se ele continua gerando lucros de forma consistente. Se a qualidade da série histórica for boa e o backtest for bem conduzido em todos os pormenores técnicos, este resultado equivale a estar vivendo no ano de 1990, dispondo de dados históricos de 1986 a 1990, e usar estes dados para otimizar a estratégia, para depois colocar o sistema operando em situação real a partir de 1991. Se funcionar, é o primeiro forte indício de que a estratégia é eficiente. Não se deve esperar que um genótipo resultante de uma otimização em determinado período atinja mesmo nível de rentabilidade num período diferente, porque quando a estratégia é otimizada num período específico, cada genótipo treinado neste período teve que se adaptar a algumas propriedades particulares dos cenários inerentes a este período e outras propriedades que estão presentes em qualquer momento histórico, ou seja, propriedades gerais, universais, atemporais. Quando este genótipo é colocado para operar num período diferente, não vai encontrar as propriedades exclusivas do período de otimização, mas vai encontrar as propriedades universais e atemporais, por isso o genótipo reconhecerá uma porcentagem menor de padrões e sua performance tende a ficar um pouco abaixo da que havia sido obtida no período em que foi otimizado. Por isso não se deve descartar como “ruim” um genótipo que tenha 25% de lucro ao ano entre 1986 e 1990 e 15% ao ano entre 1991 e 2014. Apenas convém fazer alguns testes de homogeneidade, heteroscedasticidade e anisotropia para verificar se a diferença observada é estatisticamente esperada ou se sinaliza algum perigo de overfitting. O Saturno V é uma exceção, por ser um sistema adaptativo capaz de “deduzir” como lidar com padrões inéditos, com base na interpolação ou extrapolação de padrões conhecidos. Interpolar e extrapolar dados numa função suave e contínua, definida por uma métrica Minkowskiana, é bastante simples, mas interpolar dados de maneira fundamentalmente correta numa série temporal fractal é muito mais difícil. Um bom sistema adaptativo também pode modificar-se e refinar seus critérios conforme o nível de erros e acertos nas tentativas de reconhecimento dos novos padrões. Isso permite que os resultados obtidos em qualquer período sejam muito mais semelhantes aos resultados do período de otimização, e assegura maior homogeneidade na performance. Não obstante, quando ocorre uma abundância anormal de padrões inéditos, como na crise da Grécia, em 2010, isso pode afetar a performance um pouco mais. Dependendo das anomalias, elas podem ter efeito positivo, como o estouro da bolha do subprime, em 2008, a crise “.com” em 1999- 2000, ou a quebra da Bolsa de Nova Iorque, em 1929, porque estes eventos estão associados a fortes tendências e contribuem para aumentar os lucros de estratégias baseadas em movimentos de tendência. A pergunta número 3 pode ser respondida mediante a comparação dos resultados de uma conta real com os resultados de um backtest no mesmo período. Esta comparação permite diferentes tipos de análise sobre a similaridade ponto a ponto, similaridade local e similaridade global. Embora não exista um ponto de corte que define se a similaridade é boa o suficiente, pode-se adotar como critério uma proporção de 9 para 10 no lucro anual médio, ou 0,9 T para a proporção no balanço histórico, onde “T” é o tempo em anos. Se as respostas para as 3 perguntas forem positivas, no sentido de que os backtests se mostraram representações fidedignas do que se pode esperar na situação real e que as otimizações num período específico são capazes de determinar configurações que permanecem lucrativas por longos períodos diferentes daquele no qual a otimização foi realizada, então se tem uma nítida corroboração formal de que a estratégia é adequada para uso em situação real. Este procedimento tem a vantagem de ser altamente fidedigno, porque compara diretamente a situação real com o backtest, mas tem algumas desvantagens, uma das quais é que demora no mínimo alguns meses para reunir um período razoável de resultados reais para esta comparação. Pode-se também estimar a dissimilaridade entre backtest e situação real em períodos longos, de vários anos, sem precisar aguardar vários anos. Uma maneira simples e eficiente de se fazer isso consiste em comparar os resultados de um backtest numa série histórica tick-by-tick com o backtest numa série histórica removendo os ticks internos de cada candle de 1 minuto ou de 5 minutos. Este tipo de comparação confere maior controle sobre diversas variáveis, possibilitando conhecer a magnitude das diferenças produzidas no balanço em função das diferenças de latência na execução, de slippages, de variações no spread etc. Também se pode comparar backtests em séries tick-by-tick de duas ou mais fontes diferentes, ou em séries com ticks reais e com ticks artificiais, entre outras possibilidades, para atingir diferentes propósitos. Se a finalidade é conhecer a provável dissimilaridade máxima esperada entre backtest e situação real, então o método de comparar backtests em séries tick-by-tick com backtests em series com candles vazios cumpre bem esta função, já que a diferença entre o backtest com candles vazios em comparação ao backtest com todos os ticks e atraso médio de 5 segundos em cada operação, será presumivelmente maior do que a diferença entre situação real e o backtest com todos os ticks. Os dois gráficos abaixo permitem uma comparação de backtests com o Saturno V entre 4/5/2007 e 30/4/2014, numa série histórica de EURUSD da Dukascopy. No primeiro gráfico, foi usada a série tick-by-tick e no segundo foram usados candles vazios de 15 minutos:
Podemos notar que a similaridade entre os dois gráficos é muito alta, não apenas de modo geral, mas também considerando cada pequeno trecho. A diferença no número total de operações também é pequena (menos de 1%), e podemos notar que o balanço final, além de ser bastante semelhante, é menor na série histórica de candles vazios do que na série tick-by-tick, fazendo com que as projeções sejam subestimadas, ou seja, se interpretar que o resultado na série histórica com candles vazios está para o resultado na série histórica tick-by-tick assim como o resultado na série histórica tick-by-tick está para o resultado na situação real, então é esperado que os lucros reais devem ser um pouco maiores do que as projeções baseadas nos resultados dos backtests.
Há outras providências que podem ser tomadas para deixar os backtests mais difíceis do que na situação real, de modo a forçar para que os resultados reais tenham boas probabilidades de serem melhores do que os prognósticos. Por exemplo: pode-se usar spreads maiores que os reais, ou corretagens maiores que as reais, ou uma combinação de ambas.
Neste exemplo, a comparação confirmou as expectativas e a estratégia foi validada com sucesso (na verdade, havia sido validada em 2010, com base em outros testes). Mas na grande maioria das vezes, o resultado na etapa de validação é negativo e são necessários muitos aprimoramentos na metodologia de testagem e na filtragem de ruídos da série histórica, até que se atinja um nível razoável de similaridade entre backtest e situação real.
Para atingir um bom nível de similaridade, os backtests precisam levar em conta os seguintes fatos:
Spread (diferença entre preço de compra e de venda).
Taxas de corretagem, emolumentos, custódia, liquidação, swaps.
Latência nas execuções e slippages.
Penetração no livro de ofertas.
Os atrasos nas execuções podem resultar em preços um pouco melhores, algumas vezes, e um pouco piores, outras vezes, mas a penetração no livro de ofertas sempre resulta em preços piores do que as cotações exibidas no topo do livro de ofertas. Por isso, para estratégias que envolvem operações curtas (algo como 1% de lucro ou de prejuízo em cada operação), é fundamental que os backtests sejam acurados na reprodução de todos os detalhes da situação real. Para estratégias que envolvem operações mais longas, e os volumes administrados são relativamente pequenos em comparação ao nível de liquidez do Mercado, a importância relativa de detalhes como a penetração no livro de ofertas acaba sendo menor. Por outro lado, se os volumes negociados forem grandes a ponto de influenciarem nas cotações e penetrarem profundamente no livro de ofertas, as simulações nos backtests precisam representar também estes fatos, com tanta exatidão quanto possível. Com séries históricas de boa qualidade e backtests realizados adequadamente, pode-se testar a qualidade de uma estratégia com bastante rigor, e saber de antemão os níveis de risco e rentabilidade que se pode esperar dela quando for usada em situação real. Pode-se ter controle sobre muitas variáveis envolvidas e verificar como a estratégia se comporta em diferentes condições. Contudo, a automação não faz milagres e não transforma uma estratégia perdedora em lucrativa. A automação permite extrair o melhor de cada estratégia e conhecer suas reais possibilidades de sucesso, antes de executá-la em situação real, enquanto a imaginação humana continua desempenhando o papel central em todas as etapas, especialmente na etapa mais importante, que é a criação da estratégia. Em 2006, analisei mais de 500 estratégias divulgadas em sites sobre investimentos e cerca de 2.000 variantes das estratégias originais. Foram testadas milhares de configurações para cada uma delas, mas nenhuma se mostrou lucrativa a longo prazo e apenas duas apresentaram indícios de que poderiam se tornar lucrativas se fossem exaustivamente otimizadas. Em 2010 e 2014, fiz novos testes com as estratégias que receberam reviews mais favoráveis dos usuários, em sites especializados, e os resultados não foram melhores do que em 2006. Estes fatos revelam que apesar do imenso poder de processamento proporcionado pelo uso de computadores, multiplicado pelas vantagens de se usar algoritmos genéticos nas otimizações, ainda assim é muito difícil e muito raro uma estratégia realmente eficiente, consistente e estável a longo prazo. Por isso, para a grande maioria das pessoas, a automação de suas estratégias favoritas acaba não atingindo o objetivo de lucrar com o uso delas, e os testes acabam apenas revelando que suas estratégias mais queridas não funcionam. Apesar desta realidade parecer amarga para muita gente, seus efeitos são benéficos, porque ajudam a evitar que se perca grandes somas em dinheiro usando estratégias perdedoras. Por mais decepcionante que seja assistir à sua estratégia favorita zerando a carteira em backtests, é muito melhor do que esta mesma cena em sua conta real. Referências bibliográficas: http://dlmf.nist.gov http://mathworld.wolfram.com https://www.statsoft.com/textbook http://www.wikipedia.org