SISTEMAS AUTOMÁTICOS PARA FOREX

Por Hindemburg Melão Jr.

 

Hoje em dia, para usar um sistema automático é muito simples. Você precisa de uma plataforma, como Meta Trader 4 (gratuita), que pode ser baixada em www.metaquotes.net, ou Meta Stock (comercial). Devido à relação custo/benefício, sugerimos o Meta Trader. Após baixar e instalar o Meta Trader, abra o programa e pressione simultaneamente as teclas “CTRL” e “R” para exibir o “Examinador de estratégias”. Com este examinador você pode rodar um sistema automático tanto para verificar a eficiência de uma estratégia mediante o uso de dados históricos quanto para operar automaticamente em tempo real. O Meta Trader já vem com dois sistemas automáticos: Moving Average e MACD, ambos perdem seu dinheiro, conforme você pode verificar fazendo back tests, que geram estes gráficos:

 

MACD

Moving Average

Mas você pode desenvolver seu próprio sistema automático, aprimorá-lo e testá-lo até que ele funcione a contento, bem como pode aprimorar e testar sistemas já existentes. Você também pode comprar ou obter gratuitamente em diversos sites, porém minha recomendação pessoal é que você construa o seu, porque a grande maioria dos sistemas vendidos e dos gratuitos perde dinheiro tanto quanto os investidores humanos, ou até mais, já que 5% dos investidores humanos têm lucro, enquanto menos de 1% dos sistemas automáticos testados se mostraram satisfatórios.

O uso de sistemas automáticos oferece uma vasta gama de vantagens em comparação ao trading manual, entre as quais podemos destacar as seguintes:

1 – Operar 24 horas por dia, praticamente ininterruptamente.
2 – Não está sujeito a problemas emocionais.
3 – Disciplina absoluta ao seguir a estratégia previamente definida.
4 – Possibilidade de testar sua estratégia em poucos segundos usando dados históricos de vários anos.
5 – Grande facilidade para calcular com mais exatidão os níveis de ganho a longo prazo.

Entre todas as vantagens, a possibilidade de testar a estratégia com dados históricos é a mais importante de todas. Em vez de você treinar meses a fio com simuladores de investimentos, e dificilmente manter-se fiel ao mesmo método de ponta à ponta, basta poucos cliques no mouse para testar seu método durante vários anos, sempre fiel ao método previamente determinado, e depois de alguns segundos o programa gera um relatório detalhado. Isso é extremamente útil para que se possa ter uma metodologia operacional antes de começar a investir pra valer.

Um dos primeiros e provavelmente o mais famoso sistema automático de operações foi desenvolvido na década de 1970, por um dos maiores traders da História, Ed. Seykota. Na época ainda não existiam computadores pessoais e os mainframes eram caros, lentos e escassos, mas como Seykota estudou no MIT, tinha acesso a tecnologias de ponta para desenvolver e testar projetos nesse sentido. Com seu sistema, Seykota conseguiu ganhos consistentes de 300.000% em 17 anos, transformando 5 mil dólares em 15 milhões de dólares. O sistema gera, em média, 60% ao ano, que representa 4% ao mês. Algumas fontes mencionam 5,7% ao mês, provavelmente porque o sistema apresenta performances diferentes em ativos diferentes.

De lá para cá, muitos avanços tem sido alcançados, os personal computers se disseminaram pelo mundo todo e são milhares de vezes mais velozes do que o computador usado para auxiliar nos cálculos que levaram o homem à Lua, em 1969. No entanto pouco tem sido feito no sentido de desenvolver sistemas automáticos longevos e estáveis. Há centenas ou mesmo milhares de propagandas espalhadas pela Internet de sistemas que prometem ganhos de até 2460% ao ano, como no caso do EuroX2, no entanto basta fazer download da versão demonstrativa e testar, para conferir que em certo ponto ele despenca vertiginosamente. Isso é mais ou menos óbvio, já que um sistema que gerasse de fato ganhos de 2460% ao ano não seria comercializado por 99 euros; ele seria guardado sob 7 chaves.

Também se pode baixar diversos sistemas “gratuitos”, que na verdade são caríssimos, porque perdem seu dinheiro! Por curiosidade/diversão, você pode baixar alguns no site http://codebase.mql4.com/experts e testá-los. A diferença entre as performances anunciadas e as verificadas em back test ou em real time é gritante. Utilizamos uma base minuto a minuto, desde 1/1/2001 até 16/10/2006, e fizemos back tests com qualidade de modelagem 90% em praticamente todos os expert advisors disponíveis, tanto gratuitos quanto comerciais (algumas versões demonstrativas e outras completas). Os resultados mostram que são raríssimos os sistemas que não perdem, e mesmo estes não costumam render mais do que investir em poupança.

Entre mais de 200 robôs testados, apenas um se mostrou satisfatório: CyberiaTrader 1.88, criado por Alexandr A. Krivoshey, vencedor do “Soviet Union programming championship 1989”, equivalente a uma Olimpíada Russa de Programação. O sistema se mostrou eficiente no EURUSD, 15 minutos, com possibilidade de 1.100% em 6 anos e risco relativamente baixo. A versão 2.3 do programa é comercializada por 500 dólares em http://cyberia.org.ru. Há uma versão demonstrativa do Cyberia Trader no site citado acima.

Os demais sistemas testados revelaram diversos problemas e praticamente nenhum atendeu às nossas expectativas mínimas. Na análise que fizemos, pudemos constatar 5 falhas principais:

1 – Back test realizado com amostra pequena.
2 – Back test realizado com qualidade de modelagem inadequada.
3 – Super especialização em determinado ativo e determinado período.
4 – Ausência de Forward Confirmation Test.
5 – Quedas brutais geralmente causadas pelo uso inadequado de stop loss.

Comentaremos, a seguir, cada um destes problemas:


1 – Séries muito curtas:

Está diretamente relacionado à expectativa de longevidade do sistema. Observe o gráfico da evolução de uma carteira de US$ 1.000.000,00 administrada pelo sistema automático "Stoch" entre 1/1/2006 e 16/10/2006:

Note que as oscilações são pequenas em comparação ao movimento e não há nenhuma queda significativa no período que não seja posteriormente corrigida por uma subida. Além disso, um histórico de 10 meses parece, a princípio, razoável, não fosse pelo fato de que nesse tempo todo só foram realizadas 165 operações. Mesmo o programa tendo lucro em 66% das operações, o fato de a amostra ser muito pequena e as oscilações serem consideráveis tornam o teste insuficiente para assegurar a eficiência do sistema. Este fato fica evidenciado quando se faz um teste a partir de 1/1/2001. Veja o resultado:


A performance é realmente interessante em 2006, porém é desastrosa entre 2001 e 2005. Para determinar se uma série é longa o suficiente, deve-se observar principalmente a amplitude de variação nos balanços. A série será longa o suficiente se as oscilações para baixo forem menores do que 5% ou 10% da altura total do gráfico e se apresentar inclinação aproximadamente constante ou curva aproximadamente exponencial constante.


2 – Modelagem inadequada:

Se você observar os candles dos gráficos minuto a minuto, verá que os preços geralmente não oscilam mais do que 2 ou 3 pips dentro de cada candle, possibilitando uma modelagem com erros geralmente menores do que 2 pips em cada operação. Isso nos permite ter uma confiabilidade bastante razoável nos resultados. Se o teste for realizado com dados de intervalos maiores do que 1 minuto, isso afeta drasticamente a performance do sistema, podendo inflacionar o resultado em níveis totalmente fora da realidade. Veja o gráfico do JKBullP_AutoTrader2 em teste entre 2001 e 2006 com qualidade de modelagem 43%. Ele gera ganhos de quase 21.000% em 5 anos:

Ao testar o mesmo sistema, no mesmo ativo, no mesmo período, porém com qualidade 90%, a performance cai para 14% em 5 anos, podendo chegar a pouco mais de 20% se aumentar cada operação, mas não se pode aumentar acima disso porque durante a queda ele perderia tudo. Veja o gráfico:

Note também que a quantidade de operações realizadas difere muito, dependendo da qualidade da modelagem.

Ao fazer um back test é importante que se use o modelo “todas as cotações” (every tick) e que se use uma base minuto a minuto, caso contrário o resultado do teste terá gigantescas disparidades em relação aos dados reais e não terá nenhuma utilidade para prognosticar desempenhos reais.

Os testes com qualidade 90% costumam ser razoavelmente representativos das performances reais porque apresentam erros menores que 5 pips em mais de 99% dos casos. Modelagens com qualidade abaixo de 85% já começam a ser desastrosas, porque cerca de 5% dos erros podem chegar a 70 pips em cada operação, e isso é suficiente para inflacionar uma performance em milhões ou bilhões de vezes. Com a otimização de parâmetros é extremamente fácil inflacionar a performance de um sistema se houver erros de 70 pips em cada operação. Este efeito pode acontecer sem a intenção do autor, embora me pareça que em alguns sites comerciais haja má fé. Outro problema é que mesmo com dados minuto a minuto, eventualmente ocorrem candles gigantes, como em 15:29h de 6/10/2006, com 51 pips. É um caso raro, mais raro do que 1/10.000, porém suficientemente grave para causar sérias distorções. E não apenas os candles de 50 pips, mas também os menores e mais freqüentes, como os de 20 pips, que também são gigantes e muito mais abundantes. A distribuição destes tamanhos é muito placicúrtica, a cauda é muito densa, portanto há muitos candles de 10 pips, 15 pips etc., o que constitui um sério problema a sistemas que fazem scalping (operações muito curtas), pois apresentam performance em back test muito diferente da constatada em live test. No Meta Trader 4, principal plataforma gratuita para operações em Forex, equipado com recursos para back test, os critérios de compra e venda são baseados em um dos quatro preços do candle (high, low, open ou close). Se o candle de 1 minuto tiver até 3 pips, fica bastante preciso, mas com 51 pips cada operação no back test pode ocorrer num valor muito diferente do que seria se cada tick do candle fosse considerado, como acontece no live test.

3 – Super especialização:

Quando se faz a otimização dos parâmetros de um sistema para que ele maximize determinado output (maximizar o balanço, por exemplo), é importantíssimo estar atento para o problema de overtraining. Ao otimizar os parâmetros para que o sistema tenha máxima performance em determinado conjunto de dados, pode-se atingir um nível altíssimo de aderência naquela amostra específica, porque a otimização consiste em mudar aleatoriamente os parâmetros, centenas ou milhares ou milhões de vezes, até que eles se ajustem tão bem quanto se queira a uma determinada amostra de dados. Isso é o que poderíamos chamar de “ajuste por força bruta”, em que um sistema ruim pode aparentar ser bom porque os parâmetros foram ajustados especialmente para atingir alto desempenho em determinada amostra de dados. Basta tentar usar o mesmo sistema numa amostra nova para que ele revele suas reais características e, se não for realmente bom, comece a perder sistematicamente. Este problema é evidenciado em vários sistemas comercializados por aí, em que o gráfico de crescimento da carteira é quase uma linha reta dentro do período de testes. Quando você adquire o produto e testa no mundo real, percebe que ele gera prejuízos. Um exemplo é o EuroX2, em que os autores alegam que ele ganha 2460% ao ano. De fato, desconsiderando os períodos em que ele perde tudo, ele parece ter bom desempenho. Faça download da versão demonstrativa em http://forex-soft.netfirms.com/catalog.htm e teste você mesmo, para ver o que acontece: nos dados anteriores a 21/3/2005, no back teste ele se comporta de acordo com o gráfico publicado do site. Nesta data ele perde tudo. Veja o gráfico pequenino que eles escondem no canto do site: http://forex-soft.netfirms.com/img/eurox2.gif. Note o tamanho da queda.
E o pior é que ela prossegue:

Além disso o sistema apresenta outros problemas, como funcionar exclusivamente num intervalo específico, sugerindo que foi modelado exclusivamente para tal intervalo com funções não paramétricas.


4 – Forward Confirmation Test:

Para evitar o problema de super especialização, o procedimento correto ao fazer o back test é dividir sua base de dados em duas partes, geralmente 50% em cada parte ou 30% e 70%, dependendo do caso. Usa-se uma parte da base para otimizar os parâmetros e depois testa-se o sistema na outra parte da base para verificar se a eficiência permanece a mesma. Outra possibilidade é testar o mesmo sistema em diversos ativos similares e verificar se as performances são semelhantes. Na maioria das vezes, basta testar o sistema em outro ativo para constatar o desastre.


5 – Quedas brutais:

Em alguns casos se pode atingir performances muito altas durante certo tempo até que, de repente, perde-se tudo. A causa mais comum para isso é o uso inadequado de stop loss ou ausência de stop loss. No caso do EuroX2 podemos perceber claramente um problema que pode ser este. Veja o MultiLotScalper, que durante vários meses parece que continuará ganhando para sempre, até sofrer a primeira queda brutal, depois a segunda (ainda maior).



Uma ou mais destas 5 falhas são observadas em praticamente todos os sistemas analisados e em vários que não chegaram a ser analisados, mas cujos gráficos apresentam sérios sintomas.

Há outros fatores a serem considerados, mas estes 5 já possibilitam ter uma idéia bastante razoável sobre a confiabilidade de um sistema antes de começar a usá-lo, ou antes de adquiri-lo, ou ainda oferecer alguma orientação a quem pretende desenvolver seu próprio sistema.

Clique aqui para fazer download de alguns testes que fizemos com os sistemas automáticos deste site http://codebase.mql4.com/experts. Compare com os testes citados no site, em que usaram modelagens de qualidade mais baixa, e veja a influência deste detalhe nos resultados.

Se você tiver interesse em adquirir produtos de boa qualidade, podemos indicar alguns sistemas que acreditamos serem bons (não conhecemos o suficiente, mas nos parecem confiáveis pelo fato de o autor ser idôneo ou pelo fato de a empresa que o comercializa aparentar transparência e credibilidade). São estes:

SureShot, by Renato Pires dos Santos. Renato tem doutorado em Física pela UNESP, dois pós-doutorados na Alemanha e na Áustria, sendo um sobre Inteligência Artificial e outro em Física.
http://www.reniza.com/forex/products.htm (leia também o artigo de Renato sobre Sigma Society)

Pro Signal
http://prosignal.net/performance.htm

Também não conhecemos detalhes sobre os sistemas desenvolvidos por Thiago Martini, que entrou em contato conosco recentemente e gentilmente nos enviou link para a Alpari, mas apesar do contato superficial, o autor tem se mostrado uma pessoa idônea e demonstra boa compreensão sobre o tema. Quanto aos níveis de ganho citados em seu flog http://martinifx.blogspot.com, não há como opinar sem conhecer o sistema, mas os gráficos sugerem amplitude muito grande de variação, implicando riscos elevados. Nossas conversas sobre o assunto não chegaram a se aprofundar, mas é possível que os sistemas sejam de fato eficientes, porém parece que são de uso pessoal e não estão disponíveis para aquisição.

Para fazer testes é recomendável que você faça download de bases tão grandes quanto puder. Dados gratuitos minuto a minuto, desde junho de 2004, podem ser baixados em http://www.alpari-idc.com/en/dc/databank.php (agradecemos pela sugestão de Renato Pires dos Santos, Fernando Botti e Thiago Martini).

Dados gratuitos com intervalos de 10 segundos (séries curtas, de poucos dias) podem ser baixados em http://www.dukascopy.com/swiss/english/data_feed/csv_data_export (agradecemos pela sugestão de Charles Adriano).

Sobre o autor:
Recordista mundial registrado no Guinness Book, ed. 1998, pág. 110-111.
Membro honorário em diversas sociedes internacionais para pessoas de elevado QI.
Autor de diversos trabalhos premiados internacionalmente, inclusive autor de novidades teóricas top-10 mundial, top-19 e top-26.
Classificado para representar o Brasil na semi-final do campeonato mundial ICCF desde 2000.
Várias vezes classificado acima de 99% dos participantes no Folha Invest, inclusive acima de 99,98% em dezembro de 2005 (27a. classificação entre 115.000 participantes) e acima de 99,92% em julho de 2005 (52a. classificação).
Autor de um dos melhores (talvez o melhor) sistemas automáticos da atualidade, com ganho médio mensal de 11,78% ao mês entre 1/1/2001 e 16/10/2006 (back test validado com forward test confirmation com qualidade máxima de modelagem no Meta Trader 4).
Mais sobre o autor clicando aqui