A NeoTraderBot é a primeira comunidade aberta no Brasil com foco em compartilhar informações sobre automatização de estratégias
Ao fazer backtesting no Mini Dolar e no Mini Indice percebi um comportamento estranho, quando uso uma estratégia de Bandas de Bollinger Fechou Fora Fechou Dentro, no Mini Indice e no Mini Dolar apresenta um resultado. Se colocar o mesmo período e tempo gráfico no Dólar ou Índice Cheio os resultados são diferentes. Alguém saberia o motivo?
Olá @Credson!
É bem natural que o resultado seja diferente, uma vez que os valores entre mini-contrato e contrato cheio não são iguais.
Os mini-contratos foram criados para acesso da pessoa física (pequeno investidor, ou especulador...digamos assim!) ao mercado de contrato futuro. Existe a figura do market maker para cada ativo que é uma instituição contratada para garantir a liquidez do papel. Você pode até consultar quem é o market maker contratado para cada ativo no site da B3.
No caso do market maker de contrato futuro, além de garantir a liquidez ele precisa também garantir o casamento da cotação do mini-contrato com o contrato cheio dentro de certo limite. O market maker acaba ganhando dinheiro na arbitragem! Pense que sem o market maker, o preço do mini-contrato de índice poderia cair pela ação do investidor pessoa física, enquanto o preço do contrato cheio estaria subindo (institucionais). Não há sentido que essa divergência se mantenha ao longo do tempo....Um player certamente iria perceber a oportunidade de ganho e iria realizar arbitragem.
Enfim, como as cotações dos ativos não é exatamente a mesma, sua estratégia pode estar entrando em determinadas operações no mini-contrato (que tem um sinal muito mais ruídoso) e não estar entrando naquele momento quando se opera o contrato cheio. Só isso já é capaz de mudar complementamente o resultado do backtesting quando comparadas as ordens nos dois ativos, pois uma vez posicionado, sua estratégia pode manter aquela posição por um tempo, enquanto naquele mesmo período no outro ativo, a posição pode ser aberta em um momento diferente.
Espero que eu tenha ajudado a clarear um pouco sobre isso.
Grande abs!
Entendi John, muito boa a explicação. Só mais uma dúvida, se existe essa diferença então como fazer backtesting nos mini contratos? Já que não temos dados históricos suficientes? E uma vez que se o backtesting for feito no contrato cheio a estratégia poderá dar um falso posito.
O backtesting deve ser feito na série contínua do contrato que deseja. Por exemplo, se quer fazer o backtesting no mini-contrato de dólar, faça na série WDOFUT, ou se desejar no contrato cheio faça na série DOLFUT. Se for no mini-contrato de índice, a série é WINFUT, para o contrato cheio é INDFUT.
Quanto a quantidade de dados históricos, no Profit estaremos limitados ao que é disponibilizado no backtesting.
Observe que a gente faz backtesting para simular como seria o desempenho caso a estratégia fosse aplicada naquele ativo. Assim, se o backtesting é feito em WDOFUT, é porque deseja-se rodar a estratégia em WDOFUT.
Grande abs!
Muito obrigado John, agradeço demais pelos esclarecimentos, acredito que outras pessoas tem a mesma dúvida. Esse seria talvez um bom tema para um vídeo futuro no canal. Seu trabalho vai ajudar muitas pessoas. No que eu puder vou contribuir para fortalecer a comunidade Neo TraderBot.