Páginas

quarta-feira, 10 de agosto de 2016

Backtest 001 -Cruzamento de MACD com o Sinal-

      O MACD é uma das mais famosas ferramentas utilizadas pelos traders e muitas pessoas utilizam algumas estratégias simples de MACD para avaliar a entrada nas suas operações, mas qual seria a confiabilidade desta ferramenta?
      Existem muitas estratégias de trade utilizando o MACD, mas neste artigo vamos ver o que acontece em um backtest básico da estratégia de cruzamento de MACD com o sinal.

Vídeo

A estratégia é bem simples.
Efetua-se a compra quando o MACD cruzar o sinal para cima, e vende quando o MACD cruzar o sinal para baixo, conforme a imagem abaixo.


Para o teste de hoje, as configurações do MACD serão as seguintes:
Média menor de 12 períodos exponencial.
Média maior de 26 períodos exponencial
Sinal de 9 períodos exponencial.
No estudo utilizei os dados diários da PETR4.

Resultado do Backtest:

Nas operações de compra, olhando o gráfico de lucro cumulativo, é possível observar que tivemos um resultado excelente.


Nos relatórios, temos um drawdown máximo de 69,6%, que é um pouco alto, e isso significa baixa estabilidade.
Um Fator de lucro de 1,62.
Lucro anual de 14,51% sobre o valor operacional.
92 operações realizadas onde 43 foram vencedoras e 49 foram perdedoras, um percentual de acerto de 46,74%, com um lucro final de 28 mil e 249 reais.


Já nas operações de venda, percebe-se pelo gráfico que teve resultado negativo.



      Pela minha experiência em backtesting eu posso dizer o seguinte: "Quando uma estratégia é boa, ela funciona de forma semelhante, tanto em operações de compra como em operações de venda".
      Então, no caso do nosso teste de hoje, significa que os resultados das operações de compra, não foram positivos porque a estratégia é boa, e sim, porque o ativo estava bom para operações de compra no período testado.

Nos relatórios das operações de venda, temos os seguintes dados.
Drawdown máximo de 89,8%.
Fator de lucro de 0,75.
Um prejuízo anual de 7,5%.
De 93 operações de venda realizadas, apenas 26 foram vencedoras com o percentual de acerto de apenas 27,96%, e o prejuízo final de 14 mil e 596 reais.



Somando os resultados de operações de compra e venda. Temos os seguintes resultados.



Drawdown máximo de 131,32%.
Fator de lucro de 1,13%.
Lucro anual de 7,01% sobre o valor operacional.
185 operações realizadas onde apenas 69 foram vencedoras, um percentual de acerto de 37,3% porém com um lucro final de 13 mil e 653 reais.



      Apesar de ter finalizado o período testado com um lucro de cerca de 13 mil reais, esta estratégia não pode ser considerada boa porque o Drawdown é alto, o que significa muita instabilidade. O fator de lucro é baixo sendo assim o lucro também é baixo. O percentual de lucro anual sobre o valor operacional também é baixo, com um lucro anual de apenas 7% seria melhor deixar o dinheiro na poupança.

      A estratégia também simplesmente não funciona se não for aplicada em conjunto com a tendência do ativo, ou seja, se o ativo estiver em tendência de alta, simplesmente não adianta aplicar esta estratégia para fazer algumas operações de venda nos pontos de correção, isso significa que a estratégia em si não tem a mínima importância e o que importa realmente, é a identificação da tendência do ativo.
       Identificada à tendência, esta estratégia poderia servir como um sinal para entrada, mas nunca poderia ser aplicada na contra mão da tendência.

Concluindo:
       Analisando os resultados, na minha opinião, esta estratégia de cruzamento de MACD com o sinal, é simplesmente ineficiente se aplicada sem considerar a tendência. E para o períodos mais curtos como o de 15 minutos, não é uma estratégia aplicável, pois não retorna lucros suficientemente grandes, que possam superar as perdas por custos operacionais.

Obrigado pela atenção.
Bons trades para todos.

Baixar a planilha de Backtest (Ver. Demonstrativa): 

Veja Também:

sexta-feira, 10 de junho de 2016

O que é Backtesting?

      Saudações caros colegas investidores.

      Hoje eu gostaria de falar um pouco sobre backtest.
      Creio que muitos investidores sabem que, para operar no mercado de ações, é preciso muito mais do que sorte, é preciso uma busca sem fim por conhecimento.
      Nessa busca por conhecimento, creio que muitos investidores chegam ao tal de backtesting.
Então, o que é backtesting?
      No mercado financeiro, backtesting é basicamente o procedimento de teste de uma estratégia de trade, aplicando-a de forma simulada sobre dados históricos do mercado financeiro, e tem por objetivo avaliar a eficácia da estratégia.

      Estratégia de trade, também é chamado de trade system.
      Trata-se do conjunto de regras definidos pelo trader para iniciar uma operação no mercado financeiro.

Vídeo:

      Você já parou para pensar se a seu trade system é eficiente ou não? Se o seu percentual de acerto é alto, e você está conseguindo acumular lucros consistentemente, é sinal de que o seu método de investimento é bom e a sua estratégia de investimento é eficiente. Mas será que não existe outra forma de verificar a eficiência de sua estratégia? Tem que ser operando dinheiro real?
      Será que a sua estratégia funcionaria em todos os tipos de mercado? Será que a sua estratégia funcionaria em todas as periodicidades? Será que não existem condições de mercado que tornam a sua estratégia completamente ineficiente? Será que não tem um ativo em especial em que a sua estratégia simplesmente não funcione? O quê você poderia fazer para melhorar a sua estratégia? E as estratégias dos outros traders? Será que são melhores que a sua?
      Se te falaram que um indicador X é muito bom. Como é que você pode saber se é verdade?

      Bom, se for listar as dúvidas não tem mais fim.
      É aí que entra o backtesting. Existem duas maneiras de fazer um backtest, a primeira delas seria o backtesting manual, basicamente você senta na frente de um gráfico, volta o gráfico lá no início do histórico e depois vai passando o gráfico para frente, candle por candle, e quando observar um ponto de entrada que esteja de acordo com sua estratégia, você anota o ponto de entrada, define o seu stop gain e loss, então continua, quando seu stop for acionado, você anota o seu ponto de saída, calcula o seu lucro ou prejuízo e continua, e assim por diante.
      Esse é um método que exige muito tempo e muita frieza para não deixar o seu psicológico influenciar nos resultados, uma pessoa pode levar meses ou até anos dependendo da quantidade de dados, para testar uma estratégia em uma dúzia de ativos e no final, pode apenas descobrir que a sua estratégia não era tão boa quanto pensava.
      Apesar disso este método também pode ser chamado de backtest, pois basicamente é um teste de uma estratégia em dados passados.
      Porém, não é um método muito confiável, primeiro porque a pessoa pode se envolver emocionalmente e por isso pode perder pontos de entrada ou pode se lembrar de acontecimentos do mercado e acabar manipulando os resultados consciente ou inconscientemente, e segundo porque não é possível testar em altas quantidades de ativos, o que torna pouco confiável o resultado.

      O segundo método é o backtesting com a utilização de softwares, este é o método padrão, quando falamos em backtesting nos referimos basicamente ao backtesting utilizando softwares.
      Para criar um procedimento de backtesting em softwares especializados neste processo, é preciso em primeiro lugar ter conhecimento em linguagem de programação.
      Basicamente o programador deve traduzir a lógica da estratégia em linguagem de programação para que o computador possa entender, e então é só executar o teste.
      A vantagem deste método é que o teste que uma pessoa levaria 50 anos para terminar, o software leva apenas alguns segundos para terminar.
      É uma vantagem e tanto.
      E também existe o fato de que o software não deixa passar pontos de entrada e também não se envolve emocionalmente com o teste, então os resultados são sólidos e absolutamente fiéis aos dados históricos fornecidos para o teste.
      O fato de poder testar uma grande quantidade de dados também torna os resultados mais confiáveis em relação ao teste manual, obviamente que os dados históricos fornecidos ao teste também devem ser confiáveis.
      Também torna possível adicionar parâmetros a estratégia para testa-la novamente, o que abre grandes possibilidades para o desenvolvimento das estratégias ou a criação de novas estratégias.

      No entanto, nem tudo é perfeito.
      O backtesting em softwares é limitado ao que os softwares podem compreender, para realizar testes em softwares, se faz necessário que as estratégias tenham uma lógica muito bem definida, algo como, por exemplo, o cruzamento de médias móveis, se a média cruzou não tem como contestar, ou cruzou ou não cruzou.
      Os computadores são incapazes de entender algo como:
      Quando aparecer uma figura mais ou menos assim compra se romper ali.
      Portanto é bem difícil testar estratégias como ombro cabeça ombro, ou estratégias baseadas em linhas de resistência traçadas pelo trader, mesmo porque cada trader enxerga nos gráficos algo diferente, um fala que é ombro cabeça ombro, o outro fala que não é o outro diz talvez sim, talvez não, e assim caminha a humanidade.
      O que é pouco definido até para os humanos é impossível de explicar para uma máquina.

      Então, é aí que volta o backtest manual, apesar de todas as desvantagens, algumas estratégias só podem ser testadas manualmente, pois ainda não chegou o dia em que as máquinas vão superar a mente humana.

Por hoje é isso

Bons trades para todos.


segunda-feira, 6 de junho de 2016

O que é Fator de Lucro?

      Fator de lucro (Profit Factor) é o dado que representa a relação entre o lucro bruto e o prejuízo bruto. No mercado financeiro é muito utilizado para analisar e desenvolver estratégias de investimento.

Formula:
Fator de lucro = lucro bruto / prejuízo bruto

      O fator de lucro é muito importante para avaliar a eficiência da estratégia e não o lucro em si.

Exemplo:
      Suponha que existem duas estratégias de investimento, A e B, a estratégia A teve um ganho bruto de 100 mil reais e perda bruta 50 mil reais, finalizando o teste com um lucro de 50 mil reais, já a estratégia B, teve um ganho bruto de 80 mil reais com perda bruta de 35 mil reais, finalizando com um lucro de 45 mil reais.
      Se avaliar apenas pelo lucro final, a estratégia A seria a melhor pois lucrou mais, porém analisando o fator de lucro temos:

A (100000 / 50000 = 2)
B (80000 / 35000 = 2,28)

Mas o quê isso significa?

      Isso significa que o risco da estratégia B é menor que o risco da estratégia A, ou seja, é mais seguro investir na estratégia B. Também significa que, se a estratégia B tivesse acumulado ganhos de 100 mil reais, as perdas seriam estimadas em 43 mil reais com um lucro final de 57 mil reais, ou seja, significa que a estratégia B seria mais lucrativa.
      Quanto maior for o fator de lucro, maior será o lucro em relação ao prejuízo, sendo que o ideal é que o fator de lucro esteja acima de 2. Quando o fator de lucro está abaixo de 1, significa que o prejuízo é maior do que o lucro, e a estratégia retornará prejuízo.
      Portanto, utilizando o fator de lucro, é possível avaliar a estratégia independente do valor do lucro final, se por exemplo, o investidor quiser avaliar uma estratégia em um processo de backtesting, utilizando diferentes valores de aplicação, é possível avaliar a estratégia independentemente do lucro final, na verdade, para a avaliação de uma estratégia, o fator de lucro é um dado mais importante do que o lucro final.

Vídeo:

domingo, 5 de junho de 2016

O que é Drawdown?

      O drawdown é um dado utilizado para analisar estratégias de investimento no mercado financeiro (ações, moedas, contratos, etc), é um dado muito importante para fazer o desenvolvimento e otimização de estratégias.
      Basicamente, drawdown é o percentual de queda a partir do último ponto máximo de lucro cumulativo, drawdown máximo é o percentual máximo de queda em uma determinada série de dados.


      Em processos de desenvolvimento ou análise de estratégias de investimento no mercado de financeiro, o drawdown é um dos dados mais importantes, pois é uma indicação clara da estabilidade da estratégia, quanto menor o drawdown, maior será a estabilidade da estratégia de investimento, o ideal é que esteja abaixo de 10%.
      A ideia básica do drawdown é o percentual de queda a partir do ponto máximo, porém a equação matemática básica resulta em um erro lógico quando o ponto máximo é zero, sendo assim, o percentual do drawdown geralmente é calculado usando como base o capital operacional, ou seja o capital que é inserido em cada operação de investimento. 
      Por exemplo, supondo que o capital operacional seja de 20 mil reais e caso ocorra um Drawdown de 5 mil reais nos lucros cumulativos, isso significa um Drawdown de 25%.
      Para quem deseja fazer análises sobre sobre suas estratégias de investimento, o drawdown é um dado indispensável.

sexta-feira, 3 de junho de 2016

Minha Planilha para Backtesting em Excel

      Creio que muitos traders se perguntam se é possível fazer backtesting utilizando o nosso bom e velho Microsoft Excel, a resposta é sim, é possível.
   
      Já faz alguns anos que venho desenvolvendo uma planilha para fazer backtesting, hoje venho aqui compartilhar com meus colegas traders um pouquinho do meu trabalho.


      Trata-se de uma planilha com alguns procedimentos programados em linguagem VBA, esses procedimentos, efetuam simulações de operações com base em dados históricos, e geram um relatório dessas operações, processo esse, conhecido como backtest. As informações geradas são sobre o ganho, prejuízo, fator de lucro, drawdown, percentual de acerto, etc. Além de gerar uma lista completa de todas as operações simuladas no teste.

      É possível selecionar várias estratégias pré-programadas para testar, por hora só tem algumas dezenas de estratégias mas eu pretendo testar muitas estratégias com essa planilha. Provavelmente irei adicionar centenas ou talvez milhares de estratégias nesta planilha até o final da minha vida.

      A planilha também calcula várias ferramentas como Médias Móveis, Heikin Ashi, Histograma, MACD, IFR, Estocástico, SAR Parabólico, Indicado Ichimoku Kinkou-hyo, Heikin Ashi Smoothed, Trix, OBV, etc. E as estratégias podem ser baseadas nesses indicadores.

      Uma das vantagens de se fazer backtesting utilizando o Excel, é que eu posso modificar como eu bem quiser.
       
      Eu pretendo adicionar muitas coisas ainda na minha Planilha de Backtest, tenho muitas ideias, pretendo ainda adicionar um sistema de backtesting manual, quero criar um sistema de estudos estatísticos sem ser backtesting, por exemplo, algo que me retorne o percentual de candles positivos dentro de determinadas condições, ou algo que me retorne o percentual de candles que atingiram ao menos 1% de alta em relação à abertura, dentro de determinadas condições.

           
Imagens da Planilha


segunda-feira, 12 de agosto de 2013

Qual é a melhor Média Móvel?

      "Qual é a melhor Média Móvel?"
      Essa é uma saga do trader, provavelmente todos os traders que estudam a "Análise Técnica" cedo ou tarde um dia se fazem essa pergunta. Existem vários tipos de média, Aritmética, Exponencial, Ponderada, etc, mas afinal, qual é a melhor e quantos períodos devo considerar para fazer a média? É inevitável chegar a esse dilema.
      Podemos escolher a média de várias maneiras, muitos traders escolhem os períodos de suas médias com base nos Números de Fibonacci que teoricamente tem relação com inúmeros elementos da natureza e por tanto tem forte relação com a psicologia humana, outros escolhem os períodos de suas médias com base em Siclos Econômicos ou Siclos Financeiros das empresas.
      Existe também a possibilidade de plotar a média em um gráfico e observar se ela comporta-se de maneira a indicar os pontos de inversão ou de repique, assim, o trader pode ir mudado a média até encontrar aquela que a seu ver é a média que mais se adapta ao gráfico.
      O período da média também pode ser definida contando os ciclos dos gráficos, basta observar e contar a quantidade de candles entre um ponto de repique e outro e determinar a sua média a partir da média de quantidade de candles entre um repique e outro.

      Mas no final das contas, até aqui são apenas maneiras de escolher uma média móvel e a pergunta não foi respondida, afinal, "Qual é a melhor média móvel?"

      Na verdade, a média móvel é apenas um indicador de tendência, basicamente a média móvel indica se a tendência é subir ou descer, se apontar para cima, a tendência é de alta e se apontar para baixo, a tendência é de baixa e com base nessa propriedade da média, os traders definem suas estratégias e as executam.

      Alguns traders dizem que as médias, seja ela aritmética, exponencial, ponderada ou qualquer outra coisa "é tudo a mesma coisa e não adianta procura a melhor média porque isso não existe", devemos respeitar a opinião de traders experientes pois o indivíduo provavelmente faz tal afirmação com base em uma vasta experiência de mercado, de fato, isso é verdade se considerarmos a média apenas para indicar uma tendência porém, se queremos usar uma média para executas nossas estratégias a resposta é bem diferente,
devemos nos perguntar: O indivíduo que faz tal afirmação por um acaso testou todas as médias possíveis para fazer tal afirmação? É bastante óbvio que não pois sua opinião seria diferente se o indivíduo efetuasse estudos amplos sobre sua afirmação.
   
      A minha afirmação é a seguinte:
      A Melhor Média Móvel é aquela que retornou mais lucros até o momento.

      Para determinar tal média, é necessário definir primeiro a estratégia, suponhamos que a estratégia é a mais simples possível, usando duas médias de períodos diferentes, executa-se a compra quando a média menor cruzar para cima e vende quando a média menor cruzar para baixo, com base nesta estratégia, executamos estudos em uma base de dados usando todas as combinações possíveis de médias e então a resposta é bem simples "A Melhor Média Móvel é aquela que retornou mais lucros".

      Então, na minha opinião, para determinar a melhor média móvel é preciso duas coisas:
      1. Definir a estratégia
      2. Executar estudos amplos sobre a estratégia

      Porém para isso se faz necessário um know-how em programação, eu pessoalmente recomendo que o trader faça um curso de Programação VBA para poder executar seus estudos

sexta-feira, 2 de agosto de 2013

Simulador de Day-Trade no mini índice (ver. 0.15)

      Dia 02/08/2013, Uma palhinha do que eu estou fazendo agora.
      Como trader, estou consciente de que não devo parar de buscar conhecimento e experiência, porém, por mais que eu fique o dia inteiro na frente de gráficos e mais gráficos, a experiência só vem com o tempo, pensando em acumular mais experiência eu procurei na internet algo como "simulador de Day-Trade" mas não consegui encontrar nada que me fizesse satisfeito, então, como tenho um pouquinho de conhecimento em programação VBA, resolvi criar uma planilha que simule um pregão com as cotações de intraday movimentando-se como no pregão de verdade, o conceito é bem simples, tendo os dados de 1 minuto de um pregão, eu utilizo uma macro que faz a leitura dos dados intraday de 1 minuto e com base nos dados de um minuto, são formados outros gráficos de 5, 15 e 60 minutos, durante a leitura dos dados, os gráficos movimentam-se como se estivesse recebendo as atualizações do pregão de verdade (mas na verdade só está fazendo uma leitura de uma base de dados), então eu adicionei funções como comprar  a mercado, vender a mercado, zerar, etc. Pretendo adicionar mais funções mas por hora está bem simples.


      Antes que me perguntem, a planilha não está disponível para download e não enviarei por e-mail.

      Não ficou perfeito mas ainda está em fase de desenvolvimento e de acordo com a minha experiência de mercado, eu considero que a simulação ficou extremamente semelhante a um pregão verdadeiro. Em velocidade máxima, a planilha simula um pregão em cerca de 35 minutos sendo possível diminuir a velocidade para simular um pregão de velocidade quase normal, mas o objetivo principal da planilha é simular um pregão em tempo acelerado para acumular experiencia de trades sem usar dinheiro de verdade, durante o andamento das cotações, é possível simular compras e vendas, os lucros e custos operacionais são calculados em tempo real, eu me dediquei a simular as situações reais do mercado então a planilha simula também aquela situação em que você compra a mercado mas paga um pouquinho mais caro do que a cotação vigente devido às ofertas no memento da compra.

Vídeo:

      No vídeo, eu simulei um rápido scalping e segundo a simulação, eu teria lucrado cerca de R$ 356,20 liquido em duas horas de scalping operando três contratos de mini. Obviamente, que não é a mesma coisa se operarmos com dinheiro real mas como já citei anteriormente, o objetivo é acumular experiencia de trades.