Páginas

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