Uma série de futuros contínuos une contratos sucessivos que estão vencendo em um único histórico. Você pode usar esse histórico para pesquisar sinais, mas calcular o P&L diretamente das variações de preço pode inventar ganhos e perdas a cada rolagem. A série não informa qual contrato você detinha.
Considere um exemplo particularmente implacável: o petróleo bruto WTI da NYMEX em 20 de abril de 2020. O contrato de maio liquidou a −US$ 37,63 por barril. O de junho liquidou a US$ 20,43. Os dois preços eram reais. A diferença de US$ 58,06 também era real. Mas trocar o gráfico de maio para junho não rendeu essa diferença a uma posição comprada.
Vamos desmontar essa emenda. Estes são preços históricos de liquidação; os exemplos hipotéticos de contabilização abaixo os usam para expor a aritmética, não para afirmar que uma ordem teria sido executada nesses preços.
CLK20 e CLM20: os identificadores que o gráfico descartou
| Campo | Contrato de maio | Contrato de junho |
|---|---|---|
| Identificador do contrato | CLK20 | CLM20 |
| Mês de entrega | maio de 2020 | junho de 2020 |
| Liquidação em 20 de abril, dólares por barril | −37.63 | 20.43 |
| Tamanho do contrato | 1,000 barris | 1,000 barris |
O código do mês importa mais que o prefixo do ticker. K significa maio; M significa junho. Esses contratos tinham obrigações de entrega e preços diferentes. Maio estava perto do vencimento em meio a uma pressão extraordinária sobre a capacidade de armazenamento. Junho garantia mais um mês.
O símbolo contínuo de um fornecedor esconde essa distinção por trás de algo agradavelmente compacto. Gosto de símbolos compactos até serem o único identificador que resta no registro de operações. Aí, depurar começa a parecer arqueologia, com um café ainda pior.
Também não existe um único histórico contínuo universal. Um fornecedor pode fazer a rolagem um número fixo de dias úteis antes do vencimento, quando o volume cruza o de outro contrato ou seguindo outro cronograma. Muitos históricos já tinham saído de maio antes de 20 de abril. Nosso exemplo emenda deliberadamente esses dois preços de liquidação para tornar o problema visível; não é uma afirmação sobre a rolagem de nenhum fornecedor específico.
1,000 barris: o multiplicador por trás de cada preço
O contrato padrão de futuros de WTI da NYMEX representa 1,000 barris. Portanto, uma variação de US$ 1 altera em US$ 1,000 o valor de uma posição comprada em um contrato. Um tick de US$ 0.01 vale US$ 10.
Para uma posição inalterada em um contrato, o cálculo básico é:
gross_pnl = contracts × 1,000 × (ending_price − starting_price)
Isso continua funcionando abaixo de zero. Os retornos percentuais calculados sobre o preço cotado do futuro se tornam muito menos úteis: cruzar o zero pode torná-los indefinidos ou inverter seu significado aparente. Os retornos da estratégia devem vir do patrimônio da conta e da convenção de fluxo de caixa. O preço cotado por barril não é o capital comprometido com a estratégia.
US$ 58,06: a descontinuidade na emenda
Suponha que um mecanismo ingênuo veja a liquidação de maio seguida pela liquidação de junho e aplique essa fórmula como se o instrumento não tivesse mudado:
invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
= $58,060
Nada se moveu ao longo do tempo nessa comparação. São os preços de dois contratos na mesma sessão. O mecanismo confundiu a diferença de preço entre contratos com um ganho durante o período de manutenção.
Em uma emenda diária real, o preço de ontem do contrato antigo e o preço de hoje do contrato novo também incluem a movimentação normal do mercado. Isso torna o erro mais difícil de perceber. A variação registrada combina a movimentação do contrato antigo com a diferença entre os contratos no momento da troca.
E subtrair US$ 58.060 como se fosse um “custo de rolagem” em dinheiro também não corrige o modelo. Futuros não são comprados com o pagamento de todo o seu valor nocional cotado. Encerrar um contrato e abrir outro gera mudanças de posição, P&L realizado ou liquidado, taxas, efeitos de execução e exigências de margem. A diferença entre os níveis de preço não é automaticamente um débito em dinheiro.
+58.06: o ajuste retroativo aplicado ao histórico
Uma forma comum de construir uma série contínua é somar a diferença da rolagem aos preços anteriores. Nessa convenção, −37.63 de maio passa a ser 20.43, encontrando junho sem um salto. As observações anteriores do mesmo trecho histórico também sobem 58.06.
| Construção | O que acontece nesta emenda | Consequência para a pesquisa |
|---|---|---|
| Sem ajuste | A diferença de US$ 58,06 permanece | Indicadores podem interpretar a troca de contrato como uma movimentação do mercado |
| Ajuste retroativo aditivo | Some 58.06 ao trecho mais antigo | As variações em dólares dentro de cada trecho permanecem; os níveis históricos e as variações percentuais mudam |
| Ajuste retroativo por razão | Multiplique o trecho mais antigo por 20.43 / −37.63, aproximadamente −0.543 | O fator negativo inverte o sinal das variações de preço dentro do trecho |
A última linha é o motivo pelo qual não aceito “ajustado por razão” como especificação completa dos dados. Um método que funciona de forma razoável com preços estritamente positivos precisa de uma política explícita para preços iguais ou inferiores a zero.
O ajuste aditivo também tem consequências próprias. Um sinal que compra abaixo de um limite absoluto de US$ 30 pode mudar quando rolagens posteriores reescrevem níveis anteriores. Um sinal de média móvel rápida menos lenta pode permanecer invariável diante de um deslocamento aditivo comum, desde que as duas janelas recebam o mesmo deslocamento. Janelas que atravessam uma fronteira de ajuste precisam ser examinadas separadamente.
Registre o método de ajuste, o cronograma de rolagem e a versão dos dados junto com o resultado da pesquisa. Para sinais sensíveis aos níveis ajustados, reconstrua o histórico disponível em cada data de decisão. Um download atual pode conter ajustes de rolagens que ainda não tinham acontecido.
As duas linhas de ordem que faltam no gráfico contínuo
Veja um registro deliberadamente simplificado. Suponha que um contrato de maio comprado tenha sido marcado a −30.00 antes da rolagem. Suponha que a saída de maio e a entrada em junho ocorram nos preços históricos de liquidação acima, e que depois junho seja marcado a 21.00. Essas execuções presumidas servem apenas para ilustrar a contabilização.
| Evento do registro | Cálculo | P&L bruto |
|---|---|---|
| Encerrar uma posição comprada em maio a −37.63 | 1,000 × (−37.63 − (−30.00)) | −$7,630 |
| Abrir uma posição comprada em junho a 20.43 | Nenhuma variação de preço na entrada | $0 |
| Marcar junho a 21.00 | 1,000 × (21.00 − 20.43) | +$570 |
| Total | Antes dos custos de execução e das taxas | −$7,060 |
A diferença de US$ 58,06 não aparece em lugar nenhum como ganho ou despesa independente. A margem de variação diária determina quando o P&L dos futuros chega ao caixa; ela não cria uma segunda cópia desse P&L.
Uma rolagem real pode ser executada por meio de uma ordem de spread de calendário, em vez de duas ordens independentes. O simulador deve representar o mecanismo que presume, incluindo suas execuções e cobranças, preservando as posições em cada contrato subjacente.
Meu critério de aceitação é simples: cada dólar de P&L de negociação de futuros precisa ser reconciliado com um contrato identificado, uma quantidade, um multiplicador e dois preços daquele mesmo contrato. Também quero o horário da decisão de rolagem e os dados usados. Uma regra baseada em volume que usa o volume da sessão de hoje, já concluída, não pode negociar silenciosamente antes disso na mesma sessão.
Trace a linha contínua para dar contexto. Abaixo dela, trace os contratos efetivamente mantidos e marque cada transição. Se a curva de patrimônio saltar em uma transição, essas duas linhas de ordem são o primeiro lugar que verifico.
← Todos os artigos


