Construindo trading systems à prova de icebergs

Para adicionar comentários, por favor Faça o login ou registrar
Rogerio Figurelli
Moderador
58851
Rogerio Figurelli  

Criei esse tópico para apresentar e discutir com a comunidade algumas de minhas crenças sobre o mercado financeiro, obviamente com o viés quantitativo.

Portanto, antes de mais nada, gostaria de deixar bem claro que minha crença principal é que o mercado tem complexidade infinita (como já comentei em outros tópicos) e que portanto não vejo espaço para paradigmas, ou seja, prefiro reforçar meus modelo quantitativos para as mais variadas situações e cenários, principalmente os que considero possíveis de serem transformados em algoritmos, e deixar para o mercado provar o que realmente é pura teoria ou o que é a verdade e acontece de fato na prática.

Se você já é um negociador sistemático, certamente tem suas próprias crenças e está buscando um backtesting que realmente se confirme na prática, ou seja, no mercado real.

Seja qual for o trading system que você esteja construindo nesse momento, lembre-se que ele deve estar preparado para enfrentar os icebergs do mercado para que isso aconteça.

O iceberg serve como uma metáfora, onde talvez seja possível alinhar nossas crenças, já que apenas cerca de 10% da sua massa ou volume emerge à superfície. Os demais 90% são, provavelmente, o que farão o trading system naufragar.


Os 10% que você está vendo é justamente o backtesting. Mas o que existe nos 90% que estão abaixo do nível do mar?

Estudando esse iceberg a muitos anos, criei um modelo quantitativo que pode ser adaptado na forma de algoritmos e que divide o iceberg em 10 camadas, conforme abaixo:

Camada 1: Resultados do Backtesting/Forward Testing (os 10% visíveis)

Camada 2: Os agentes, atores e instrumentos do mercado

Camada 3: Os planos dos agentes e atores

Camada 4: As notícias do mercado

Camada 5: Os fatores aleatórios do mercado

Camada 6: As mudanças (internas e externas) dos agentes, atores e instrumentos

Camada 7: O destino do mercado

Camada 8: As falhas e erros dos agentes e atores

Camada 9: Os novos agentes, atores e instrumentos do mercado

Camada 10: A evolução tecnológica dos agentes

A ideia desse modelo quantitativo é tentar prever o máximo de variáveis relevantes que devem estar presentes dentro de qualquer ecossistema de trading systems, uma vez que não acredito que um único trading system possa contemplar todas essas camadas.

A complexidade de cada camada dependerá muito também das crenças de cada trader. Se você acredita na teoria do caminho aleatório, por exemplo, provavelmente esse modelo será reforçado na camada 5, mas ao longo desse tópico pretendo descrever e detalhar mais cada uma dessas camadas, visando ajudar na construção de trading systems à prova de icebergs.

Aceitar a existências dessas camadas talvez faça você mudar sua abordagem de construção e testes de Expert Advisors.

Ou, quem sabe, você me convença o contrário, que várias dessas camadas são absolutamente desnecessárias.

E o fórum está aberto para qualquer um mergulhar e investigar a realidade desse iceberg, sem paradigmas. 

Sérgio Rodrigues
54
Sérgio Rodrigues  

Olá Rogério,

 Quero encarar esse  iceberg de frente. rsrsr, e estudar camada por camada.

O que seria os agentes? atores? e instrumentos do mercado?  Eu não estou conseguindo compreender  esses termos de uma forma técnica.

Paulo Oliveira
Moderador
3013
Paulo Oliveira  

E sabe o que é mais maravilhoso de tudo, é transformar isto em número...

Não poderíamos enquadrar estas 10 camadas e outra subcamadas, etc... etc.... na Teoria do Caos!

"A Teoria do caos trata de sistemas complexos e dinâmicos rigorosamente deterministas, mas que apresentam um fenômeno fundamental de instabilidade chamado sensibilidade às condições iniciais que, modulando uma propriedade suplementar de recorrência, torna-os não previsíveis na prática a longo prazo.

Em sistemas dinâmicos complexos, determinados resultados podem ser "instáveis" no que diz respeito à evolução temporal como função de seus parâmetros e variáveis.

Isso significa que certos resultados determinados são causados pela ação e a iteração de elementos de forma praticamente aleatória (grifo meu). Para entender o que isso significa, basta pegar um exemplo na natureza, onde esses sistemas são comuns. A formação de uma nuvem no céu, por exemplo, pode ser desencadeada e se desenvolver com base em centenas de fatores que podem ser o calor, o frio, a evaporação da água, os ventos, o clima, condições do Sol, os eventos sobre a superfície e inúmeros outros...." (https://pt.wikipedia.org/wiki/Teoria_do_caos

Acho que se o nosso saudoso Dominguinhos tivesse participando deste fórum, ele iria dizer o seguinte: "Olha isto aqui tá muito BOM! Isto aqui tá bom demais!  Olha, quem ta fora quer entrar! Mas quem tá dentro não sai!"

Teoria do caos – Wikipédia, a enciclopédia livre
  • pt.wikipedia.org
Esta página ou secção foi marcada para revisão, devido a inconsistências e/ou dados de confiabilidade duvidosa (desde julho de 2013). Se tem algum conhecimento sobre o tema, por favor, verifique e a consistência e o rigor deste artigo. Considere utilizar para associar este artigo com um WikiProjeto e colocar uma explicação mais detalhada na...
Rogerio Figurelli
Moderador
58851
Rogerio Figurelli  
SergioSantana:

Olá Rogério,

 Quero encarar esse  iceberg de frente. rsrsr, e estudar camada por camada.

O que seria os agentes? atores? e instrumentos do mercado?  Eu não estou conseguindo compreender  esses termos de uma forma técnica.

Perfeitamente Sergio, vamos começar então por ai, pelos elementos da Camada 2, que considero a base da arquitetura que queremos modelar.

Instrumentos - são os ativos e índices que são negociados no mercados (instrumentos financeiros). Ex: EUR/USD, WING14, PETR4, etc.

Agentes - são todo e qualquer objeto que um ator utiliza para estudar ou negociar instrumentos. Ex: uma plataforma (como o MT5), um Expert Advisor, um robô, um jornal (e suas notícias), etc.

Atores - são os elementos que irão controlar e utilizar os agentes para negociar os instrumentos e atuar nos diversos cenários de mercado. Ex: o trader, a corretora, etc.

Note que alguns elementos podem executar funções diferentes ao mesmo tempo, como a corretora, que atua como ator e agente, conforme cada caso. 

Note-se que os instrumentos estão inseridos no mercado, e possuem atributos como preço, volume, liquidez, etc. Esses são atributos de mercado.

Mas os instrumentos também estão inseridos no ambiente, que é tudo que não for agente, instrumento, ator ou o próprio mercado. O ambiente é o todo. Dentro do ambiente, o preço dos instrumentos é o real ou verdadeiro, o que eles valem realmente.

Na prática o que temos na camada 2 é um modelo para poder dimensionar o relacionamento entre as principais variáveis de forma quantitativa.

Bem, esse é o modelo que eu criei, de acordo com minhas crenças,  mas qualquer um pode criar seu modelo próprio, de acordo com o que acredita ou não ser de fato os elementos do mercado. 

Mas o que importa para um sistema quantitativo é que quantos mais desses elementos conseguirmos dimensionar o comportamento em algoritmos, mais conhecimentos teremos sobre o comportamento deles no mercado. 

Rogerio Figurelli
Moderador
58851
Rogerio Figurelli  
PauloBrasil:

E sabe o que é mais maravilhoso de tudo, é transformar isto em número...

Não poderíamos enquadrar estas 10 camadas e outra subcamadas, etc... etc.... na Teoria do Caos!

Paulo, brilhante contraponto! E pior, talvez você tenha toda razão, e modelar o mercado seja tão complexo como um modelo para prever o tempo, que foi a base da descoberta da Teoria do Caos.

E isso é assustador para nós, negociadores sistêmicos, pois seria a vitória dos discricionários ;-)

Mas prefiro acreditar em um termo intermediário, que é o Caórdico (http://en.wikipedia.org/wiki/Chaordic). Dee Hock que cunhou essa expressão foi CEO da Visa e por muito tempo liderou a empresa usando essas premissas (http://www.amazon.com/Birth-Chaordic-Age-Dee-Hock/dp/1576750744).

Por exemplo, quando você identifica uma tendência de alta através de uma análise grafista, você está vendo o lado de ordem do mercado. As Ondas de Elliot foram comprovadas científicamente e são indicadores de ordem. Assim como diversos outros padrões de mercado, como a Teoria de Dow, os topos e fundos ascendentes, o uso dos números de Fibonacci para prever reversões, etc.

A verdade é que a qualquer momento o mercado pode reverter ou caminhar de forma aleatória ou de lado, e esse exato momento que a reversão ou lateralidade irá iniciar, concordo com você, é absolutamente próximo à sensibilidade às condições iniciais apresentadas pela Teoria do Caos.

Se isso é verdade, então a hora de ganhar dinheiro é quando você vê a ordem do mercado. E a hora de ficar fora com mercado é quando ele se assemelha ao Caos (apesar disso, nada proíbe que alguém tente ganhar dinheiro na hora do Caos, mas duvido que consiga isso de forma consistente e a médio e longo prazo).

E dessa inteligência é que surgem modelos que irão estar mais ou menos expostos conforme cada situação do mercado, o que é absolutamente um tratamento quantitativo que acredito e vejo como viável para sobreviver no mercado.

O que não vejo como viável é estar 100% do tempo no mercado com a mesma exposição e estratégia. Isso para mim seria a Teoria do Caos na prática, ou talvez a arrogância de querer dominar a ordem e o caos (ou seja, 100% do tempo). E olhe que muitos tentam e acreditam nisso.

Não é minha pretensão dominar o lado caótico do mercado. Esse lado prefiro tentar identificar e ter a humildade de ficar de fora, aguardando as evidências da volta da ordem.

Provavelmente o iceberg real do mercado tem centenas de camadas caóticas, mas aqui na nossa modesta modelagem quantitativa vamos nos concentrar aonde vemos ordem. E, acredite, até na camada 5, onde nos preocupamos com fatores aleatórios, existe ordem suficiente para ser modelada em algoritmos (um exemplo e prova disso é o famoso Método de Monte Carlo).

Thiago Ferreira
2233
Thiago Ferreira  

Muito bom o tópico criado Figurelli. De fato se não tomarmos cuidado com o iceberg, fatalmente poderemos de afundar. Tenho também estudado para enfrentar as notícias automaticamente, mas descobri uma maneira simples em teoria e até supervencedora em backtesting, mas que no mundo real se mostrou não tanto favorável (pelo menos no MT5) por se tratar de analisar o mercado pela volatilidade e pela quantidade de pips por secundo, tentando prover no momento que acontecer uma notícia, entrar automaticamente para negociar. Eu particularmente tenho um EA que faz isso. Faço testes, backtesting, resultados milionários, mas na conta real, com o mercado real, ele falha. As vezes devido a configuração que eu acredito ser, mas outras vezes também devido ao Hardware, plataforma, latência (muito importante) e vários fatores que pode influenciar no momento da notícia.

Em resumo, descobri uma maneira de tentar operar na notícia de forma automática, de uma forma simples, mas que se não tiver uma latência quase zero e hardware, não foi possível ter sucesso. Mas vamos lá, tentando e quem sabe um dia eu chego lá, ou chegamos todos lá!

Rogerio Figurelli
Moderador
58851
Rogerio Figurelli  

Camada 2: Os agentes, atores e instrumentos do mercado

Com exceção da camada 1 do nosso iceberg e metáfora, que representa os dados, informações e resultados do Backtesting/Forward Testing (ou seja, os 10% visíveis), 90% dos dados não são facilmente visíveis, para não dizer que são invisíveis, uma vez que precisam ser tratados por algoritmos.

Note-se que da Camada 2 à Camada 10, estamos focados no presente e no futuro. Quanto mais evoluído o sistema quantitativo nessas camadas, mais diferenciados de outras estratégias e sistemas que dependem essencialmente do que se vê e se testa na Camada 1 (a parte visível do iceberg). 

Para o trader discricionário isso pode ser um problema, mas para o trader sistêmico esse é apenas um desafio a ser transformado em arquiteturas e algoritmos. Tudo que o trader sistêmico precisa para isso é uma arquitetura, que irá representar o sistema a ser construído, com seus elementos e relacionamentos.

Dessa forma, vamos estudar um pouco a Camada 2, que é a que defino como os sistemas quantitativos compostos por agentes, atores e instrumentos do mercado, nos mais variados cenários possíveis. 

Um modelo muito simples e conhecido no mercado financeiro, e que se aplica a essa camada, é o referente à diferença de preço e valor, porém em domínios de tempo abaixo do limite de processamento humano (ou seja, realmente em tempo real).

Como mostra o algoritmo abaixo, não existem limites de tempo para que um sistema faça projeções de preços futuros, e de acordo com sua velocidade de observação e detecção das diferenças de preços e valores, obter vantagem competitiva, tipicamente da Camada 2.

Algoritmo de projeção de preços e valores (MQL5-like):

for (timeframe=1; timeframe<MAX_TF; timeframe++) {
   for (instrumento=0; instrumento<MAX_INST; instrumento++) {
      if (precoAtual(timeframe,instrumento)!=precoFuturo(timeFrame,instrumento)) {
          verifica_tendencia(instrumento);
      }   
   }
}

Na prática o que o algoritmo faz é buscar a mesma lógica que se encontra na análise fundamentalista, de perceber uma diferença de preço e valor de uma ação. Só que o algoritmo não faz isso apenas para tempos longos (timeframes maiores), como por exemplo, meses ou anos, mas aceita e busca pequenas diferenças e oportunidades em tempos muito pequenos, abaixo mesmo da capacidade humana de análise da diferença.

Em outras palavras, imagine um algoritmo que detecta para PETR4, que o preço atual está 0,17% abaixo do preço futuro projetado para os próximos 7 minutos. Se ao invés de 7 minutos você estivesse pensando em 7 meses, talvez essa lógica fosse próxima a de algumas obtidas através de análise técnica ou principalmente da projeção de valor da análise fundamentalista. Mas nosso tempo agora começa a baixar, e pode ir abaixo de 1 minuto, quando estamos operando com ativos de alta volatilidade e liquidez, como o índice Bovespa ou o EUR/USD no Forex.

Nesse caso nosso agente é o algortimo de projeção de preco futuro mas poderia ser agregado outro agente com tendências de notícias relacionadas ao instrumento específico, o que seria o agente verifica_tendencia(instrumento). Dentro desse agente podem ser utilizados diversos atores, como preço de outros ativos (combustíveis, por exemplo), que não são necessariamente negociados no mercado (ou seja, não são instrumentos financeiros).

Na verdade os sistemas quantitativos utilizam lógicas bem mais profundas e complexas de combinação de atores, agentes e instrumentos para formar as mais variadas combinações e algoritmos, que irão ser testados pela sua eficácia de resultados, e que simplesmente não passam pela camada 1, que é a do backtesting, mas basicamente pelos testes em tempo real.

Entretanto alguns modelos computacionais baseados em plataformas mais rápidas e avançadas que o MT5, e principalmente dedicadas para HFT, conseguem simular e emular esse tipo de algoritmo, o que é uma das áreas de pesquisa mais avançadas no segmento quantitativo. Nesse caso, o que se tenta é trazer uma camada para a superfície, mas isso ainda está muito longe da maioria dos traders, já que essas plataformas são dedicadas e muitas vezes de consumo proprietário.

Rafael Antonio
404
Rafael Antonio  

Gente estou acompanhando o desenvolvimento deste tópico, bem como este também https://www.mql5.com/pt/forum/16503/page2

Pessoal, isso tudo está sendo muito legal, ver as opiniões de vocês, seus conhecimentos à prova, muito interessante. Bem, como o figurelli e outros já sabem, sou muito leigo nessa parte da "engenharia" do sistema propriamente dito, mas estava lendo sobre a conceituação da coisa, as camadas do iceberg, como o figurelli bem colocou, a Teoria do Caos aplicada ao mercado, como colocou de forma muito inteligente o Paulo, e sobre a Teoria do Caos aplicada ao mercado, quero apenas acrescentar os Fractais (http://www.scielo.br/pdf/rae/v45n4/v45n4a09.pdf) o Efeito Borboleta (https://pt.wikipedia.org/wiki/Efeito_borboleta) e até mesmo o Princípio de Incerteza de Heisenberg aplicado ao mercado financeiro, que fala também de Reflexividade (http://expresso.sapo.pt/reflexividade-e-eficiencia-de-mercado=f514385

Pois bem, agora sobre as camadas do iceberg, o que vejo é que vocês terão um trabalho enorme hahaha! O que eu vejo, é que até a camada 5 o trabalho será muito pesado, mas da camada 5 para a frente, a coisa ficará muito complexa:

Camada 6: As mudanças (internas e externas) dos agentes, atores e instrumentos

Camada 7: O destino do mercado

Camada 8: As falhas e erros dos agentes e atores

Camada 9: Os novos agentes, atores e instrumentos do mercado

Camada 10: A evolução tecnológica dos agentes 

É como se nós tivessemos que praticamente adivinhar o que os atores, por intermédio dos agentes erraram e acertaram, isso é, se em algum momento eles erraram ou acertaram, pois além de incerto o mercado também é relativista, acredito eu.

Pegando o exemplo das nuvens no céu como deu o Paulo, vou usar este exemplo para explicar meu exemplo, se quisermos saber as movimentações futuras de preço do par EUR/USD por exemplo, teríamos que saber basicamente quais as decisões futuras dos governos dos EUA e da União Européia, tentar prever qual será a atitude dos bancos, corretoras e mega investidores ao redor do mundo diante de uma decisão governamental, a linguagem de programação dos robôs, o real impacto das notícias no mercado e qual o sentimento que elas irá trazer para as pessoas, etc etc etc

O que quero com isso é apenas encorajá-los nesse trabalho, pois como a natureza, o universo e tudo a nossa volta, o mercado também é regido por certos modelos e princípios, e a grande verdade é que os modelos estão aí para serem seguidos, e também para serem quebrados. Como disse no início, não posso dar sugestões sobre a construção em si desses trading systems, apenas opiniões sobre a conceituação da coisa e opiniões um pouco mais filosóficas a respeito do assunto, mas de qualquer maneira vou torcer para que isso se desenvolva, pois sei que uma coisa dessa magnitude, se bem feita, ajudará grandiosamente a todos nós

Contestem à vontade se assim acharem bem, assim poderemos nos desenvolver ainda mais 

Grato 

Reduzindo a incerteza do mercado com a adoção de Inteligência Artificial (IA)
Reduzindo a incerteza do mercado com a adoção de Inteligência Artificial (IA)
  • www.mql5.com
Sergio, ótima questão, pois a grande dificuldade das notícias é que elas são informações qualitativas, e cabem aos sistemas de inteligência de máquina transformarem texto em informações quantitativas. Os modelos mais conhecidos no mercado para isso são as ferramentas de text mining ou text analytics. Essas ferramentas evoluíram muito nas...
Rogerio Figurelli
Moderador
58851
Rogerio Figurelli  
rafaeltoscano:

Contestem à vontade se assim acharem bem, assim poderemos nos desenvolver ainda mais.

Rafael, no mercado financeiro estamos todos aprendendo, o importante é manter esse espírito de colaboração e troca de ideias.

Na minha opinião, a grande diferença entre os traders está na visão estratégica, e essa depende de muito estudo e prática de mercado.

O problema é que 99,9% dos traders busca a visão a partir da análise da história passada. Isso deixa pouco espaço para novas visões. Alguns traders, tentam ver diferente no passado, mudando os tipos de gráficos, períodos, etc.

Mas a grande oportunidade que as finanças quantitativas e os sistemas oferecem hoje é a visão estratégica a partir de novas dimensões, que vão desde a inteligência de máquina em tempo real até projeções futuras atualizadas em frações de segundo.

Tudo isso seria inviável sem a tecnologia que dispomos hoje, e é ai que está o desafio, pois essa tecnologia avança em escala geométrica.

A maior parte dos traders prefere ficar apenas na dimensão do passado porque ela é a mais simples.

Mas a realidade é que os melhores traders, os  tubarões, nadam nas profundezas e conhecem a fundo os icebergs, e, sem temer os desafios mais complexos, acabam vencendo.
Paulo Oliveira
Moderador
3013
Paulo Oliveira  

Figurelli, me permita uma sugestão.

Este tema que você está abordando é muito bom e com certeza muitos traders não pararam para olhar o mercado financeiro dentro desta perspectiva.

Certa vez lhe perguntei por que você não postava algum artigo, você falou que seria dois trabalhos,  o de escrever em português e depois traduzir para inglês.

Bem a boa notícia é que com o advento da Seção em Português do site, você já pode escrever artigos em Português, quanto a tradução a MetaQuotes já tem os profissionais e ela vai se encarregar de traduzir o material para outros idiomas. Outro lado bom é que a MetaQuotes paga 200  créditos  ou mais pelos artigos!

Então a minha sugestão é que você transforme este tópico em um artigo, exemplificando o artigo com alguns algoritmos!

É isto!

ABraços! 

Rogerio Figurelli
Moderador
58851
Rogerio Figurelli  
PauloBrasil:

Figurelli, me permita uma sugestão.

Este tema que você está abordando é muito bom e com certeza muitos traders não pararam para olhar o mercado financeiro dentro desta perspectiva.

Certa vez lhe perguntei por que você não postava algum artigo, você falou que seria dois trabalhos,  o de escrever em português e depois traduzir para inglês.

Bem a boa notícia é que com o advento da Seção em Português do site, você já pode escrever artigos em Português, quanto a tradução a MetaQuotes já tem os profissionais e ela vai se encarregar de traduzir o material para outros idiomas. Outro lado bom é que a MetaQuotes paga 200  créditos  ou mais pelos artigos!

Então a minha sugestão é que você transforme este tópico em um artigo, exemplificando o artigo com alguns algoritmos!

É isto!

ABraços! 

Obrigado Paulo, muito boa a sugestão, mas nesse caso teria que transformar em um livro, porque tem muita coisa aqui ainda para ser analisada e discutida e essa é uma área em constante evolução ;-)
123
Para adicionar comentários, por favor Faça o login ou registrar