A versão 691f do Saturno foi utilizada em 2011 e 2012 e este foi o biênio no qual o Saturno V alcançou suas maiores performances. Após sofrer algumas perdas em janeiro de 2013, essa versão foi substituída pela 6.99, que utilizava métodos mais completos de gerenciamento de capital. Nos meses e anos seguintes, foram implementados diversos aprimoramentos, mas a estratégia utilizada hoje é essencialmente a mesma de 2010. Comparando a versão 6.4 (desenvolvida em 2010) com a T100 (desenvolvida em 2014), em backtests no período de 1986 a 2014, foi verificado que a versão T100 se destacava das anteriores por ter maior similaridade nos testes em séries tick-by-tick em comparação aos backtests em histórico minuto a minuto, porém as performances eram quase as mesmas. Não há como descrever de forma resumida a dinâmica da evolução das versões ao longo dos últimos 10 anos, mas se comparar a versão mais recente que chegou a ser utilizada nas contas reais (T-274z) com as primeiras variantes da versão 6.0, a estrutura da estratégia utilizada em ambas é basicamente a mesma. Muitos dos aprimoramentos não visavam aumentar a performance, mas sim melhorar a homogeneidade nos resultados, adicionar critérios de fechamento para aumentar a segurança em casos de interrupção na comunicação com a corretora, reduzir os períodos de mais longa estagnação, refinar os parâmetros de adaptabilidade ou adicionar indicadores complementares. Nas versões mais antigas, alguns dos parâmetros eram modelados com base na hipótese de que a melhor regressão para uma nuvem de pontos era uma reta. Conforme os anos foram se passando e mais dados foram se acumulando, aumentando o número de pontos para a análise de regressão, foi possível verificar que algumas curvas monotônicas de ajuste poderiam ter maior aderência aos dados experimentais do que uma reta, sem aumentar o risco de overfitting. Algumas dessas curvas posteriormente se mostraram mais bem ajustadas localmente, mas não globalmente. Em tais casos, o antigo ajuste baseado na hipótese mais simples de que a melhor curva de ajuste seria uma reta acaba se revelando mais preditivo. Isso geralmente acontece quando se tem variações sazonais de médio e longo prazo para o comportamento de determinado parâmetro. Nestas situações, quando se considera dados de 2000 a 2010, por exemplo, pode parecer que a curva de melhor ajuste é uma reta. Quando se amplia o intervalo do histórico disponível para 1986 a 2014, pode-se observar que nas duas extremidades a curva parece inflexionar em sentidos opostos, de modo que uma curva logística parece oferecer um ajuste melhor do que uma reta. Porém quando se adiciona ainda mais dados, de 1986 a 2020, uma das extremidades que estava apresentando sinais de inflexão para um dos lados, começa a inflexionar no sentido oposto. Neste último caso, usar uma reta de regressão volta a ser melhor do que usar a curva que oferecia melhor ajuste no período de 1986-2014, e enquanto não houver dados suficientes para determinar melhor o comportamento das oscilações sazonais e permitir a modelagem de uma curva que represente as sazonalidades, o uso de uma reta acaba sendo mais efetivo do que o uso da curva que previa para 2017-2020 uma inflexão no sentido oposto ao do observado empiricamente, porque geralmente modelos que tentam representar maior número de pontos de inflexão exigem maior número de parâmetros, e quanto mais parâmetros tiver o modelo, maior é o risco de overfitting. O exemplo acima, embora não trate do caso específico que estamos passando, permite uma analogia bastante razoável, além de ilustrar uma situação típica de que se pode justificar a retomada de uso de uma versão mais antiga, quando os dados coletados nos últimos anos revelam que uma função que se supunha que fosse monotônica crescente ou decrescente é na verdade uma função com oscilações provavelmente sazonais. Para uma análise mais detalhada desse problema, por gentileza, veja no livro sobre rating, a partir de 45% do texto disponível aqui, uma breve análise didática de um problema similar (sob o ponto de vista estatístico) e suas consequências. Por isso ao rodar backtests com versões desenvolvidas em 2010 ou 2011 no período de 1986-2020 e comparar com os resultados das versões mais recentes rodando no mesmo período, muitas vezes não se observa vantagem na performance das versões mais recentes e, em alguns casos, algumas versões antigas performam melhor no período de 2017 a 2020. Se nenhuma alteração fosse feita, dentro de alguns meses – talvez em 1 ano –, a versão T-274z, que estava em uso até o início de 2020, provavelmente retomaria o crescimento normal. Porém com as mudanças que estão em andamento pretendemos acelerar esse processo de retomada do crescimento. Isso porque há 3 fatores principais, pelo que pudemos apurar até o momento, que estão afetando negativamente nossas performances: 1. No início da pandemia foram produzidos alguns cenários caóticos cuja modelagem não era possível com base nos métodos de interpolação de cenários anteriores, utilizados no treinamento do sistema, e a maneira como esses cenários passaram e se modificar não era consistente com a observada nas décadas anteriores. Esta tem sido a principal causa do problema. 2. Os spreads efetivos nas execuções das operações tem sido muito maiores do que os exibidos no Metatrader 4. Esse item será alisando melhor mais adiante. 3. Uma das variáveis do Mercado, que o Saturno V utiliza em seu processo decisório, parece estar se comportando desde 2017 de maneira diferente de como se comportou nas décadas anteriores. Este detalhe deve responder por uma redução na performance similar à cerca de 1/3 da redução provocada pelo problema com o spread. Já foram adotadas as medidas necessárias para lidar com estes 3 problemas. Na segunda metade de 2019, a versão em uso era a T-251, que atravessou um período ruim na maioria das contas, e especialmente ruim no fundo, devido à liquidez. Apesar disso, o Saturno V terminou o ano positivo em cerca de 25% na conta de referência na Dukascopy e chegou a mais de 40% em algumas outras contas, porém no fundo ficou negativo. Isso levou a uma série de estudos para tentar reverter essa situação. Em novembro e dezembro de 2019 foram realizados vários testes utilizando a nova plataforma Cantor, cerca de 60 vezes mais rápida que o Metatrader para rodar otimizações e milhares de vezes mais rápida para produzir ótimos genótipos. Em novembro de 2019 foi anunciada a versão T-274f do Saturno V, claramente superior às versões anteriores para atuar nos meses recentes, e com histórico de longo prazo (1986-2017) similar ao das melhores versões anteriores. A nova versão conseguiu reduzir as perdas no mês de novembro e ficou bastante positiva em dezembro, com lucro de 7,54% na conta de referência e resultados similares nas demais contas. Em janeiro e fevereiro de 2020, os resultados também ficaram dentro das expectativas, com cerca de 2% a 3% ao mês, mas em março e abril ocorreram duas perdas substanciais, de 11,5% e 18%, respectivamente. Foi o pior período pelo qual o Saturno passou desde 2010. A reação das pessoas e dos governos à pandemia produziu alguns cenários inéditos muito diferentes de todos os anteriores, e a velocidade de reação do Saturno V às mudanças não se mostrou adequada para esse tipo de cenário caótico. Embora o Saturno V tivesse se saído muito bem em outros cenários caóticos, agora há algumas diferenças importantes: numa situação de caos em que as propriedades gerais se conservam logo após a instauração da mudança, ou continuam evoluindo a um ritmo aproximadamente constante, ou evoluem a um ritmo com aceleração/desaceleração aproximadamente constante, ou com uma lei de formação constante, nestes casos o Saturno se adapta relativamente bem. Porém um cenário caótico com oscilações aleatórias e frenéticas, isto é, um caos cujas propriedades mudam a ritmos irregulares e muito rápidos, a adaptação é muito mais difícil. Por isso, enquanto o Mercado não tem sua ordem restabelecida, ou enquanto o caos não assume um comportamento semelhante a outros cenários caóticos contidos no histórico de treinamento do Saturno V, torna-se difícil retomar o crescimento de forma consistente. Foram feitas diversas tentativas de aprimoramento, passando pelas versões T-275 até T288, porém nenhuma delas apresentava resultados adequados ao rodar no período da pandemia, quando otimizada antes da pandemia, isto é, não conseguiam usar dados históricos antes da pandemia para determinar como deveriam se comportar durante a pandemia. Então foram feitos alguns testes diferentes, usando versões e configurações antigas que haviam sido particularmente notáveis, e verificamos como se comportavam nos dados recentes. Foram testadas as versões 6.1, 6.3, 6.4b 6.7, 6.91f, 8.07d, T100, T110 entre outras. A que apresentou melhores resultados foi a 6.91f. Usando uma configuração que havia sido otimizada de 1998 a 2007 e validada de 2007 a 2011, sem qualquer ajuste posterior a 2011, ela continuava funcionando bem até 2020, no auge da pandemia. Esse é um diferencial importantíssimo, porque nas otimizações com a versão T-274f em períodos anteriores a 2017, não estávamos produzindo genótipos que conseguissem obter bons resultados a partir do final de 2019. E mesmo incluindo dados históricos até a primeira metade de 2019, o Saturno V T-274f não conseguia aprender como deveria lidar com o Mercado nos meses seguintes, enquanto a versão 691f, usando dados até 2011 no treinamento conseguiu aprender muito bem como deveria operar nos 9 anos seguintes, até agosto de 2020. Isso é um indicativo muito forte de que nos próximos meses e anos esta versão também deve prosseguir com bons resultados. O gráfico abaixo mostra a evolução do balanço da versão 691f entre 1/12/1986 e 28/8/2020, com 1/3 do volume negociado:

A curva de evolução é bastante homogênea e isotrópica, e continua suave mesmo durante a pandemia. Foram testadas diferentes combinações com as melhores configurações dessa versão, e verificamos que 3 delas combinadas produziam os melhores resultados entre as combinações que foram testadas. Estas 3 foram colocadas nas contas. A partir de maio, junho e julho as quedas foram interrompidas, mas não houve a rápida recuperação que seria esperada. O amigo Tiago Lins comentou sobre as perdas sofridas em março e abril de 2014, que foram seguidas por uma rápida recuperação em maio e junho do mesmo ano, e nossas expectativas eram de algo semelhante, mas nesse caso a recuperação está sendo muito mais lenta. É importante esclarecer que em backtests realizados com a versão T-274f foi constatado que que ela também deixou de cair a partir de maio de 2020, mas isso não significa que teria sido indiferente usar a versão T-274f ou a 691f, porque a T-274f enfrentou grandes quedas em março e abril, mas a 691f não sofreu quedas similares ao passar pelo mesmo período. A curva de crescimento da 691f é mais homogênea, o que a torna preferível. Outros pontos importantes que foram investigados incluem a liquidez, os spreads efetivos e o impacto disso nas performances. O Forex é anunciado como o mercado mais líquido do mundo, com movimentação diária cerca de 30 vezes maior que a da bolsa de Nova Iorque, mas há vários detalhes sobre isso que não são apresentados de maneira transparente e precisa. O amigo João Antonio teve várias conversas com os representantes da clearing CFH, para tentarmos entender porque essa clearing, premiada como melhor provedor de liquidez durante vários anos seguidos, não conseguia nos oferecer execuções mais eficientes e spreads menores, já que os volumes que negociamos são muito menores do que teoricamente deveriam impactar o Mercado. Essas conversas foram esclarecedoras sob muitos aspectos. Por exemplo: a contagem do volume negociado é feita considerando cada nó pelo qual a operação passa. Assim, se a pessoa negocia $ 1 de EURUSD, o registro de volume negociado conta $ 1 no momento que a pessoa envia a ordem do terminal para a corretora, soma mais $ 1 quando a corretora repassa a ordem ao provedor de liquidez, soma mais $ 1 quando o provedor de liquidez repassa à corretora ou ao banco da contraparte etc. Se houver uma bridge envolvida, soma-se mais uma etapa nessa trajetória. E quando a mesma operação é fechada, repete-se tudo no caminho contrário. Assim, quando a pessoa negocia $ 1, essa operação é computada como se tivesse sido negociado $ 10 ou $ 12, ou algo assim, fazendo a liquidez parecer maior do que realmente é. Além disso, parece que os maiores volumes negociados não ficam disponíveis nos livros de ofertas acessíveis ao “varejo” e não são diluídos em várias operações em diferentes horários do dia. São concentrados em poucas operações entre bancos e não passam pelos livros de ofertas. Entenda-se por “varejo” os volumes menores que alguns bilhões de dólares. Então a movimentação de 7 trilhões de dólares por dia é na verdade cerca de 600 a 700 bilhões. Além disso, mais de 90% desse volume é negociado diretamente entre bancos, num instante específico, e não fica acessível nos livros de ofertas ao longo do dia. Mas não termina por aí. A pequena parte que acaba sendo disponibilizada aos investidores de varejo não inclui um livro de ofertas formado pelos próprios investidores, mas sim um pseudo-livro de ofertas oferecido pelos provedores de liquidez, que atuam como marketmakers. Assim, mesmo que as corretoras utilizadas sejam ECN, em última instância estas corretoras estão utilizando os serviços de provedores de liquidez e estes atuam, direta ou indiretamente, como marketmakers, isto é, ou os provedores de liquidez aceitam a contraparte das operações dos investidores ou eles fazem a mediação entre os investidores e os bancos que aceitam a contraparte dessas operações. Isso é menos grave e menos perigoso do que se a própria corretora atuasse como marketmaker, porque os bancos e os provedores de liquidez que assumem a contraparte não são os agentes responsáveis pela execução das operações. Isso tem vários efeitos negativos, um dos quais é que a regeneração do livro de ofertas é muito mais lenta do que seria se as operações ocorressem “naturalmente” entre operadores reais, em vez de marketmakers. Uma das consequências disso é que se um grande volume for negociado de uma vez, algo com 500 lotes (US$ 50.000.000), pode não haver provedores de liquidez e bancos dispostos a aceitar entrar na contraparte de todo esse volume, e parte das operações pode não ser executada. Dependendo do horário, pode haver maior quantidade de operadores “reais”, os quais são usados pelos provedores de liquidez para compensar mutuamente as operações, restando uma parte menor para que eles entrem na contraparte, além de haver mais bolsas abertas em determinados horários, com maior número de provedores de liquidez ativos naquele momento e maior probabilidade de que alguns deles aceitem entrar na contraparte. Outro problema é que os spreads exibidos na plataforma acabam não sendo os spreads efetivos de fechamento das operações. A plataforma pode exibir spread 0.2, mas a operação acaba sendo fechada a spread 2.0 ou mais. E há ainda o problema de que os provedores de liquidez podem receber algum tipo de informação privilegiada das corretoras sobre quem são os agentes que eles estão aceitando ou não entrar na contraparte. E mesmo que as corretoras não forneçam a eles essa informação, as entradas do Saturno V seguem padrões de volume, de horário e de cenário que podem facilitar que os provedores de liquidez mais sofisticados consigam reconhecer, e ao saber que nesses casos eles perdem de forma mais consistente, podem preferir não aceitar entrar na contraparte, afetando nossa liquidez. Aparentemente, os volumes que negociamos ainda não alcançaram o ponto em que os provedores de liquidez se preocupem em identificar e recusar nossas operações, mas é questão de tempo até que isso aconteça. Porem os outros problemas citados acima já estão ocorrendo. Para lidar com a questão da liquidez, a partir de 2017/2018 as operações passaram a ser divididas em partes. Em vez de uma operação de 500 lotes, passamos a executar 100 operações de 5 lotes cada, a intervalos de 3 a 5 segundos entre uma e outra. Isso deveria dar tempo para que o livro de ofertas se regenerasse e o spread efetivo ficasse perto do spread exibido na plataforma, o que seria mais importante do que o atraso de 5 a 7 minutos na execução dessas 100 operações. Porém, após alguns meses operando dessa forma, foi constatado que os livros de ofertas não se regeneram à velocidade que seria esperada, e os spreads efetivos acabam ficando muito maiores que os exibidos na plataforma, além dos atrasos nas execuções. Este é um dos motivos pelos quais voltamos a executar uma operação de cada vez. Mas a melhor versão e configuração disponível estava otimizada para spreads em torno de 1.6 pips, enquanto os spreads reais observados estavam perto de 2.4 pips. Rodando backtests com os spreads reais das execuções, o gráfico fica assim:

Continua relativamente bom, mas bem pior do que se os spreads fossem 1.6 ou menores. Uma das principais diferenças que se observa, além da redução na performance média, é que desde 2017 a curva de crescimento fica quase horizontal. Foram realizados novos testes e novas mudanças nas versões em uso, até que conseguimos chegar a resultados adequados para lidar com essa situação de pandemia, liquidez relativamente baixa e spreads altos. Atualmente temos 8 configurações bastante razoáveis para a versão 691f, entre as quais 4 são muito boas. Foram realizados alguns testes combinando as 8 melhores de diferentes maneiras, e ficou claro que a melhor delas rodando sozinha ou as duas melhores combinadas produzem resultados melhores do que outras combinações 2 a 2, 3 a 3 etc. Os testes continuam em andamento e possivelmente novas mudanças sejam feitas em breve, mas a versão que está atualmente nas contas já é adequada para enfrentar a situação da pandemia e para negociar com lucros consistentes mesmo com o spread efetivo de 2.4 pips. Este genótipo foi o campeão da otimização entre 1998 e 2011 e validação de 1987 a 2020, mostrando-se bastante homogêneo e robusto. Ainda há algumas alterações que pretendemos fazer na versão 691f, que passará a se chamar T-691f. A curva de crescimento da versão que está atualmente nas contas (backtest com spread de 2.5 pips) é esta:

Esta versão foi colocada em operação na maioria das contas (exceto no fundo, aguardando decisão do gestor sobre isso). Seguiremos monitorando os resultados para conferir se continuarão conforme as expectativas, ao mesmo tempo em que continuamos realizando mais testes em busca de melhores genótipos. Agradecemos a todos que têm enfrentado esse duro período de perdas e se mantiveram firmes, e esperamos que o pior momento já tenha passado, retomando nosso ritmo normal de crescimento. Hoje (10/09/2020) foi executada a primeira operação com a nova configuração G005 para a versão 691f, com lucro de 2,24%. Ainda é cedo para comemorar, mas os indícios são muito promissores e esperamos que em breve tenhamos boas notícias provenientes dos números nas contas.