A escolha de um bom automóvel ou bom computador não é tão simples quanto a escolha de um bom shampoo. Isso porque o shampoo deve durar poucos dias ou semanas, enquanto o automóvel ou computador pode durar meses ou anos. A escolha de um curso universitário é ainda mais difícil que a escolha de um automóvel, e geralmente é também mais duradoura. A escolha de um bom investimento pode estar num nível similar ao da escolha de um curso universitário, por isso é muito importante dedicar o tempo necessário para maximizar as chances de acertar nessa escolha, pois ela pode durar pelo resto da vida e trazer grandes alegrias, ou muitas frustrações.
Há muitos critérios que podem e devem ser considerados nessa escolha, mas um deles se destaca de todos os outros. Nesse artigo, trataremos precisamente da característica mais importante que precisa ser considerada quando se deseja avaliar um investimento.
QUAL É ESSA CARACTERÍSTICA
Se tivéssemos uma bola de cristal que permitisse prever o futuro deterministicamente, então a resposta seria muito simples: rentabilidade. Todas as outras características estariam subordinadas a essa. O problema é que no mundo real não existem bolas de cristal com as quais se possa prever o futuro de forma determinística, mas existe a Ciência, com a qual se pode prever o futuro de forma probabilística. Nessa conjuntura, o melhor que podemos fazer é examinar o histórico de um investimento em busca de elementos que nos permitam prognosticar seus prováveis desdobramentos, comparar com os prognósticos para outros investimentos e, assim, escolher o que oferece perspectivas mais promissoras.
É sempre importante lembrar que não faz sentido comparar o passado de um investimento com o passado de outro investimento para decidir qual o melhor. O correto é usar o passado de cada um para fazer um prognóstico sobre o futuro e, então, comparar esses prognósticos para decidir qual tem maior probabilidade de gerar melhores resultados no futuro.
Quando se analisa os fatos corretamente, percebe-se que muitas vezes o investimento com melhor passado não é necessariamente o melhor para o futuro. O caso da empresa de Buffett é um bom exemplo disso. A Berkshire foi um excelente investimento nos anos 1960 e 1970, foi um bom investimento nos anos 1980 e 1990, mas nos últimos 15 anos tem sido um investimento mediano, que empata com o índice, e as perspectivas futuras para a Berkshire não são animadoras. As ações da Microsoft foram um excelente investimento entre 1990 e 1999, mas foram decepcionantes de 2000 a 2009.
Por isso a característica mais importante a ser analisada em um investimento é a combinação de ergodicidade e performance ajustada ao risco.
ERGODICIDADE E PERFORMANCE AJUSTADA AO RISCO
A ergodicidade permite determinar se o comportamento “inteiro” de um histórico é bem representado por cada parte desse histórico, desde que cada parte seja suficientemente extensa.
A rentabilidade ajustada ao risco é simplesmente a relação entre risco e recompensa. Investir em ações mais voláteis permite obter maiores lucros, mas também implica maiores perdas, portanto não constitui uma vantagem real [*]. É necessário encontrar investimentos que proporcionem um aumento na rentabilidade, sem que o risco cresça na mesma proporção.
A ergodicidade sozinha é inútil como critério, porque de pouco adianta os resultados passados se repetirem no futuro se os resultados passados forem ruins. A ergodicidade não nos diz se o passado é bom ou ruim. Diz apenas se é provável que será mantido no futuro.
Do mesmo modo, a rentabilidade ajustada ao risco sozinha também é inútil, porque de nada adianta ter um excelente histórico de altíssima rentabilidade no passado, se não houver motivos lógicos e matemáticos para que esses resultados se mantenham no futuro.
Portanto a combinação de “ergodicidade” + “performance ajustada ao risco” são os principais critérios que devem nortear as escolhas dos melhores investimentos.
COMO VERIFICAR SE UM INVESTIMENTO É ERGÓDICO
O “problema” é que os investimentos tradicionais, em sua grande maioria, nem sequer atendem aos quesitos mínimos para que se possa verificar se são ergódicos. Para que essa verificação possa ser realizada, é necessário que o investimento atenda a duas condições básicas:
1. O investimento precisa ser baseado numa estratégia objetiva.
2. Essa estratégia precisa ser testada num histórico suficientemente longo e diversificado.
A estratégia precisa ser objetiva porque se a pessoa opera com base em palpites, não há como automatizar esse processo nem testar de maneira sistemática se a estratégia realmente funciona. Mais adiante, farei uma explicação resumida sobre como os testes precisam ser realizados para conferir se uma estratégia é realmente lucrativa.
O histórico precisa ser longo e diversificado para cobrir uma variedade suficientemente grande de cenários, de modo a evitar surpresas desagradáveis. Quanto mais longo o histórico e quanto maior o número de cenários hostis contidos nesse histórico, tanto melhor, pois indicará quão bem a estratégia se comporta ao enfrentar situações de extrema dificuldade.
Descreverei, como exemplo, a maneira como é realizado o teste no caso do Saturno V. Para começar, precisamos compreender o que é uma série histórica de cotações e quais propriedades fundamentais essa base de dados deve ter para que produza resultados confiáveis.
SÉRIE HISTÓRICA DE COTAÇÕES
Para assegurar que os resultados obtidos nos backtests sejam boas representações da situação real, a série histórica precisa cumprir alguns quesitos:
1. Todos os parâmetros do cabeçalho FXT precisam ser iguais aos parâmetros reais (spreads, corretagens, swaps e todas as taxas, limites de margem, discretização nos tamanhos de lotes, discretização de cotações, distribuição de atrasos nas execuções etc.). Tudo precisa ser igual à situação real, ou pelo menos ser tão semelhante quanto possível.
2. Precisa utilizar cotações reais, preferencialmente obtidas de fontes oficiais. Mesmo assim, esses registros costumam conter erros, que devem ser filtrados, as gaps precisam ser preenchidas de maneira adequada, os splits e inplits precisam ser normalizados etc.
3. Resolução suficiente para simular com precisão e acurácia os pontos de entradas e saídas. Idealmente a série histórica deve ser tick-by-tick, mas em algumas situações, algumas estratégias podem ser testadas em históricos minuto-a-minuto. Há muitos fatores que precisam ser considerados em relação à resolução e não seria possível resumir aqui, mas há vários outros artigos nos quais abordo esse tema com maiores detalhes.
4. Mesmo tomando todos os cuidados nos itens 1, 2 e 3, é importante testar a estratégia numa conta real, registrar as cotações durante esse período de teste, depois executar um backtest usando esse registro das cotações, para conferir se os resultados no backtest são suficientemente semelhantes aos que foram produzidos na conta real.
É fácil perceber que os itens 1 e 2 são muito importantes, mas não é tão evidente a importância do item 4 ou mesmo do item 3. O item 4 é extremamente importante porque não se pode simplesmente assumir que, pelo fato de os registros serem provenientes de uma fonte oficial, estejam isentos de erros. Embora os erros sejam raros, dependendo do tamanho desses erros, é necessário que sejam filtrados para evitar desastres. O item 3 também é extremamente importante e isso fica muito claro quando se realiza o teste citado no item 4, pois ao utilizar resolução tick-by-tick, percebe-se que muitas estratégias que aparentavam funcionar em históricos com resolução minuto-a-minuto, na verdade ficam negativas quando se opera com dados tick-by-tick. Como o mercado real é tick-by-tick, é necessário tomar todas as providências para assegurar que os resultados obtidos nos testes sejam fiéis representações da situação real.
Os gráficos abaixo mostram dois exemplos de erros:
Nesse primeiro exemplo, temos um spike (o candle longo dentro da elipse rosa), que é um movimento anormal muito longo que desce e sobe de volta no mesmo candle, retornando à mesma cotação anterior. Movimentos tão longos são raros, e mais raros ainda quando voltam precisamente ao ponto de origem. Por isso quando ocorre um spike, normalmente indica erro nos registros. Embora sejam erros graves, são fáceis de identificar e de corrigir.
Esse segundo exemplo de erro é bem diferente do anterior: mostra um vasto trecho incorreto, não é apenas um candle, mas sim muitos candles com tamanhos incorretos. Não estou me referindo à mudança de escala, nem ao tamanho absoluto dos candles. Estou me referindo ao tamanho relativo dos candles de curto período em comparação aos de longo período. Isso é mais difícil de corrigir e também um pouco mais difícil de detectar. O comportamento observado acima indica um coeficiente de Hurst anormalmente baixo. Além disso, a amplitude está quase modulada num longo intervalo. Isso é muito incomum, porque se o Mercado real fosse tão simples e tão regular, seria muito fácil ganhar com qualquer estratégia de scalping, mas no mercado real simplesmente não é possível ganhar com scalping. Portanto, se um padrão desse tipo é observado, indica que há algo errado nessas cotações. Para compreender melhor esse problema, leia nosso artigo https://www.saturnov.org/news/ganharmf
ERROS NOS BANCOS DE DADOS DE SÉRIES HISTÓRICAS
Em muitas situações é possível filtrar os erros e salvar os dados corrigidos. Outras vezes não há como salvar, sendo necessário descartar os dados incorretos. Quando os dados já passaram por uma “filtragem” malfeita costuma ser mais difícil de corrigir porque já distorceram os padrões típicos que auxiliam na filtragem, além de terem destruído dados relevantes e adulterado propriedades fundamentais que precisavam ser preservadas. Quando se dispõe de duas ou mais fontes diferentes de dados para comparar, fica mais fácil identificar os erros e preencher regiões incorretas do histórico, transplantando de um banco de dados para outro. Mesmo assim, há situações nas quais os dois bancos de dados apresentam mesmo erro; quando isso acontece, é bem mais difícil de corrigir.
O que se verifica na prática é que sempre haverá erros e disparidades em todos os bancos de dados, inclusive os de fontes oficiais. Por esses motivos, o item 4 é tão importante. Porque se não filtrar e corrigir adequadamente os dados históricos, não será possível obter resultados confiáveis nos backtests.
Mesmo com as correções não se consegue eliminar completamente os erros, por isso é fundamental verificar se os resultados obtidos nos backtests ficam semelhantes aos resultados obtidos nas contas reais no mesmo período, para que se possa ter uma ideia aproximada sobre o tamanho das diferenças que estão sendo provocadas pelos erros residuais.
Um bom critério para determinar se a qualidade dos backtests está adequada é quando as diferenças entre um backtests e uma conta real não fica maior do que a diferença entre duas contas reais comparadas entre si, pois isso indica que a qualidade do backtest alcançou o mesmo nível de confiabilidade que seria obtido se o teste fosse realizado numa conta real.
CABEÇALHO FXT
Também é importante enfatizar que a integridade da base de dados é apenas um dos quesitos para que ela seja aprovada para uso. Além disso, também é necessário que o cabeçalho FXT seja configurado precisamente com os mesmos parâmetros da situação real. O cabeçalho FXT é basicamente uma lista de parâmetros que precisam ser reproduzidos num backtests para que haja fidelidade à situação real. Nos primeiros anos que as corretoras brasileiras começaram a usar Metatrader 5, usavam nos backtests taxas=0 e spreads=0, e nessas condições as pessoas conseguiam lucros astronômicos nas simulações, com qualquer estratégia elementar, mas quando colocavam essas mesmas estratégias para operar na situação real, descobriam que aquelas “pequenas” taxas e spreads “comiam” todo o lucro e muito mais, revelando que estratégias que pareciam ser vitoriosas eram, na verdade, perdedoras. Por isso é fundamental considerar todas as taxas, os spreads, swaps, atrasos nas execuções, limites de margem, limites de distância ao stop e todos os outros mais de 40 parâmetros presentes nos cabeçalhos FXT. Sem isso, os resultados dos backtests tornam-se grosseiramente incorretos.
Na página de apresentação (https://www.saturnov.org/apresentacao) de nosso site, já comentamos um pouco sobre isso, e esse gráfico resume bem a situação, mostrando como se consegue uma boa similaridade quando se configura corretamente todos os parâmetros do cabeçalho FXT, usando séries históricas tick-by-tick com os erros devidamente filtrados e respeitando todos os protocolos (período setembro de 2010 a dezembro de 2010)
Se tudo for feito corretamente, os resultados em backtests são quase idênticos aos resultados em contas reais no mesmo período. Nos últimos anos, essa diferença tem aumentado, mas permanece num nível de semelhança mais que suficiente. Os momentos de entrada e saída, as cotações de entrada e saída, são quase exatamente os mesmos no backtests e nas contas reais. Claro que há uma pequena diferença pelo fato de que os atrasos nas execuções não são sempre iguais, eles oscilam ligeiramente, por isso na simulação podemos usar um valor médio ou usar uma distribuição com média e desvio padrão similares aos da distribuição dos atrasos observados nas contas reais. Outro detalhe é que esses atrasos variam de uma corretora para outra. Os spreads e as corretagens também não são os mesmos em todas as corretoras, entre outros parâmetros, por isso não há como os resultados nos backtests serem exatamente iguais aos resultados nas contas reais, inclusive em duas contas reais em corretoras diferentes, ou até mesmo duas contas reais numa mesma corretora, os resultados apresentam diferenças entre si. O importante é que essas diferenças são pequenas, de modo que os resultados aferidos nos backtests são representações muito precisas e acuradas dos resultados nas contas reais.
Também convém destacar que no gráfico acima não houve operação executada no backtest que deixou de ser executada na conta real, nem o contrário. Quando isso acontece, obviamente surge um distanciamento maior entre as curvas. Mas, a longo prazo, os erros para mais e para menos tendem a se compensar, portanto mesmo quando se considera períodos de vários anos, nos quais algumas operações do backtest não são executadas nas contas reais e vice-versa, mesmo assim é preservada a alta similaridade.
TESTE EM CONTA REAL × BACKTEST
Para testar uma estratégia em 1 ano em conta real é necessário 1 ano de pesquisa. Mas para testar a mesma estratégia em 1 ano de backtests, basta 1 segundo. E não se trata apenas de poupar tempo. Além de precisar de um tempo muito mais curto, torna-se possível realizar muito mais do que seria possível nas contas reais, porque se em 1 segundo se pode testar uma estratégia em 1 ano de dados históricos, então em 30 segundos se pode testar em 30 anos (na verdade, em 19 segundos podemos testar 35,8 anos).
Por isso é tão importante desenvolver um trabalho primoroso para alcançar o nível de excelência na realização de backtests, que sejam extremamente semelhantes à situação real, pois isso significa ter um laboratório no qual podemos testar uma estratégia por décadas ou mesmo séculos em questão de poucos segundos, conhecendo de antemão os resultados que teremos em situação real. A tranquilidade que isso proporciona não tem preço.
Se desejamos saber quanto determinada estratégia teria gerado de lucro se tivesse sido aplicada entre 1987 e 2022, basta executar um backtests e em 20 segundos teremos a resposta detalhada, com todas as operações que teriam sido executadas, o horário de entrada e de saída de cada operação, a cotação de entrada e de saída de cada operação, e um relatório estatístico com o conjunto dos resultados. Podemos verificar como essa estratégia se saiu nas crises de 1988, 2000, 2008, identificar pontos fortes e fracos, para compreender os detalhes que precisam ser mantidos e quais precisam ser aprimorados. Um teste que levaria 35 anos em contas reais fica pronto em 20 segundos.
E ainda tem mais vantagens: se o teste fosse realizado em situação real, não teria como voltar no tempo e repetir o uso da mesma estratégia com uma configuração um pouco diferente. É muito comum fechar uma posição lucrativa e depois observar que se não tivesse fechado, o lucro teria se prolongado 3 vezes, 4 vezes, 10 vezes o tamanho do lucro do ponto em que foi fechada. Quando isso acontece, a pessoa pode ser levada a acreditar que na próxima vez deveria aguardar mais antes de fechar. Em outras situações, a pessoa pode chegar a 8,5% de lucro, continua subindo até 9%, sobe até 9,3%, mas a pessoa quer esperar chegar em 9,5% para fechar, só que não chega em 9,5% e começa a cair, prossegue caindo abaixo do ponto de entrada e acaba sendo estopada com prejuízo. Então a pessoa pode achar que na próxima vez seria melhor fechar logo com 8% ou mesmo 5%, por garantia. Essa é a maneira errada de pensar.
A maneira correta é aplicar o mesmo conjunto de critérios durante 10 anos, 20 anos, 30 anos de dados históricos, e conferir qual deve ser o tamanho ótimo do fechamento para maximizar os lucros e minimizar as perdas no histórico inteiro. Assim, pode-se testar como seriam os resultados ao longo de 10 anos, fechando sempre com 9,5% de lucro (se alcançar esse lucro) ou 5% de stop, quando for na direção contrária. Registra cada uma das operações ao longo desses 10 anos e, ao final, contabiliza-se quanto foi o lucro total, quanto foi o máximo drawdown, o Melao Index, índice de Sharpe, índice de Sortino etc. Então repete-se o teste nos mesmos 10 anos, porém agora usando 9% em vez de 9,5%, e ao final contabiliza-se lucro total, máximo drawdown etc. Repete-se novamente nos mesmos 10 anos, mas agora com 8,5%, depois 8%, 7,5% etc. Pode-se testar todos os valores entre 0,5% e 15%, variando de 0,5% em 0,5%, durante um histórico de 10 anos, ou 20 anos, ou 30 anos, e verificar qual desses valores funciona melhor, para então decidir a configuração mais promissora para longo prazo.
A tabela a seguir mostra um exemplo de otimização de um parâmetro (o take profit, isto é, o objetivo de lucro), que foi testado para todos os valores entre 0,5% e 15%, variando de 0,5% em 0,5%, no período de 2010 a 2022:
A coluna “Diminuição %” é o máximo drawdown percentual. A partir dos resultados, pode-se escolher qual a porcentagem mais apropriada, de acordo com o critério adotado.
Olhando para a tabela, sem fazer muitos cálculos, batendo o olho já se pode perceber que com 15% houve a melhor performance ajustada ao risco. Também podemos perceber que a partir de 12,5% em diante o número de operações executadas não mudou. Então é provável que o melhor valor não esteja contido no intervalo pré-determinado (0,5% a 15%) e o valor ótimo deve ser maior do que 15%. Ou pode ser melhor não impor um fechamento quando o lucro atingir determinado ponto, e deixar que a estratégia feche a posição com base em outros critérios. Claro que isso vale apenas para essa estratégia específica.
Essa série de vários testes seguidos, com valores diferentes, pode ser realizada em questão de minutos (3 minutos e 17 segundos, nesse caso), mas seria impensável fazer algo semelhante em conta real, porque levaria séculos.
Para uma estratégia subjetiva, como as usadas em quase todos os fundos de investimento, não é possível realizar backtests para encontrar os valores ótimos para cada parâmetro, colocando o investidor como refém da sorte e do azar, pois o gestor precisa escolher os valores dos parâmetros com base em palpites e especulações, sem antes testá-los para saber quais parâmetros produzem os melhores resultados, ou sequer saber se a estratégia funciona.
A possibilidade de testar como uma estratégia se sairia em determinado período, usando determinada configuração, antes de usar essa estratégia em conta real, já representa uma vantagem imensa. A possibilidade de, ainda por cima, poder testar muitos valores diferentes para cada parâmetro, é um diferencial extraordinário.
Desse modo, pode-se ajustar cada um dos parâmetros da estratégia para obter o melhor resultado possível, numa grande variedade de cenários de altas, baixas, laterais, congestões, inversões, com diferentes amplitudes e diferentes durações, ao longo de décadas, e só depois que tiver validado sua eficácia é que ela é colocada nas contas reais. É basicamente o que se faz em pesquisa médica, testando novos medicamentos primeiramente em células cultivadas in vitro, depois em lagartas, depois ratos, depois macacos, depois em humanos, com a vantagem que os backtests são mais semelhantes às contas reais do que a semelhança entre macacos e humanos. Aliás, os backtests são mais semelhantes às contas reais do que dois humanos comparados entre si. São como humanos gêmeos monozigóticos comparados entre si. Não há garantia de que um medicamento que produz determinado efeito num dos gêmeos terá exatamente mesmo efeito em seu irmão univitelino, mas garante que a probabilidade de alta similaridade seja altíssima, tornando os resultados muito confiáveis e previsíveis.
Esse processo de repetir várias vezes o uso da mesma estratégia no mesmo período histórico, usando valores diferentes para os parâmetros a cada vez, e selecionando quais configurações produzem os melhores resultados, é o que se chama “otimização”.
UM EXEMPLO DIDÁTICO DE OTIMIZAÇÃO, SUA UTILIDADE E IMPORTÂNCIA
No caso analisado acima, otimizamos apenas 1 parâmetro (a porcentagem de lucro para determinar o fechamento), o que é relativamente simples e fácil. Basta testar todos os valores possíveis. Entre 0,5% e 15%, com intervalos de 0,5%, há apenas 30 valores a serem testados para identificar qual deles produz o melhor resultado. Mas geralmente uma estratégia básica possui cerca de 10 a 20 parâmetros e uma estratégia sofisticada possui dezenas a centenas de parâmetros.
Numa estratégia com 1 parâmetro que pode assumir 30 valores diferentes, gastando 20 segundos para rodar sobre 35 anos de histórico, a otimização completa demora 30×20s=600 segundos ou 10 minutos. Mas se fossem 2 parâmetros, para testar todas as combinações possíveis, o resultado seria 30×30×20=18.000 segundos ou 5 horas. Se fossem 3 parâmetros, seria 30×30×30×20=540.000 segundos ou 6 dias. Para 4 parâmetros, 6 meses. Para 10 parâmetros levaria 374 milhões de anos. Isso supondo que cada parâmetro assumisse apenas 30 valores diferentes, mas algumas vezes pode assumir mais de 100 valores, outras vezes menos de 10, isso depende de muitos fatores.
Portanto até mesmo uma estratégia elementar levaria milhões de anos para ser otimizada se fossem testadas todas as configurações diferentes. Repare que não estamos falando de teste em contas reais. Estamos falando de backtests. Levaria milhões de anos para ser testada em backtests!
Para lidar com essa situação e chegar a um resultado adequado em tempo hábil, são utilizadas diferentes ferramentas estatísticas. Uma delas é o Algoritmo Genético, que não testa todas as configurações possíveis. Em vez disso, são testadas algumas configurações com diferentes valores para cada parâmetro, e aquelas que produzem melhores resultados recebem prioridade nos valores de seus parâmetros para serem testados na “geração” seguinte. Esse processo é repetido milhares de vezes, em várias gerações. Isso funciona muito bem e permite chegar a resultados muito bons em questão de horas, inclusive para estratégias complexas, em vez de demorar quintilhões ou sextilhões de anos.
Em vez de usar uma estratégia predefinida e não-testada, pode-se primeiro testar quais são os valores que funcionam melhor para essa estratégia, antes de colocá-la numa conta real, e então usá-la com muito maior segurança e previsibilidade.
Mas essa parte ainda não trata da ergodicidade. Até aqui tratamos do seguinte:
1. Validação dos backtests como metodologia adequada.
2. Validação das séries históricas como bancos de dados fidedignos.
Com essas duas validações, somos capazes de produzir resultados confiáveis e acurados para representação da situação real, desde que as séries históricas cumpram determinados quesitos e desde que os backtests obedeçam aos protocolos necessários.
As comparações mencionadas acima foram de um período em contas reais com o mesmo período em backtests, e constatamos que os backtests, se forem bem conduzidos, são extremamente úteis. Mas isso não é tudo. Também é necessário medir a similaridade entre passado e futuro, pois de nada adiantaria ter excelentes resultados no passado que não fossem mantidos no futuro. É disso que trataremos a seguir.
PASSADO, FUTURO E PREVISIBILIDADE COM RIGOR MATEMÁTICO
A visão da Matemática como uma fonte de informações exatas é ingênua e muito distante da realidade. Alguns ramos da Matemática permitem encontrar soluções exatas, outros só permitem chegar a soluções aproximadas, e outros só permitem saber se algo é maior ou menor, sem saber quão maior ou quão menor.
Prever as posições dos planetas é diferente de prever as condições climáticas. Embora ambos sejam sistemas dinâmicos, o nível de determinismo é muito diferente nos dois casos, tornando possível a previsão precisa e acurada sobre as posições dos planetas daqui a 500 anos, mas há dificuldades intrínsecas para que se possa fazer previsões igualmente precisas e acuradas sobre qual será a temperatura máxima em determinada localidade daqui a 5 dias. No caso do Mercado Financeiro, é muito mais difícil do que fazer previsões climáticas. Por outro lado, não é necessário acertar com precisão as previsões. Basta acertar um pouco mais do que se erra para obter lucros substanciais.
Recentemente publicamos um artigo tratando especificamente de previsões, por isso não nos estenderemos demais sobre esse tema aqui. Para ver esse artigo, por gentileza, acesse esse link: https://www.saturnov.org/news/previsibilidade
No caso em questão, o que nos interessa não é uma previsão precisa de quanto vamos ganhar no próximo ano. O que nos interessa se continuaremos ganhando no futuro numa proporção similar à que ganhamos no passado.
A medida da ergodicidade acontece quando se considera a similaridade de resultados em períodos diferentes. Para compreender a importância disso, vamos supor uma estratégia elementar: compra quando IFR<20, vende quando IFR>80. Se o prejuízo numa operação ultrapassar 5%, aciona o stop loss. Se o lucro chegar a 7%, move o trailing stop para 4% e acompanha a cotação a uma distância de 0,7 do ponto de entrada. Num caso assim, seria necessário otimizar os seguintes parâmetros?
1. Critério de compra
2. Critério de saída
3. Distância do stop loss
4. Lucro para acionar trailing stop
5. Posição inicial do trailing stop
6. Critério de acompanhamento do trailing stop
Nesse exemplo, o critério 5 é um subconjunto do 6, portanto não precisamos do 5, embora pudesse adicionar muito mais detalhes, inclusive estabelecendo de quando em quando o stop pode ser movido, ou a diferença mínima de movimento na cotação para mover o stop, ou colocar um critério de stop e trailing stop que não fosse baseado numa porcentagem fixa, mas sim em algum indicador ou em alguma propriedade do Mercado, e o mesmo para os outros parâmetros, que não precisariam assumir valores fixos, pois seriam definidos com base nas característica do Mercado no momento da operações e se manteriam adaptativamente a essas condições à medida que o cenário fosse mudando. Isso além de muitos outros aprimoramentos, claro, mas para fins didáticos vamos considerar esse exemplo simplificado.
O parâmetro 1 poderia assumir, por exemplo, 99 valores diferentes, se usar o intervalo de IFR de 1 a 99, variando de 1 em 1, ou poderia ser 199 se variasse de 0,5 em 0,5 entre 0,5 e 99,5. Vamos considerar 99. O parâmetro 2 também teria 99 valores possíveis que poderia assumir. Nesse exemplo, estamos permitindo que a otimização determine se é melhor operar em tendência ou contra a tendência. Também seria possível impor que gostaríamos de operar contra a tendência, então os valores seriam entre 1 e 49 para o parâmetro 1 e entre 51 e 99 para o parâmetro 2. Mas nesse exemplo vamos deixar com 99 e 99. O parâmetro 3 poderia ser algo entre 2% e 20% variando de 0,1% em 0,1%, portanto 181 possibilidades. O parâmetro 4 poderia ser algo entre 2% e 15% variando de 0,1% em 0,1%, portanto 131 possibilidades. O parâmetro 5 não precisa ser otimizado porque ele é determinado a partir do 6. O parâmetro 6 poderia ser algo entre 0,1 e 0,9, variando de 0,05 em 0,05, portanto 17 possibilidades.
Então o número total de configurações possíveis é 99×99×181×131×17 = 3.950.655.687, isto é, quase 4 bilhões de configurações. Levaria 120 bilhões de segundos (40.000 anos) para testar todas. Mas com um bom algoritmo genético, o teste seria realizado em poucas horas. Vamos supor que depois de rodar 15 horas o algoritmo genético testou 18.000 configurações diferentes, entre as quais a melhor ficou assim:
IFR para compra = 82
IFR para venda = 31
Stop loss = 8,2%
Lucro para acionar trailing stop = 7,4%
Fração da distância para colocar o trailingstop = 0,65
Nessas condições, uma otimização realizada em 5 anos de MGLU3 produziria um lucro médio de 68% ao ano, com máximo drawdown de -32%. Um resultado excelente. E aqui chegamos ao ponto em que é necessário verificar a ergodicidade, porque não estamos interessados em saber quanto as pessoas que compraram MGLU3 ganharam nos últimos 5 anos, ou 10 anos ou 20 anos. O que queremos saber é quanto podemos esperar ganhar nos próximos 10 anos ou 20 anos ou 50 anos aplicando a partir de agora na MGLU3.
(Só para esclarecer, não estamos falando de comprar MGLU3 e “segurar”. Estamos falando de executar uma estratégia que executa várias compras e várias vendas no ativo MGLU3, de acordo com certos critérios, portanto o fato de MGLU3 subir ou cair não é relevante. O que importa é se as operações realizadas acompanham a mesma direção do movimento da MGLU3.)
ERGODCIDADE E OVERFITTING
Há muitas maneiras de se realizar testes de ergodicidade. Vamos descrever aqui um dos mais simples e o mais didático: nesse exemplo da MGLU3, a otimização dos valores dos parâmetros da estratégia foi realizada entre 2015 e 2020. Com isso se chegou aos valores indicados acima, revelando um lucro de 68% ao ano nesse período específico de 2015 a 2020, e um máximo drawdown de -32% também nesse período específico. Mas quanto será o lucro e o máximo drawdown usando essa mesma estratégia com essa mesma configuração em períodos diferentes desse? Por exemplo, entre 2010 e 2015? Ou entre 2020 e 2022? Ou de 2022 a 2050?
Esse tipo de teste é extremamente importante para evitar overfitting. O overfitting é quando os parâmetros de uma estratégia são forçados a se ajustarem a determinado cenário, mas só funcionam bem nesse cenário específico. Ao mudar de cenário, a estratégia simplesmente deixa de funcionar. Isso é o que acontece com praticamente todas as estratégias que existem. Basta testar, para conferir. Em 2006, testei mais de 500 estratégias prontas, entre as mais votadas no site da MetaQuotes, além de dezenas de estratégias sugeridas em livros e sites, entre várias outras consideradas as melhores e supostamente mais lucrativas, de diferentes fontes. Todas elas podiam ser otimizadas de modo a produzir excelentes lucros num período específico, mas nenhuma delas continuava a funcionar quando eram colocadas num período diferente daquele no qual haviam sido otimizadas.
Para que uma estratégia funcione bem num período específico, basta que ela tenha muitos parâmetros. Quanto maior o número de parâmetros, melhor ela vai se ajustar a qualquer cenário escolhido. O problema é que ela vai se ajustar apenas a esse cenário, e não servirá para nenhum outro. Ela funcionará bem no passado, mas será inútil no futuro. E não é isso que desejamos. Queremos uma estratégia capaz de reconhecer padrões universais e perenes, que estejam presentes não apenas no período de otimização, mas também em todos os outros períodos. A estratégia precisa usar o período de otimização para “aprender” quais são os valores ótimos a serem usados para operar em qualquer época. Vamos supor que o objetivo da estratégia fosse reconhecer ursos entre diferentes outros animais. Usar como critério a presença de 2 olhos, apenas, seria inútil. Conseguiria distinguir ursos de árvores ou de rochas, mas não distinguiria de lobos, leões, pássaros, cobras etc.
A determinação dos critérios adequados para conseguir identificar corretamente a maioria dos ursos é muito mais difícil do que parece, pois precisa não apenas identificar um urso quando houver um, como também precisa evitar identificar incorretamente um animal que se pareça com um urso como se fosse um urso. Nós estamos acostumados a ver fotos, vídeos e reconhecer um urso pela forma, mas descrever quais são os critérios objetivos que usamos nesse processo de reconhecimento não é trivial. Apesar da dificuldade, podemos ir gradualmente comparando os ursos com animais semelhantes a ele para ir gradualmente determinando critérios úteis para a distinção, até reunir um número suficiente de bons critérios que permitam acertar na maioria das vezes se um animal é ou não um urso. No Mercado Financeiro é um pouco mais complicado, porque os padrões formados pelos movimentos das cotações não produzem diferenças visuais sensíveis. A maioria das diferenças só pode ser detectada mediante cálculos. É muito difícil distinguir visualmente, por exemplo, um passeio aleatório gaussiano, um passeio aleatório uniforme, um passeio aleatório unitário e um processo de Wiener. Esses 4 processos são estatisticamente diferentes entre si, e a diferença pode ser medida facilmente, mas é muito difícil perceber visualmente.
Como as diferenças a serem descobertas não são visíveis, é necessário “intuir” e planejar testes para tentar encontrá-las, mesmo sem vê-las. Mas esse tema começa a se distanciar de nosso propósito com esse artigo.
O importante, que queremos destacar aqui, é que pode ser extremamente perigoso e ineficaz escolher fundos com base apenas num longo histórico lucrativo. Embora quanto mais longo o histórico lucrativo, menor seja a probabilidade de que aquele lucro tenha sido auferido por sorte, quando se considera um número muito grande de fundos, aumenta-se também a probabilidade de que encontrar algum fundo que tenha sido muito favorecido pela sorte, e que não oferece nenhuma vantagem real em comparação a outros fundos, no que diz respeito às perspectivas de continuar produzindo bons resultados no futuro. Até mesmo nos casos de fundos realmente bem administrados, como no caso (da empresa) de Buffett, a habilidade do gestor pode diminuir com a idade, por isso embora a Berkshire tenha sido um excelente investimento no passado, não é um bom investimento para o futuro.
TESTES EM 129 ANOS DE ÍNDICE DOW JONES
Uma das boas metodologias para se testar a ergodicidade de uma estratégia está descrita em meu artigo sobre 129 do índice Dow Jones (https://www.saturnov.org/artigosv/129dowjones). É recomendável ler o artigo inteiro, mas aqui farei um breve resumo:
No caso do DJI, dispomos de dados históricos sobre as cotações desde 16 de fevereiro de 1885. Na época que o artigo foi escrito (2014), tínhamos 129 anos de dados. A otimização foi realizada no período de 1885 a 1890. Com isso, encontramos quais os valores ótimos para cada parâmetro. Em seguida, a estratégia utilizando esses mesmos parâmetros foi colocada para rodar entre 1890 e 2014, e os resultados se mantiveram excelentes até 1966. Depois de alguns aprimoramentos, se mantiveram excelentes até 2014.
No caso de uma estratégia que seja parte de um sistema de Inteligência Artificial, esse resultado mostra que o treinamento realizado entre 1885 e 1890 foi suficiente para que o sistema aprendesse a reconhecer propriedades atemporais e universais do Mercado, de modo que quando esse sistema foi colocado para operar num período diferente, usando os mesmos critérios que ele aprendeu entre 1885 e 1890 e os mesmos valores para os parâmetros e metaparâmetros, ele continuou a obter lucros consistentes nos mais de 120 anos seguintes. Essa é a importância da ergodicidade. A estratégia foi testada num período de apenas 5 anos, como se estivéssemos vivendo em 1890 e dispuséssemos dos dados de 1885 a 1890. Com isso encontramos os valores ótimos para os parâmetros dessa estratégia. Em seguida, sem fazer qualquer modificação nos valores desses parâmetros, a estratégia é colocada para operar nos 124 anos seguintes, exatamente como se esses 124 anos fossem o futuro. Desse modo, pode-se testar como uma estratégia otimizada com base nos dados passados funcionaria nos dados futuros. E não apenas isso. O sistema precisou de apenas 5 anos de treinamento para aprender o suficiente para funcionar por mais de 75 anos. Depois, com um pequeno ajuste, continuou a funcionar por pelo menos 48 anos, totalizando 124 anos com apenas 1 ajuste intermediário.
Isso não garante que o sistema se manteria lucrativo por 1.000 anos ou 10.000 anos, inclusive porque a série de perdas em 1966 já indicou que havia algumas fragilidades que precisavam ser aprimoradas. Mas a sobrevivência de 1890 a 1966 já se mostrou suficientemente longeva, e como a gestão de risco é planejada para nunca perder tudo (a cada perda, o risco vai diminuindo nas operações seguintes), quando teve início a série anormalmente prolongada de perdas em 1966, isso teria disparado um alerta indicando que o sistema precisava de ajuste, de modo que mesmo sem prever as anomalias nos cenários de 1966 e sem que o sistema conseguisse se adaptar sozinho a essas mudanças, bastaria uma interrupção nesse ponto para novos ajustes, e em seguida ele voltaria a operar normalmente. Sofreria algumas perdas em 1966 até que fosse constatado um cenário inédito não interpolável, mas logo o problema seria solucionado e prosseguiria ganhando.
O gráfico abaixo mostra os resultados em escala logarítmica em 11 intervalos diferentes sobrepostos:
Podemos perceber que as curvas de crescimento não são idênticas, nem são estatisticamente iguais, porque em alguns períodos o ritmo de crescimento é maior do que em outros, mas todas as curvas são claramente ascendentes e todas se distribuem num espectro relativamente estreito de variabilidade. Em alguns períodos ganha-se 50% ao ano em média, em outros períodos ganha-se 35%, em outros períodos ganha-se 20%, mas em todos os casos as curvas são nitidamente crescentes.
Essa é a característica mais importante que se deve procurar num excelente investimento. A estratégia precisa ter sido otimizada num intervalo de poucos anos e, usando os resultados dessa otimização, essa estratégia precisa se manter lucrativa por um período muito mais longo e num intervalo diferente daquele no qual a otimização foi realizada. Quando um investimento é submetido a um teste com esse nível de rigor e é aprovado, pode-se ter a tranquilidade e a segurança proporcionadas pela Matemática.
As opiniões de grandes investidores como Buffett e Soros são importantes e valiosas, mas acima das opiniões estão os fatos, e a Ciência e a Matemática são os meios pelos quais se pode chegar a compreender os fatos, quantifica-los, equacioná-los e fazer previsões verdadeiramente confiáveis. Por isso, para quem gosta de aventuras com jogos de azar, tanto faz colocar seu dinheiro num investimento científico ou numa especulação subjetiva. Mas para quem leva a sério seus negócios e investe visando o lucro consistente a longo prazo, o único caminho realmente promissor é aquele que se apoia na Ciência e blindado com o rigor da Matemática.
NOTA:
[*] Na verdade, a questão não é tão simples, porque há critérios simples para selecionar ações voláteis (Teoria do Portfolio de Markowitz) que possibilitam aumentar a rentabilidade numa proporção um pouco maior do que o aumento no risco, desde que algumas condições sejam atendidas. Embora Markowitz tenha sido laureado com o Nobel de Economia, há algumas falhas em sua teoria, conforme demonstro em alguns de meus artigos. Mas mesmo com essas falhas, essa teoria possibilita obter resultados um pouco melhores do que a pura e simples escolha de ações mais voláteis. Entretanto, há métodos que produzem resultados muito superiores aos da Teoria do Portfolio de Markowitz, porém não são tão simples, por isso são menos utilizados. Voltar