Trading Systems: Otimização & Monte Carlo
Autor: Rivadavila S. Malheiros | Publicado: 2015-10-18T02:25:00-02:00






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).&nbsp; 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&nbsp;
verificar qual foi o impacto sobre o resultado da estratégia.



Por exemplo, se o desempenho de um sistema baseado em um determinado indicador&nbsp;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ê&nbsp; disso.

Conforme discutido em artigo anterior, podemos utilizar o método&nbsp;Walk- Forward&nbsp;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&nbsp;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&nbsp;Recover Factor&nbsp;(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.&nbsp;









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





O resultado superou com folga o Buy &amp; 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 &nbsp;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&nbsp;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.