Zen e a arte da otimização de trading systems - página 2

 

Resumindo tudo: O teste para frente no MT5 é um avanço muito bem vindo, mas que pode ter melhoras, como por exemplo fazer vários testes para frente com vários grupos de datas, como por exemplo de Janeiro de 2012 a Janeiro de 2013, depois de fevereiro de 2012 a fevereiro de 2013, etc.

Seria interessante também fazer uma otimização individual para cada par de moeda ao mesmo tempo, em vez de todos, já que cada par de moedas tem a sua particularidade. Mas isso eu acredito que já é querer demais! rsrs

Mas é o que eu penso.

 
tcferreira:

Resumindo tudo: O teste para frente no MT5 é um avanço muito bem vindo, mas que pode ter melhoras, como por exemplo fazer vários testes para frente com vários grupos de datas, como por exemplo de Janeiro de 2012 a Janeiro de 2013, depois de fevereiro de 2012 a fevereiro de 2013, etc.

Seria interessante também fazer uma otimização individual para cada par de moeda ao mesmo tempo, em vez de todos, já que cada par de moedas tem a sua particularidade. Mas isso eu acredito que já é querer demais! rsrs

Mas é o que eu penso.

Thiago, perfeitamente, existe uma otimização assim comparativa por instrumentos, mas quando se habilita a utilização de todos instrumentos que estão ativos na janela de mercado.
 

Um pouco de arte no processo de otimização 

Continuando as reflexões e ideias sobre o assunto do tópico, gostaria de entrar em um assunto mais delicado relacionado à palavra arte presente no nosso título.

Para quem quiser aprofundar os estudos de forward testing, que é um recurso chave no processo de otimização, recomendo a leitura do livro "The Evaluation and Optimization of Trading Strategies" de Robert Pardo (http://www.amazon.com/Evaluation-Optimization-Trading-Strategies-Wiley/dp/0470128011), onde é possível encontrar um pouco mais sobre os conceitos de teste para frente, que ele define como walk forward.

O conceito para o teste para frente que o autor apresenta é o abaixo, que até aqui está de acordo com o proposto pelo MT5:

"A single walk forward is a two-step process. The first step is optimization. The second step is the evaluation of the performance of the selected parameter on out-of-sample price data."

Uma definição simples e completa, eu diria. Entretanto pode-se notar que mesmo uma boa tecnologia de otimização e testes é ainda muito dependente de aspectos discricionários, como apresento alguns abaixo.


Notem, por exemplo, essa lista de componentes necessários para um bom teste para frente:

"A walk forward requires the following components:

1. Scan ranges for the variables to be optimized

2. An objective or search function

3. Size of the optimization window

4. Size of the walk-forward, trading or out-of-sample window"


E também essa outra lista dos fatores que influenciam no período de otimização:

"The length of the optimization window is determined by the:

1. Availability of data

2. Style of trading strategy

3. Pace of trading strategy

4. Relevancy of data

5. Shelf-life of the trading strategy’s parameters."


Por mais quantitativa que pareça o processo de otimização, a realidade é que vários dos ítens dessas listas são totalmente subjetivos. 

Assim, na prática, o que percebo é que quanto mais nos aprofundamos no assunto otimização, mais ele mistura ciência e arte.

E, justamente por isso, o título que escolhi para esse tópico é "Zen e a Arte", já que muito do processo de otimização é pura arte, intuição e experiência do trader que está no comando da ferramenta.

 

The Evaluation and Optimization of Trading Strategies (Wiley Trading): Robert Pardo: 9780470128015: Amazon.com: Books
  • www.amazon.com
The Evaluation and Optimization of Trading Strategies (Wiley Trading) [Robert Pardo] on Amazon.com. *FREE* shipping on qualifying offers. A newly expanded and updated edition of the trading classic, Design, Testing, and Optimization of Trading Systems Trading systems expert Robert Pardo is back
 

Para quem deseja aprofundar mais o assunto otimização, recomendo os links abaixo, copiados do excelente tópico "All (not yet) about Strategy Tester, Optimization and CloudNew comment" (https://www.mql5.com/en/forum/13542).

 

Optimization


 

 

 
O poder da Cloud Network

Um dos recursos que considero estar entre os mais poderosos e inovadores do MT5 é a otimização de robôs através da Cloud Network.

Para ter uma ideia do potencial dessa tecnologia, basta acessar o link abaixo com as estatísticas hostóricas da Cloud (notem que o Brasil já ocupa a quinta posição em número  de agentes, e tudo indica que em breve iremos superar os Estados Unidos e a China, com a popularização do MT5 na BM&FBovespa).


A cloud é perfeita para acelerar a otimização de EAs, já que o processo é totalmente paralelo. O maior problema dos projetos baseados em processamento paralelo é encontrar aplicações no mundo real. E, a menos que você não acredite em backtesting, as aplicações na área de finanças quantitativas são ilimitadas, já que a complexidade nessa área é infinita.

Portanto, quanto mais agentes e usuários envolvidos na Cloud, em teoria, melhores os resultados das otimizações.

Na área em português, existe um ótimo artigo sobre os testes utilizando a Cloud (https://www.mql5.com/pt/articles/341).

O grande desafio dessa área, diante de um problema de complexidade e incerteza infinita não será, portanto, o tempo de backtesting, mas a qualidade de filtragem dos algoritmos genéticos e, principalmente, a eficácia da metodologia de testes.

 
figurelli:
O poder da Cloud Network

Um dos recursos que considero estar entre os mais poderosos e inovadores do MT5 é a otimização de robôs através da Cloud Network.

Para ter uma ideia do potencial dessa tecnologia, basta acessar o link abaixo com as estatísticas hostóricas da Cloud (notem que o Brasil já ocupa a quinta posição em número  de agentes, e tudo indica que em breve iremos superar os Estados Unidos e a China, com a popularização do MT5 na BM&FBovespa).


A cloud é perfeita para acelerar a otimização de EAs, já que o processo é totalmente paralelo. O maior problema dos projetos baseados em processamento paralelo é encontrar aplicações no mundo real. E, a menos que você não acredite em backtesting, as aplicações na área de finanças quantitativas são ilimitadas, já que a complexidade nessa área é infinita.

Portanto, quanto mais agentes e usuários envolvidos na Cloud, em teoria, melhores os resultados das otimizações.

Na área em português, existe um ótimo artigo sobre os testes utilizando a Cloud (https://www.mql5.com/pt/articles/341).

O grande desafio dessa área, diante de um problema de complexidade e incerteza infinita não será, portanto, o tempo de backtesting, mas a qualidade de filtragem dos algoritmos genéticos e, principalmente, a eficácia da metodologia de testes.

Por falar em popularização da plataforma MT5 na BM&FBovespa, vocês sabem me responder à quantas andam isso? Quais são as corretoras que ja oferecem a Meta Trader para seus clientes?

Grato 

 
rafaeltoscano:

Por falar em popularização da plataforma MT5 na BM&FBovespa, vocês sabem me responder à quantas andam isso? Quais são as corretoras que ja oferecem a Meta Trader para seus clientes?

Grato 

Rafael, eu diria que o maior fator de popularização será a entrada do idioma português no fórum, já que o MT5 é uma plataforma com distribuição internacional.

obs: pelas regras do Fórum não podemos falar em nomes de corretoras. 

 

As armadilhas da otimização

O indicador abaixo, disponível gratuitamente na Base de Código do fórum, apresenta uma visualização diferenciada do indicador IFR (RSI). 

https://www.mql5.com/en/code/1732

Note que os valores do IFR são apresentados como candles, sendo que para isso o indicador utiliza os valores de OHLC de cada candle utilizado no cálculo do IFR. 

Bem, e qual a relevância desse indicador para a otimização?

Simples, perceba como o valor do indicador (e isso vale para a maior parte dos osciladores) varia muito conforme a variação de preços a cada período.

Entretanto, quando você otimiza um trading system com um indicador desse tipo, provavelmente irá utilizar um único parâmetro para o período.

A dificuldade de ajustes desse parâmetro está diretamente relacionada ao nível de ruído que existe na definição precisa do valor dos indicadores utilizados. Note que na imagem de exemplo existe até um gap no valor do indicador, nos últimos candles, reflexo do gap dos preços.

O mercado real é assim, dinâmico e imperfeito, por mais que na otimização se veja e busque a perfeição.

Dessa forma, o ideal seria para todos os indicadores utilizados levar em conta os valores máximos, mínimos, das aberturas e fechamentos para avaliar qual o melhor ajuste para os indicadores que pretendemos utilizar no futuro.

Por exemplo, ao invés de utilizar apenas um IFR, podemos utilizar 2 indicadores iguais, um utilizando para os cálculos os valores máximos e outro os valores mínimos.

Mas como esse é um processo trabalhoso, podemos buscar filtrar essas imperfeições de outras formas, como por exemplo o teste para frente, que irá buscar filtrar os impactos da alta variação de preços nos valores calculados nos indicadores.

 

Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação

Preparando-se para a mudança de contratos no MT5

figurelli, 2014.02.12 12:07

Para quem realiza otimização no MT5, um dos problemas enfrentados é a falta de um histórico maior para ativos com data de vencimento dos contratos, como por exemplo no índice iBovespa Futuro ou com opções/derivativos.

No caso do índice iBovespa Futuro, o vencimento é sempre na quarta-feira mais próxima do 15º dia do mês de vencimento do minicontrato (fevereiro, abril, junho, agosto, outubro e dezembro). Portanto estamos muito próximos de um vencimento para esses instrumento financeiro.

A ideia desse tópico é estudar alternativas e soluções para enfrentar essas mudanças dentro do MT5.

 


Razão: