domingo, 18 de outubro de 2015

Trading Systems: Otimização & Monte Carlo

Swing Trading
A chegada do Metatrader 5 ao Brasil é mais um passo na popularizar dos trading systems. Entretanto, o investidor precisa tomar o cuidado de não ser seduzido pelo "canto" da otimização que poderá fornecer uma calibragem que apenas aprendeu o passado (overfitting).  Uma tentativa simples de avaliar a robustez do seu sistema é a realização de pequenas alterações nos parâmetros do trading system, rodar o backtest e  verificar qual foi o impacto sobre o resultado da estratégia.

Por exemplo, se o desempenho de um sistema baseado em um determinado indicador sofre forte impacto ao mudar levemente o seu período em relação aos valores ótimos encontrados, tome cuidado com a aplicação dessa estratégia em operações reais. Isso não fica limitado apenas aos indicadores, suponha que um dado trading system/expert advisor foi construído para o contrato futuro de Ibovespa e após passar pelo processo de otimização indica como “melhor” stop de objetivo o nível de 150 pontos, se ao alterar esse valor para 160 pontos o resultado cai drasticamente é importante que o investidor faça uma varredura sobre a lista de operações para tentar entender o porquê  disso.

Conforme discutido em artigo anterior, podemos utilizar o método 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.



Após a otimização o trader ainda poderá fazer uma simulação de Monte Carlo que gerará um conjunto de possíveis curvas de resultados mediante o embaralhamento da ordenação original das operações geradas no "backtest". A partir disso, temos um quadro muito mais abrangente de possibilidades e a probabilidade das ocorrências.

Para exemplificar tudo isso vamos construir um sistema simples sem a preocupação se o mesmo é rentável:
  • Entrada na compra: Quando o IFR(14) cruza para cima o nível de 50%.
  • Saída da compra: Quando o fechamento da barra cruza para baixo o menor valor atingido nas dez barras anteriores
A estratégia foi aplicada ao diário de Sid Nacional ON (CSNA3) entre janeiro de 2006 a outubro de 2015.


A otimização walk-forward foi executada para encontrar a calibração que apresentava o maior Recover Factor (lucro líquido dividido pelo máximo drawdown) a partir das mudanças no período do IFR e no nível de rompimento. Observe que a faixa ótima de calibragem foi estável. 


A partir da tabela acima foi rodado o backtest com a calibração: IFR(24) e 52 de  nível.



O resultado superou com folga o Buy & Hold e para avaliar se a otimização não causou um excesso de overfitting foram realizadas 5000 simulações de Monte Carlo a partir do embaralhamento das 44 operações resultantes do backtest otimizado.


Podemos observar que em 10% das combinações a estratégia foi a bancarrota, ou seja, provavelmente as sequencias de perdas foram ordenadas antes  das principais operações de ganhos ("worst case scenario"). Por outro lado, os 25% melhores resultados superaram a sequencia real dos acontecimentos. Diante desses dados o investidor/trader tem mais condições de avaliar os riscos de sua estratégia e se a mesma é robusta o suficiente para enfrentar os piores momentos independentemente da ordem da ocorrência das operações.

Um comentário:

  1. Excelente Blog

    Não o conhecia. Vou adicioná-lo no meu blogroll e lhe acompnahar de perto.

    Você não Gostaria de ter um blog roll, para trocarmos link.

    ResponderExcluir