domingo, 7 de dezembro de 2014

Análise Walk Forward (Otimização)

Swing Trading
Como discutido no livro Operando com Trading Systems na Bolsa de Valores, uma das etapas na construção de um trading system é o chamado backtesting que consiste em aplicar as regras da estratégia sobre uma base histórica e avaliar se o resultado foi satisfatório ou o sistema precisa de correções. Em geral, os traders tentam otimizar os parâmetros da estratégia mas qualquer descuido pode acabar causando o chamado overfitting, isto é, o sistema acaba se ajustando demais a série histórica.

Uma forma de tentar reduzir essa possibilidade é fazer uso da Análise Walk- Forward que consiste em dividir a série histórica dos preços em uma parcela (in sample - IS) para treinar o sistema e em seguida testar os parâmetros otimizados no restante da série (out of sample - OOS) ainda desconhecido pelo trading system. Esse processo pode ser repetido sobre segmentos subsequentes como mostra a animação (leia o artigo do site Amibroker). Vale destacar que é comum o tamanho da série de teste ser 20/30% do tamanho da série de treinamento.



A partir dessa técnica é possível avaliar se o trading system é robusto ou se o desempenho gerado na série de treinamento foi resultado de fitting e por isso não se repetiu na série de teste.  No caso do Amibroker podemos escolher diferentes critérios de otimização que não necessariamente precisa ser a calibração com maior lucro.



No exemplo foi tomado o período de julho de 2005 a junho de 2008 como base de treinamento (in sample), a série desconhecida (out of sample) abrangeu de julho de 2008 a outubro de 2009 e o conjunto foi dividido em 3 segmentos (step). Além disso, a métrica de otimização escolhida foi o CAR/MDD (retorno anual/max. drawdown). Essa configuração foi aplicada sobre um sistema que trabalha com o diário de WEG ON (capital de R$ 20 mil):


A tabela mostra os resultados dos três segmentos e como era de se esperar as amostras otimizadas apresentaram resultados muito maiores que as séries de testes. Mesmo assim o sistema conseguiu ser rentável em todas as ocasiões.


Finalmente, os resultados entre 2010 e 2014 foram em sua grande maioria positivos utilizando a calibração gerada pelo último segmento (maio/2006-abril/2008). Na verdade, a estratégia só sofreu um grande choque em Julho de 2011.

domingo, 2 de novembro de 2014

Riva Keltner: Descolamentos


Swing Trading
Uma das formas mais comuns de mensurar a euforia ou pessimismo dos preços é o uso de osciladores relativos como o estocástico lento ou índice de força relativa (IFR). Por exemplo, se o preço do ativo estiver no seu menor valor nos últimos 14 pregões o IFR ou o Estocástico darão 0% indicando justamente que o preço está no fundo da amplitude (raciocínio análogo no topo do movimento que os osciladores relativos indicarão 100%). Entretanto, em situações distintas de pessimismo, se o preço atingir o seu menor valor o oscilador terá como resultado o nível de 0%, não conseguindo diferenciar uma queda de 5% de uma de 20% se ambos os movimentos ocorrerem dentro do mesmo intervalo de tempo especificado para calculá-lo. Esse foi um dos motivos de em 2009 eu introduzir o indicador Riva-Keltner e o conceito de descolamento na análise das ações e contratos futuros (veja o vídeo sobre RK).


Quando em tendência de alta o afastamento do preço em relação a banda superior do Riva-Keltner gera um descolamento de alta e ele pode ser calculado, enquanto o afastamento do preço em relação a banda inferior do RK cria um descolamento de baixa.  A partir disso o trader/investidor consegue medir a intensidade da tendência atual e, dependendo do cenário, buscar um novo sinal de correção (divergências, rompimentos de suportes/resistências, etc.) para o fechamento do descolamento. Observe os gráficos:
  • Em 30 de Outubro de 2014 o diário de VALE PNA apresentava um descolamento de baixa de 9,24% com a linha inferior do Riva-Keltner (nível muito superior aos registrados anteriormente). A partir desse cenário o mercado teve condições de iniciar uma reação no intraday sem necessariamente colocar em risco a tendência de baixa atual.

A linha verde no gráfico inferior mostra o nível de descolamento de alta
 e a laranja o nível de descolamento de baixa


  • Em 2 de setembro de 2014 o diário de PETR4 apresentava um descolamento de alta de 12,63% com a linha superior do Riva-Keltner, no pregão seguinte o padrão envolvente de baixa fo formado e rapidamente os preços foram em busca das linhas do RK.
A linha verde no gráfico inferior mostra o nível de descolamento de alta
 e a laranja o nível de descolamento de baixa

Acompanhe diariamente no Rivanews.com a tabela atualizada com os descolamentos de alta e de baixa.

segunda-feira, 11 de agosto de 2014

Múltiplo Time Frame

Position Trader
Quando pensamos em evolução de preços, seja de ações ou contratos futuros, o mais comum é trabalhar com um tempo gráfico por vez. Entretanto, a ferramenta Amibroker permite que dentro de uma mesma janela coloquemos dois tempos gráficos distintos e com isso tenhamos uma visão mais ampla do comportamento do ativo.


 No gráfico de 15 minutos de Bradesco PN (BBDC4) foi possível incluir o contorno da faixa de oscilação do 60 minutos. Esse recurso facilita na detecção de quando os limites do time frame maior é superado ou perdido ao longo do dia (também é possível aplicar essa ideia sobre os tempos diário e semanal).



A partir desse mesmo princípio podemos traçar dentro de um único gráfico médias ou qualquer outro indicador calculados em tempos gráficos diferentes (múltiplos time frames). Por exemplo, no gráfico de PETR4 temos a média de 21 períodos tanto para o tempo de 5 minutos quanto para os de 15 e 60 minutos . Em várias ocasiões isso auxilia na identificação de barreiras que o preço encontrará durante o seu  movimento de alta ou de baixa. No caso específico de Petrobras PN a média do 15 minutos funcionou como uma espécie de resistência para a reação dos preços no gráfico de 5 minutos.



No próximo artigo construiremos uma estratégia baseada em Múltiplos Time Frames. 
Assine a  lista do Rivanews.com para receber as próximas atualizações.

domingo, 15 de junho de 2014

Petrobras Sazonal


Swing Trading
No artigo anterior foi feito um backtest com a série histórica do Ibovespa e observamos que dos doze meses do ano Dezembro, Novembro e Outubro apresentaram as melhores médias mensais de valorização (estudo feito de jan/2000 a dezembro/2013). A questão agora é como serão os resultados se aplicarmos uma estratégia simples de operação sobre os papéis com maior participação na carteira teórica do Ibovespa durante esse período, no caso VALE5 e PETR4.

Entrada na compra:

  • Se a partir de 1 de Outubro de cada ano o preço romper, durante o pregão, em 0,5% a maior máxima registrada nos quatro dias anteriores.
topo = 1.005*Ref(HHV(H,4),-1);

Saída da compra:

  • A liquidação da posição acontece na abertura do pregão seguinte ao fechamento abaixo do stop móvel baseado no indicador ATR e na mínima das mínimas.

 fundo = Ref(LLV(L,4)- 0.618*ATR(21),-2);

ou
  • se a condição anterior não for satisfeita a saída ocorrerá na abertura do segundo dia útil após 25 de Dezembro.

Segue o desempenho entre 2007 e 2013:


*Foi utilizado emolumento/corretagem de 0,15% sobre o volume financeiro.

domingo, 11 de maio de 2014

IBOVESPA Mês a Mês


Swing Trading
O provérbio americano "Sell In May And Go Away" (venda em Maio e vá passear) sugere que os investidores vendam suas ações no mês de Maio para evitar a queda sazonal e só retornem ao mercado em meados de Novembro. Para tentar avaliar se esse tipo de movimento procede ou não resolvi realizar  um simples backtest com o Ibovespa entre janeiro de 2000 e dezembro de 2013.


Entrada na compra:

  • A entrada ocorre no nível de abertura do Ibovespa no primeiro dia útil do mês.

Saída da compra:
  • A saída acontece no nível de fechamento do Ibovespa no último dia útil do mês.
Não foram computados custos operacionais pois a ideia é apenas avaliar se em média determinados meses são mais positivos que os demais meses do ano.

Segue o desempenho no período de jan/2000 a dez/2013:


Ao longo de catorze anos é possível observar que apenas em duas oportunidades o mês de Dezembro foi negativo enquanto Junho foi negativo em dez anos, Maio em nove anos e Abril em 8 anos. Dos doze meses do ano Dezembro, Novembro, Outubro e Fevereiro apresentaram as melhores médias mensais. Em contrapartida, Junho, Maio e Setembro registraram  médias negativas. Apenas como informação, Abril de 2014 interrompeu o ciclo dos últimos quatro anos de queda no mês.

No próximo artigo faremos um backtest focado nos quatro meses com as melhores médias para avaliar se, estatisticamente, houve alguma vantagem na utilização de métodos dinâmicos de entrada e saída durante esses períodos.

sábado, 12 de abril de 2014

Como filtrar as Ações de Alta Volatilidade


Swing Trading
No mercado financeiro a palavra Volatilidade causa calafrio em muitos investidores. Isso acontece porque uma ação com alta volatilidade indica que seus preços dentro de um determinado período de tempo apresentaram fortes oscilações percentuais e, portanto, existe o risco do papel continuar com movimentos bruscos (lembre-se que a volatilidade indica dispersão e isso significa que os preços poderão ir para qualquer um dos lados). 



Por exemplo, grosso modo, uma ação que apresenta volatilidade diária de 2% poderá em média sofrer oscilações diárias dessa magnitude para cima ou para baixo. A forma mais comum de calcular a volatilidade histórica é a partir do desvio padrão (mais detalhes sobre volatilidade você encontra no livro Operando com Trading Systems na Bolsa de Valores).

Nesse artigo vamos tentar construir uma estratégia que antes de disparar uma entrada checará o nível da volatilidade do papel nas últimas duas semanas (10 pregões) e caso esse patamar esteja acima do estipulado pelo investidor (aversão ao risco) o sistema não abrirá posição. Como o objetivo desse artigo é apenas ilustrar o uso desse tipo de filtro, as regras de entrada e saída serão bem simples:

Entrada na compra:

  • Volatilidade histórica diária de 10 períodos  menor que 2%;
  • Preço de fechamento deverá cruzar para cima a maior máxima registrada nos 10 pregões anteriores;
  • Entrada no preço de abertura da barra do pregão seguinte.

Saída da compra:
  • Preço de fechamento deverá cruzar para baixo a menor mínima registrada nos 5 pregões anteriores;
  • Saída no preço de abertura da barra do pregão seguinte.
Todos os critérios de "backtesting" utilizados no livro foram mantidos (máximo de 10 papéis na carteira, máxima participação individual de 10%, custo de emolumento/corretagem de 0,15% do volume financeiro,etc.). As ações utilizadas nesse teste são aquelas pertencentes à carteira IBOVESPA.

Segue o desempenho no período de 3-jan/2011 a 11-abr/2014 (backtest).


Apesar do Ibovespa a vista registrar no mesmo período queda de 25,9%  o backtest registrou ganho de 4,63% com corretagem e emolumentos.

No geral, a ideia desse artigo é chamar a atenção para o uso da volatilidade como filtro das estratégias, onde o trader poderá ajustar seu método corrente ao seu apetite pelo risco.

segunda-feira, 27 de janeiro de 2014

Principais Recursos do Amibroker

O Amibroker é uma ferramenta gráfica que além de possuir os recursos básicos da análise técnica (linhas de tendência, fibonacci, média móvel, etc.) permite a criação dos nosso próprios indicadores e a construção e backtest de estratégias (www.amibroker.com).
O vídeo destaca suas principais características:


 Saiba mais sobre o Webcurso: O BÊ A BÁ DO AMIBROKER