22 de setembro de 2026 · futuros

O teu gráfico de futuros contínuos é um contrato que ninguém podia negociar

O teu gráfico de futuros contínuos é um contrato que ninguém podia negociar

Uma série de futuros contínuos junta contratos sucessivos que estão a aproximar-se do vencimento numa única história. Podes usar essa história para investigar sinais, mas calcular diretamente o P&L de negociação a partir das variações de preço pode inventar ganhos e perdas em cada rolagem. A série não indica que contrato detinhas.

Vejamos um exemplo particularmente implacável: o petróleo bruto WTI da NYMEX a 20 de abril de 2020. O contrato de maio fechou a menos $37.63 por barril. O de junho fechou a mais $20.43. Ambos os preços eram reais. A diferença de $58.06 também era real. Mas mudar o gráfico de maio para junho não fez com que uma posição longa ganhasse essa diferença.

Vamos desmontar essa junção. Estes são preços de liquidação históricos; os exemplos contabilísticos hipotéticos abaixo usam-nos para expor a aritmética, não para afirmar que uma ordem teria sido executada a esses preços.

CLK20 e CLM20: os identificadores que o gráfico omitiu

CampoContrato de maioContrato de junho
Identificador do contratoCLK20CLM20
Mês de entregaMaio de 2020Junho de 2020
Liquidação a 20 de abril, dólares por barril−37.6320.43
Dimensão do contrato1,000 barris1,000 barris

O código do mês é mais importante do que o prefixo do ticker. K significa maio; M significa junho. Estes contratos tinham obrigações de entrega e preços diferentes. Maio estava prestes a expirar, sob uma pressão extraordinária sobre a capacidade de armazenamento. Junho dava mais um mês.

O símbolo contínuo de um fornecedor oculta esta distinção por trás de algo agradavelmente compacto. Gosto de símbolos compactos, até serem o único identificador que resta no registo de operações. Aí, a depuração começa a parecer arqueologia, com café ainda pior.

Também não existe uma única história contínua universal. Um fornecedor pode fazer a rolagem um número fixo de dias úteis antes do vencimento, quando o volume cruza um limiar ou segundo outro calendário. Muitas séries já tinham saído do contrato de maio antes de 20 de abril. O nosso exemplo junta deliberadamente estas duas liquidações para tornar visível a falha; não pretende descrever a rolagem de qualquer fornecedor específico.

1,000 barris: o multiplicador por detrás de cada preço

O contrato padrão de futuros de WTI da NYMEX representa 1,000 barris. Por isso, uma variação de $1 altera em $1,000 o valor de uma posição longa de um contrato. Um tick de $0.01 vale $10.

Para uma posição inalterada num contrato, o cálculo básico é:

gross_pnl = contracts × 1,000 × (ending_price − starting_price)

Isto continua a funcionar abaixo de zero. Os retornos percentuais sobre o preço cotado do futuro tornam-se muito menos úteis: ao cruzar zero, podem ficar indefinidos ou inverter o significado aparente. Os retornos da estratégia devem partir do capital próprio da conta e da convenção de fluxos de caixa. O preço cotado por barril não é o capital investido na estratégia.

$58.06: a descontinuidade na junção

Suponhamos que um motor ingénuo vê a liquidação de maio seguida da liquidação de junho e aplica essa fórmula como se o instrumento não tivesse mudado:

invented_pnl = 1 × 1,000 × (20.43 − (−37.63))
             = $58,060

Nesta comparação, nada evoluiu ao longo do tempo. São preços de dois contratos na mesma sessão. O motor confundiu a diferença de preço entre contratos com um ganho durante o período de detenção.

Numa junção diária real, o preço de ontem do contrato antigo e o preço de hoje do contrato novo também incluem a variação normal do mercado. Isso torna o erro mais difícil de detetar. A variação registada combina o movimento do contrato antigo com a diferença entre contratos no momento da troca.

E subtrair $58,060 como suposto «custo da rolagem» em dinheiro também não corrige o modelo. Os futuros não são comprados pagando o seu valor nocional cotado na totalidade. Fechar um contrato e abrir outro implica alterações de posição, P&L realizado ou liquidado, comissões, efeitos de execução e requisitos de margem. A diferença entre os níveis de preço não é automaticamente um débito em dinheiro.

+58.06: o ajustamento retroativo inscrito na história

Uma construção comum de séries contínuas soma a diferença da rolagem aos preços anteriores. Segundo esta convenção, −37.63 em maio passa a 20.43, ligando-se a junho sem um salto. As observações anteriores no mesmo segmento histórico também sobem 58.06.

ConstruçãoO que acontece nesta junçãoConsequência para a análise
Sem ajustamentoA diferença de $58.06 mantém-seOs indicadores podem interpretar a troca de contrato como um movimento do mercado
Ajustamento retroativo aditivoSomar 58.06 ao segmento anteriorAs variações em dólares dentro do segmento mantêm-se; os níveis históricos e as variações percentuais alteram-se
Ajustamento retroativo por rácioMultiplicar o segmento anterior por 20.43 / −37.63, aproximadamente −0.543O fator negativo inverte o sinal das variações de preço dentro do segmento

É por isso que não aceito «ajustado por rácio» 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 nulos e negativos.

O ajustamento aditivo também tem consequências próprias. Um sinal que compra abaixo de um limiar absoluto de $30 pode mudar quando rolagens posteriores reescrevem níveis anteriores. Um sinal de média móvel rápida menos lenta pode permanecer invariante a um deslocamento aditivo comum, desde que ambas as janelas recebam o mesmo deslocamento. As janelas que atravessam uma fronteira de ajustamento têm de ser analisadas separadamente.

Guarda o método de ajustamento, o calendário de rolagens e a versão dos dados com os resultados da análise. Para sinais sensíveis aos níveis ajustados, reconstrói a história disponível em cada data de decisão. Uma transferência atual pode incluir ajustamentos de rolagens que ainda não tinham ocorrido.

As duas linhas de ordens que faltam no gráfico contínuo

Eis um registo deliberadamente simplificado. Suponhamos que um contrato longo de maio foi avaliado a −30.00 antes da rolagem. Suponhamos que a saída de maio e a entrada em junho ocorrem às liquidações históricas acima, e que depois o contrato de junho é avaliado a 21.00. Estas execuções presumidas servem apenas para ilustrar a contabilização.

Evento do registoCálculoP&L bruto
Fechar uma posição longa de maio a −37.631,000 × (−37.63 − (−30.00))−$7,630
Abrir uma posição longa de junho a 20.43Sem variação de preço na entrada$0
Avaliar junho a 21.001,000 × (21.00 − 20.43)+$570
TotalAntes dos custos de execução e das comissões−$7,060

A diferença de $58.06 não surge em lado nenhum como receita ou despesa autónoma. A margem de variação diária determina quando o P&L dos futuros chega ao saldo em caixa; não cria uma segunda cópia desse P&L.

Uma rolagem real pode ser executada através de uma ordem de spread de calendário, em vez de duas ordens independentes. O simulador deve representar o mecanismo que pressupõe, incluindo as execuções e os encargos, preservando as posições individuais em cada contrato.

O meu critério de aceitação é simples: cada euro de P&L de negociação de futuros tem de corresponder a um contrato identificado, uma quantidade, um multiplicador e dois preços desse mesmo contrato. Também quero a data e hora da decisão de rolagem e os dados usados. Uma regra baseada no volume da sessão de hoje, depois de concluída, não pode executar às escondidas mais cedo nessa mesma sessão.

Mostra a linha contínua para contextualizar. Por baixo, mostra os contratos efetivamente detidos e assinala cada transição. Se a curva de capital saltar numa transição, começo por verificar essas duas linhas de ordens.

futuros contínuosbacktestingrolagens de futurosdados de mercadocontabilização de P&L
← Todos os artigos