Estratégias automatizadas e Data Science

Novas ideias e novos caminhos!

Por mais ridículo que pareça, vamos usar as habilidades do bebê, sabe aquele que foi você a muito tempo atras?| Fonte: https://unsplash.com/
Texto publicado originalmente no Portal do Trader.

Fala cambada, Danrop na área.

Faz um tempo que venho estudando a fundo o MT5 e suas versões anteriores, com objetivo de entender melhor seus parâmetros e melhorar de forma considerável as estratégias automatizadas, os famosos EA ou Robôs. Se você não sabe do que estou falando recomendo olhar este outro post que fiz com o básico do básico sobre Robôs: https://forum.portaldotrader.com.br/topic/393/conc...

Sou fissurado em analise de dados e fiz alguns cursos sobre Data Science , por isso utilizo ferramentas e conceitos de forma mesclada para fazer minhas analises. Porém o mais importante para um “Cientista dos Dados” são basicamente os dados rsrs E vamos falar deles aqui nesse post.

Voltando o tema, nosso querido amigo e mestre Rodrigo Cohen, dividiu sua expertise com a gente e liberou um SET de sua autoria, o famoso 18 de Abril, que por sinal foi incrivelmente bem configurado. Como não sou bobo, comecei pelo SET dele e através que algumas analises, que considero imprescindível para qualquer um que for operar com robôs, consegui um belo ganho de Performance.

Antes de chegar no SET propriamente dito, quando eu digo Performance, não me refiro simplesmente a mais lucro, mas sim em um equilíbrio de todos os parâmetros resultantes da operação do robô.

Sendo assim não adianta aumentar o lucro, se você vai perder Z-Pontuação, por exemplo.

O que nos leva a outro ponto, se você não sabe o que os resultados (ex: Z-Pontuação) significam, fica impossível analisar e buscar novos caminhos para melhorar um SET.

Porém para explicar todos os paramentos resultantes do MT5 vou precisar de outro post. :) Em breve pessoal.

Ainda sobre melhorias de Performance, não estou falando apenas da optimização, que dá um trabalhão, mas falo da lógica por trás da construção do SET, e por consequência da lógica da estratégia que foi automatizada.

Entenda que algumas estratégia automatizadas são muito mais abrangentes, digo genéricas, e outras muito mais pontuais ou situacionais.

Algumas estratégias genéricas chegam ao ponto de rodar o histórico de anos de um ativo e ainda se dar bem. Do outro lado, temos por exemplo o SET do Ruy: Bom dia Duran, completamente situacional.

Por isso é necessário um equilíbrio, a busca de harmonia entre o quão genérico ou quão situacional a sua estratégia automatizada deve ser. O SET, ou as configurações dessa estratégia, herdam essa necessidade de equilíbrio.

Outro ponto que reforça esse trabalho de equilíbrio das estratégias e consequentemente do SET, é o fato de não podemos confiar cegamente nos dados que temos, por um simples motivo: existem divergências entre corretoras e plataformas.

Mencionei no inicio do post, os dados são a base, a parte mais importe para quem se atreve a mergulhar de cabeça e encontrar novos caminhos. Exemplo prático: Você encontra um padrão porém com dados imprecisos, logo seu padrão pertence única e exclusivamente ou seu mundinho impreciso.

Buscando uma analise mais profunda, utilizei algumas técnicas de engenharia reversa para poder analisar os dados que a plataforma MT5 recebe da corretora e posteriormente monta o seu gráfico bunitin de candles rsrs

Então temos o seguinte Fluxo:

Fiz esse processo para várias séries históricas de diversas corretoras que eu tinha acesso, o ideal seria conseguir o marketdata puro da Bolsa, mas como não estou nesse nível ainda, vamos deixar para o futuro.

Aqui eu reconstruí o gráfico de variação de preço e volume de negociações, no período gráfico de 5 minutos, em um dia especifico qualquer. Na verdade analisei vários dias para saber se existia realmente inconsistência entre os dados.

Nesse exemplo, a variação do preço e o volume são parecidos, mas não se engane existem diferenças, além disso as faixas de preço aonde as variações ocorrem, para minha surpresa são divergentes, apesar de estarmos olhando o mesmo dia e ativo. Porém isso não atrapalha muito, tanto faz em que faixa de preço está, o mais importante é a variação coincidir.

Podemos concluir que esse é um ponto a favor da analise focada em equilíbrio de estratégias automatizas e seus respectivos SET’s.

Depois de uma porrada de combinações e avaliações de cada um dos SET’s resultantes das minhas optimizações, focadas em equilíbrio, conquistei algumas coisas muito interessantes:

  1. Aprendi muito sobre a Estratégia que foi automatizada.
  2. Aprendi mais ainda sobre o Ativo em questão.
  3. Melhorei minhas habilidades de Data Science.
  4. Melhorei meu conhecimento sobre a plataforma: MT5.

Por isso recomendo, se você vai utilizar estratégias automatizadas, você terá que estudar muito, porém, igual ao risco x retorno, onde maior o risco maior o retorno, mais estudo é é igual a mais conhecimento.

Comparação dos SET’s

Novamente, os set’s variam de pessoa para pessoa, nosso objetivo aqui é estudar e descobrir novos caminhos de aperfeiçoamento.

Por isso, estude e utilize os SET’s principalmente para aprender e construir a sua lógica de funcionamento para cada estratégia automatizada, dessa forma você vai conseguir evoluir e melhorar seu SET, ao invés de ficar correndo pela internet buscando o melhor.

Havia mencionado aqui no post que para comparar e analisar é preciso saber o que significam os resultados, futuramente trarei um tópico com essas explicações. Porém quero que fique bem claro:

Eu AVALIO todos os resultados.

Eu ACREDITO que nenhum deles deva ser ignorado.

Afinal todos eles estão ali por um motivo, eles resumem os dados e mostram o que é importante analisar. Da mesma forma que um Indicador, obviamente indica uma informação relevante no seu gráfico.

Porém como não temos o dia inteiro rsrs Vou falar apenas sobre alguns deles.

Com os SET’s comparados lado a lado temos: Mesmo período gráfico (5MIN), mesmo ativo (WDO) e mesmo período de duração do teste (2013~2016).

Sendo mais preciso: Barras e Ticks exatamente iguais.

Voltando ao tema equilíbrio, eu utilizo períodos maiores para equilibrar SET’s mais genéricos.

Acredito em algumas vantagens dessa forma de analise, optimização e equilíbrio:

  1. Não preciso olhar com tanta frequência o mercado afim de fazer optimizações.
  2. Prazo de validade do SET maior (Apenas suposição)
  3. Do lado da analise, padrões mais fortes de comportamento da Estratégia.

Sendo assim vamos aos resultados comparados:

Como mencionei, resumo básico sobre o que são os resultados.

Fator de Lucro: Obvio, para cada R$ 1,00 investido, tenho retorno de R$ 1,66. Simples e prático, quanto maior melhor. Medida: Interessante acima de 1.

Índice Sharpe: Basicamente ele avalia risco x retorno de um determinado investimento. Artigos interessantes para entender melhor aqui e aqui. Medida: Próximo ou acima de 0.50 | Perfeito 1.

Lucro Liquido total: Básico para avaliações, é o que importa… o resultado financeiro.

Média de Lucro e Média de Perda: Com essas médias é possível tirar diversas conclusões e regular outros resultados. Ex: Se você tem uma media de perda maior que de lucro, então você precisa ficar de olho no resultado do parâmetro: Porcentagem de Acerto.

R.M. Capital liquido e R. M. Saldo: Esse tem uma pegadinha, desde o MT4 os rebaixamentos não estão bem claros, principalmente o Relativo e Absoluto, li diversos artigos e ainda não consegui entender direito. Porém o Máximo, ou Rebaixamento Máximo é simples, precisamos entender apenas o que ele quer dizer com Capital liquido ou Saldo.

Saldo ou Balance: É o valor real de dinheiro que você tem na sua conta assim que suas posições são FECHADAS.

Capital Líquido ou Equity: É a variação do dinheiro que você tem em operação apenas durante as posições ABERTAS.

Ex.: Você tem R$ 1.000,00 na conta, logo tem R$ 1.000,00 de Saldo. Sabe quando você abre uma posição e toma aquele calor ? Sabendo inclusive que ele pode ultrapassar o seu Saldo de forma negativa ou positiva. Então, Capital Líquido ou Equity é isso, ele é dinâmico. Porém o único valor real de perda ou ganho será o seu Saldo assim que finalizar sua posição. Pouco importa se você tomou -1000 pontos de loss, a grosso modo se você não fechar a sua posição, você ainda pode recuperar e lucrar. rs ;) Desculpe pelo exemplo absurdo rsrs Liberdade poética.

Z-Pontuação: Esse é bem interessante e eu gosto muito. Ele basicamente é a relação entre os trades, ou seja uma probabilidade dos trades repetirem seus padrões de ganho ou perda consecutivamente. Existe um calculo estatístico especifico, porém o mais importante a saber é que necessariamente precisa estar acima de -3.

Quando o post sobre todos os resultados estiver pronto conversamos novamente sobre esse tema.

Conclusão da Comparação

Equilíbrio é o que manda. Quanto mais equilibrado os resultados, melhor.

No final é uma eterna busca entre risco x retorno dentro de cada parâmetro resultante. As vezes você perde um pouco no rebaixamento porem ganha o dobro no resultado liquido.

Observações sobre o Download do SET

Estou colocando o SET para download, porém temos um pequeno problema. @Rodrigo-Cohen cantou a bola no portal e no grupo do facebook.

Se muita gente usar o mesmo SET, com exatamente os mesmo parâmetros de entrada, todos esse exercito de robô pode acabar “pesando” essas entradas e inviabilizando as estratégias automatizadas por diversos motivos.

Fiquei pensando em como resolver isso, pois queria que os SETs continuassem a funcionar e que pudessem ser compartilhados, assim cheguei em uma conclusão que pode fazer sentido.

As entradas são controladas principalmente pelos indicadores do robô duran (HiLo e ST) e pelo parâmetro “Pontos para Entrada”.

Podemos discutir duas coisas:

  1. Como compartilhar o SET: Caso sua optimização não mexa muito nos indicadores ou pontos de entrada, todos podem usar como base o SET do @Rodrigo-Cohen, que de certa forma foi sacrificado, o famoso boi-de-piranha. rsrs
  2. Como usar os SETS: Você gostou e quer usar o meu ou do @Ruy, que é muito bom por sinal. Sugiro que você mesmo começar a optimizar esses paramentos de entrada.

Ou seja, seria interessante distribuir um SET INCOMPLETO, sem as configurações de entrada.

Se você é iniciante pode usar o Boi-de-piranha do @Rodrigo-Cohen para começar.

Caso você tenha alguma noção encontre suas melhores entradas.

A ideia principal é que todo mundo possa utilizar o SET para estudar e criar as suas próprias variações. Quem sabe você não consegue melhorar ainda mais esses resultados? Se você não tentar, nunca vai saber. E depois, compartilha com a gente! rs

Sendo assim a sugestão é: Baixe o SET e utilize como ponto inicial os paramentos dos indicadores do SET 18 de abril do @Rodrigo-Cohen, porém saiba que como tem muita gente usando, você invariavelmente vai ter que melhorar esses parâmetros para encontrar novas entradas e sair dessa multidão rssr

Quem está criando SET’s poderia simplesmente não compartilhar eles, porém essa é uma solução para continuar o compartilhamento sem inviabilizar o uso futuro do SET.

Novamente, estou pensando no bem geral da comunidade e no futuro das boas configurações de robôs. ;) Download abaixo:

Data Science e a Analise em busca de Equilíbrio

Galera, a principio não conseguirei explicar “Como ou que Técnicas” utilizei, seria a mesma coisa que perguntar para um engenheiro mecânico com ele constrói um carro.

Não falo isso por arrogância, mais Data Science, como o próprio nome diz é uma ciência e precisa de muito estudo através de diversas disciplinas correlacionadas. Porém quem quiser saber mais e conversar comigo posso ajudar indicando leituras ou cursos.

O ponto aqui é mostrar outras formas de conseguir o tal equilíbrio que eu tanto falo.

Uma comparação rápida e uma conclusão mais rápida ainda

Esse gráfico mostra a frequência e alcance do lucro ou prejuízo durante todo o histórico de operação.

Olhem como fica fácil perceber que o SET Danrop não arriscou mais do que o SET Cohen, em alcance, porém alcançou picos maiores de lucro.

Porém com relação a frequência, apesar do SET Danrop ter alcance igual ao SET Cohen no prejuízo, a frequência com que ele bate na linha de referencia é muito maior.

Olhando outros resultados, podemos medir facilmente, com apenas um gráfico, duas dimensões (Alcance x Frequência) muito interessantes, e que podem te dar informações valiosas para trabalhar um pouco no equilíbrio que o SET merece.

Outra analise, outra conclusão e ideias muito maneiras.

Lembra quando falei que um histórico maior dava mais força para alguns tipos de analise, então essa analise é uma delas.

Esse é o saldo por dia de todo o histórico de dados, fica simples avaliar quais os dias com maior probabilidade de prejuízo, porém é sempre necessário olhar qual é a “amostra” ou quantidade de dias que foram utilizados para calcular o saldo. Nessa representação encontramos a força do resultado em uma escala de cores, quanto mais escuro mais dias foram necessários para gerar esse saldo.

Quanto maior o histórico, maior a quantidade de dias e melhor será a analise sobre o saldo dos dias. Tem alguns outros detalhes técnicos e estatísticos, mas como eu disse é demais para esse post.

Comparando com o SET Cohen, descemos de 9 dias com saldo ruim para apenas 6 dias. Foi através dessa analise que conseguir ideias para seguir buscando novos caminhos para optimizações.

Conclusão sobre Analises e Data Science

Como eu disse, é apenas uma pequena fração do que eu faço, quero sempre analisar melhor meus dados, justamente para conseguir brincar com eles e extrair o máximo de ideias e caminhos possíveis.

Porém, não é sempre que se chega em um caminho descente, a maior parte do tempo você simples não consegue achar nada, perde-se muito tempo ajustando e criando representações, e no final… não vem nenhuma ideia.

Esse inclusive é o conceito de Data Mining, você está literalmente minerando os dados, da mesma forma que um minerador que gasta tempo e energia e as vezes volta para casa com ou sem uma pequenina pepita de ouro. rs

________________________________________

Valeu galerê …

Fuizzzzzzzzzzzz

Obs.: Este texto foi publicado originalmente em um fórum especializado sobre o assunto, estratégias automatizadas e mercado financeiro. Para mais informações acesse Portal do Trader.