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
