Em algum momento em sua jornada no metatrader você precisou fazer um backtest e se deparou com um problema: qual o melhor tipo de série contínua para se fazer backtest entre as disponíveis?
Eu usei o mini-índice, mas todo o mercado futuro tem essas 6 possibilidades.
Mas antes, como é formado o mercado futuro?
O preço do ativo no mercado a futuro é o preço do ativo no mercado à vista nesse momento, somado aos juros, projetando no dia de hoje o preço que o ativo vai ter na data de vencimento. Conforme o tempo passa, o ativo futuro se aproxima do mercado a vista e a diferença de preços entre os dois diminui. No dia do vencimento, o ativo que vence tem o preço do mesmo ativo à vista e o novo ativo vigente está com o maior gap possível, uma grande diferença, pois está distante do vencimento dele. A data de vencimento varia conforme o ativo, mas o problema persiste em todos os ativos do mercado futuro. Guarde essa informação, porque ela é a causa de tudo.
O que é uma série contínua?
Primeiro ponto importante é que as séries contínuas são construídas pelas corretoras para auxiliar seus clientes. Ela é formada pela soma de todos os contratos colocados em sequência, como uma montagem. E a grande questão é como fazer a junção dos contratos na data do vencimento. Existem duas formas de unir os contratos, por liquidez ou por vencimento. E essa é a diferença entre $ e @.
Qual a diferença entre usar $ e @ ?
Ao usar $ indicamos que a série é montada com base no contrato mais líquido do momento. Enquanto ao usar @ indicamos que a série é montada de acordo com o vencimento de cada contrato.
Qual usar e quando usar cada um? Para mini-dólar e mini-índice, tanto faz. Sim, não sei se existiu em algum momento da história um descasamento com a vigência e a liquidez. Sem dúvidas hoje não faria sentido algum. Então, não faz qualquer diferença qual dos dois você escolha.
Entretanto, para manter a consistência, eu sempre uso $. O motivo é simples, me importa sempre operar o contrato mais líquido de cada dia. Acaba que usar o $ também é útil para fazer backtests em contratos futuro de milho e boi, por exemplo, onde o contrato vigente nem sempre é o mais líquido. Então, sem inventar moda, uso o $ em todos os cenários.
E é só isso. Agora, temos que escolher entre as sequências WIN$N, WIN$D e WIN$, ou seja, escolher entre a letra N, a letra D ou nenhuma letra. E recapitulando, neste momento deve ter entendido que WIN@N, WIN@D e WIN@ se diferencia das contrapartes apenas porque um juntou as séries mais líquidas e outro juntou pela sequência de vencimentos.
Qual a diferença entre as letras (ou a ausência de letra) ?
A diferença entre as três formas de escrever a série tem a ver com o fato de que o ativo futuro é o preço do ativo no mercado a vista somado aos juros. Chamamos de “dia da rolagem” o dia que o ativo até então vigente vence o novo ativo um novo ativo passa a ser o ativo da vez (seja por liquidez, seja por data de vencimento, no caso de mini-índice e mini-dólar, isso vai acontecer no mesmo dia).
A diferença entre usar a série N, D e a representada sem letra é como você faz para realizar a junção de uma série antiga com uma série nova.
Eu tenho três possibilidades (vide essa discussão):
- Não usar qualquer forma de ajuste. Simplesmente uso o preço de tela de ontem e de hoje e faço a união. Essa é a série N;
- Ajustar a série de preços passada aplicando a diferença entre os preços de fechamento na data de rolagem. Essa é a série D. No caso, a diferença absoluta entre os valores das séries passadas é mantida e os valores continuam alinhados aos ticks, mas ao aplicarmos diferenças absolutas sobre as séries passadas, corremos o risco de chegar a valores negativos, principalmente no longo prazo e isso é um problema.
- A terceira possibilidade é a representada sem qualquer letra. Nessa série, ajusta-se a série passada multiplicando-a por um fator que expressa a relação entre os preços de fechamento das séries no dia da rolagem da série contínua. As relações proporcionais entre os valores passados é mantida, porém a diferença absoluta é escalada pelo fator de multiplicação. Este método altera os valores passados para fora do tick do ativo, mas evita que ocorram valores negativos que vão gerar problemas nos indicadores técnicos e na escala logarítmica.
Qual devo usar?
Muito bem, não é uma unanimidade. Para daytrade, use a série ativo$N, exemplo WIN$N. Não importa qual seja o ativo. Essa é a melhor escolha na análise de daytrade na minha opinião, mas tem seus problemas.
Usar $N requer uma análise interpretativa. Se você usa indicadores para determinar sua montagem de posição, se faz isso ainda perto do horário da abertura (o indicador ainda não evoluiu o suficiente para ser calculado apenas com os dados do dia vigente), você sofre com uma deformação natural entre expectativa e o que de fato é feito na hora da execução operacional. E essa diferença existirá apenas no backtest. E se eu usar $D ? Bem, nesse caso, você naturalmente irá distorcer alguns valores passados que podem, em alguns casos, gerar uma informação diferente do esperado, porque os indicadores e demais cálculos vão ser feitos com os valores corrigidos e não com os valores que deveriam ter sido considerados no dia que ocorreria a operação.
Então, porque eu digo que a melhor escolha é uso de série N para daytrade? Porque esse problema ocorre apenas nas primeiras horas do dia da rolagem enquanto o problema de usar a série ajustada pode influenciar várias análise de longo prazo (a depender da matemática envolvida no cálculo dos indicadores)… A série N mantém a proporcionalidade.
Para swing trade você precisa usar a série D ou a série sem letra. E vamos lá… é consenso que usar a série N para swing trade significa erro. Mas é o único consenso, não usar $N ou @N para swing trade.
Ficou confuso? Faça o backtest com N e com D se der muito diferente, tens um problema. Seu setup precisa ser lucrativo e confiável nessas duas séries, mesmo que a diferença de resultado seja grande, ele não deve interferir no processo decisório da análise. Se por acaso o número de operações no dia de rolagem antes das 12h for pequeno, ouso dizer que não tem qualquer diferença usar N ou D, se o seu histórico for relativamente curto. Se tiver um histórico muito grande, então, você vai começar a ser influenciado pela distorção de alguns indicadores (e ainda tem isso, porque não são todos) e a série D se torna mais distante de tudo.
De qualquer forma, ao usar a série N para daytrade você erra em apenas 1 dia por mês no caso do mini-dólar e 1 dia a cada dois meses no caso do mini-índice. Se isso fez diferença, seu setup tem problemas mais graves.
E para Swing Trade?
Comecei a dar uma ideia ali acima… depende. Qual o seu gatilho? Qual o horário de operação? Qual a influência do indicador? Tudo isso vai fazer você refletir entre usar a série D ou a sem letra.
Qual eu uso? Eu uso D. Mas porque eu apenas faço swing trade em um ativo, milho. E faço backtests usando CCM$D. Porque eu opero com o ativo mais líquido do momento. Uso D, porque minhas médias móveis não são afetadas de forma negativa pelos ajustes. Se eu usasse IFR ou estocástico, estaria mais preocupado com isso. Além disso, dependendo da estratégia, operações ocorrem apenas às 15h55 (o horário do milho futuro é diferente do mini-índice). Nesse caso, não tenho dúvidas que o melhor é a série $D.
Mas existem tantas coisas que poderiam ser diferentes. Operando retorno a média usando estocástico e/ou IFR? É essa modelagem pode estar comprometida no backtest. Suas conclusões não são triviais. Você não vai sofrer por isso, porque como um bom analista e desenvolvedor, vai deixar seu setup de molho por um tempo significativo na conta demo. Vai te permitir analisar se suas expectativas estão de acordo com a realidade ou não. Tempo de uso da conta de demo não é luxo. É necessidade. Assunto para outro dia…
Por fim, não use a série sem letras para análise de daytrade, pois no ajuste, é feito ajuste proporcional (lembra que na série D, a diferença absoluta é mantida, aqui não), ou seja, distorce o resultado de daytrade, especialmente se forem alvos muito curtos.
Por agora, fica a dica:
- Daytrade: $N (ou $D para análises inferiores a 10 anos)
- Swing Trade: $D
- Swing Trade com forte influência de indicadores estocásticos ou IFR ou outro cuja a matemática seja afetada pela forma anterior de calcular: $
- Vou operar seguindo exclusivamente as datas de vencimento e não a liquidez, use @ no lugar dos $ (e me diga depois porque você prefere operar pelo vencimento exclusivamente?).