Cointegração: o andar do bêbado e seu cachorro

O que é cointegração, explicado pela analogia do bêbado e seu cachorro, e como aplicar o teste de Engle-Granger no Python. O tutorial mostra os dois passos do teste, por que a especificação muda a conclusão, e aplica tudo ao par PETR3 e PETR4 com dados de abril de 2021 a abril de 2022.

Duas séries temporais cointegram quando cada uma delas é não estacionária, mas existe uma combinação linear entre as duas que é estacionária. Na prática, cada série segue sua própria tendência e a distância entre elas permanece estável.

É essa propriedade que sustenta estratégias de pairs trading, arbitragem estatística e boa parte da modelagem de séries macroeconômicas.

Neste tutorial apresentamos a definição formal de cointegração, o mecanismo de correção de erros que a acompanha e o teste de Engle-Granger que a verifica. Usamos as ações PETR3 e PETR4 como exemplo, com o teste feito no Python.

Cointegração no Python: trajetórias do bêbado e do cachorro, duas séries de passeio aleatório que nunca se afastam uma da outra
As duas trajetórias são imprevisíveis isoladamente, mas a distância entre elas nunca cresce sem limite.

A figura acima mostra as duas trajetórias da analogia que Michael P. Murray usou em 1994 para explicar o conceito: o andar de um bêbado e de seu cachorro. Começamos por ela e depois escrevemos a mesma ideia em termos estatísticos.

Código do exercício

O código com o teste de cointegração aplicado a um par de ativos, do gráfico ao resíduo da relação de longo prazo está disponível em:

Acessar o código →

A analogia do bêbado e seu cachorro

Um bêbado sai do bar e caminha em direção a casa de forma imprevisível, desviando ora para a esquerda, ora para a direita. Sua trajetória não tem destino definido nem posição média para a qual retornar.

Acompanha-o um cachorro sem coleira, que também anda ao acaso, atraído por cada cheiro novo. Mas sempre que se afasta demais, o bêbado o chama, e ele volta.

O resultado são duas trajetórias individualmente imprevisíveis que mantêm entre si uma distância limitada. Não sabemos onde nenhum dos dois estará em dez minutos, e ainda assim encontrar o cachorro nos diz aproximadamente onde está o dono.

Cada elemento dessa cena tem tradução estatística: a trajetória imprevisível é o passeio aleatório, a distância estável é a relação de cointegração e a chamada do dono é o mecanismo de correção de erros. Escrevemos os três a seguir.

O passeio aleatório

Em econometria, a trajetória do bêbado é um passeio aleatório: um processo em que o valor de hoje é o valor de ontem somado a um choque imprevisível.

yt = yt−1 + εt

Aqui yt é a posição da série no instante t, yt−1 a posição no instante anterior e εt um choque aleatório de média zero, sem relação com os choques passados.

Essa equação diz que a melhor previsão para o valor futuro é o último valor observado, porque o choque que vem não tem parte previsível. Se desviamos o olhar do bêbado, nosso melhor palpite sobre onde ele está agora é o último lugar onde o vimos.

A consequência é que os choques nunca se dissipam: cada um entra no nível da série e fica lá para sempre. Por isso a série não tem média fixa para a qual retornar, e sua variância cresce com o tempo, o que a torna não estacionária.

Séries integradas e a origem do termo

Uma série não estacionária que se torna estacionária depois de ser diferenciada d vezes é dita integrada de ordem d, e escrevemos yt ~ I(d). Diferenciar significa trabalhar com a variação entre períodos consecutivos em vez do nível da série.

No passeio aleatório, a primeira diferença devolve o próprio choque, que é estacionário por construção.

Δyt = yt − yt−1 = εt  ⟹  yt ~ I(1)

O preço de uma ação costuma se comportar assim: o preço em nível segue uma tendência própria, mas a variação diária oscila em torno de um valor estável.

A definição formal de cointegração

Duas séries yt e xt, ambas I(1), são cointegradas quando existe um coeficiente β tal que a combinação linear entre elas é estacionária.

ut = yt − α − β xt  ~  I(0)

Nessa expressão, ut é o desvio da relação de longo prazo no instante t, α é a distância média entre as duas séries e β mede quanto yt acompanha xt. O vetor (1, −β) é o vetor de cointegração, e a notação I(0) indica série estacionária.

O que a equação afirma é que a subtração cancela a parte não estacionária das duas séries. Como ambas carregam a mesma tendência estocástica, a diferença entre elas fica livre dela e passa a oscilar em torno de um valor fixo.

Essa diferença é a distância entre o bêbado e o cachorro: ela varia, mas não cresce sem limite.

Daí vem o prefixo co: as duas séries precisam ser integradas da mesma ordem para que a combinação possa cair para uma ordem menor. Engle e Granger formalizaram essa definição em 1987, trabalho que rendeu a Granger o Nobel de Economia em 2003.

Sem cointegração, a regressão de uma série não estacionária contra outra produz regressão espúria: o R² sai alto e o coeficiente sai significante mesmo quando não há relação entre as variáveis.

Isso acontece porque a estatística t deixa de seguir a distribuição usual quando os resíduos são não estacionários. O teste de cointegração verifica se a relação estimada é real ou se as duas séries apenas subiram no mesmo período.

O mecanismo de correção de erros

A chamada do bêbado ao cachorro também tem forma algébrica. Engle e Granger mostraram que toda relação de cointegração implica um modelo de correção de erros, e a recíproca também vale.

Δyt = γ ut−1 + (termos de curto prazo) + εt

Aqui Δyt é a variação da série no período, ut−1 o desvio da relação de longo prazo no período anterior e γ a velocidade de ajuste, que assume valor negativo.

O sinal negativo de γ é o que traz as séries de volta. Quando y está acima da relação de longo prazo, ut−1 é positivo e o produto γut−1 fica negativo, o que empurra a série para baixo no período seguinte.

Quanto maior o desvio, maior a força de retorno. E a magnitude de γ indica que fração do desequilíbrio se corrige a cada período: um γ de −0,2 corrige 20% do desvio por período.

É por isso que encontrar o cachorro nos diz aproximadamente onde está o bêbado: existe uma força que corrige a distância entre os dois sempre que ela cresce demais.

Como funciona o teste de Engle-Granger

O teste segue direto da definição, em dois passos.

O primeiro passo estima por mínimos quadrados a regressão de uma série contra a outra e guarda o resíduo. Esse resíduo é a estimativa de ut, ou seja, a própria combinação linear da definição, com a e b no lugar dos valores estimados de α e β.

ût = yt − a − b xt

O segundo passo aplica um teste de raiz unitária a esse resíduo, com hipótese nula de que ρ = 1 na regressão abaixo. Se o resíduo for estacionário, as séries cointegram; se não for, a relação entre elas era espúria.

ût = ρ ût−1 + vt   H0: ρ = 1  (sem cointegração)

A hipótese nula é a de ausência de cointegração. Rejeitá-la, com p-valor abaixo de 0,05, é o que indica relação de longo prazo entre as séries.

Há uma sutileza nos valores críticos: eles não são os mesmos do teste de raiz unitária comum, porque ût é estimado e não observado.

Os mínimos quadrados escolhem b para minimizar a soma dos quadrados dos resíduos, o que já os deixa mais próximos da estacionariedade e enviesa o teste a favor da cointegração. MacKinnon calculou os valores críticos que corrigem esse viés, adotados pela implementação do statsmodels.

Um exemplo: PETR3 e PETR4

Para ilustrar a definição com dados reais, aplicamos o teste a um par natural: as ações ordinárias (PETR3) e preferenciais (PETR4) da Petrobras. São papéis da mesma empresa, com direitos diferentes, então há razão econômica para esperar que os preços compartilhem a mesma tendência estocástica.

A amostra vai de abril de 2021 a abril de 2022, um ano de pregões, com preço de fechamento ajustado coletado pela biblioteca yfinance. Sem esse ajuste, o dia do pagamento de um dividendo apareceria como queda e contaminaria o teste.

Séries de preço de PETR3 e PETR4 entre abril de 2021 e abril de 2022, usadas no teste de cointegração no Python
O mesmo comportamento da analogia, agora com dados reais. Fonte: Yahoo Finance.

As duas trajetórias sobem e descem juntas, mantendo uma distância aproximadamente constante. Essa diferença entre as séries é a estimativa de ut da definição, e o gráfico abaixo a mostra diretamente.

Spread entre PETR3 e PETR4 oscilando em torno da média, evidência visual de cointegração
O spread oscila em torno de um valor fixo em vez de crescer sem limite. Fonte: Yahoo Finance.

Passo 1: confirmar que as séries são não estacionárias

A definição exige que as duas séries sejam I(1), então confirmamos essa condição antes de testar cointegração. Usamos o teste ADF, cuja hipótese nula é a de que a série tem raiz unitária, ou seja, é não estacionária.

Testamos três especificações, porque a escolha muda o resultado: sem constante, com constante, e com constante e tendência.

Série Especificação Estatística p-valor
PETR3 sem constante 1,4109 0,9602
PETR3 com constante -0,9821 0,7597
PETR3 constante e tendência -2,4160 0,3712
PETR4 sem constante 1,1769 0,9379
PETR4 com constante -1,1695 0,6866
PETR4 constante e tendência -2,6793 0,2448

Todos os p-valores ficam bem acima de 0,05. Não rejeitamos a hipótese nula, então as duas séries são não estacionárias em nível, integradas de ordem 1, como esperado para preços de ações.

Com as duas séries integradas da mesma ordem, a condição da definição está satisfeita e podemos procurar o coeficiente β que torna a combinação entre elas estacionária.

Passo 2: o teste de cointegração

Agora a hipótese nula é a de ausência de cointegração, ou seja, ρ = 1 na regressão do resíduo. Queremos p-valor abaixo de 0,05 para concluir que as séries caminham juntas no longo prazo.

Especificação Estatística p-valor Conclusão
sem constante -1,1176 0,6510 não rejeita
com constante -4,2028 0,0036 rejeita: cointegram
constante e tendência -4,0382 0,0246 rejeita: cointegram

Com constante, o p-valor fica abaixo do limiar e rejeitamos a hipótese nula. PETR3 e PETR4 cointegram no período analisado.

A escolha da especificação altera o resultado. Sem constante, o p-valor sobe muito acima do limiar e a conclusão se inverte. Isso acontece porque a versão sem constante impõe α = 0 na relação de longo prazo, enquanto o spread entre as duas ações tem média positiva, como o gráfico mostrou.

A escolha da especificação vem da inspeção gráfica, não de testar até dar significante.

O resíduo estimado da relação de longo prazo

Resíduo da regressão entre PETR3 e PETR4 revertendo ao zero, evidência de cointegração no Python
O resíduo oscila em torno do zero em vez de seguir tendência própria. Fonte: Yahoo Finance.

O gráfico mostra ût, o resíduo da regressão entre as duas séries, oscilando em torno do zero em vez de seguir tendência própria. É esse comportamento estacionário que o segundo passo do teste procura, e que a correção de erros produz: sempre que o desvio cresce, o termo γut−1 o empurra de volta.

Onde a cointegração é usada

O conceito aparece sempre que duas ou mais séries não estacionárias têm razão teórica para compartilhar a mesma tendência de longo prazo.

Em finanças, é a base do pairs trading. O desvio ût vira o sinal de operação: quando ele se afasta da média, compra-se o ativo barato e vende-se o caro, apostando na correção que o termo γut−1 descreve.

Em macroeconomia, testa-se cointegração entre consumo e renda, entre câmbio e diferencial de preços na paridade do poder de compra, e entre juros de prazos diferentes na estrutura a termo. Em cada caso a teoria prevê uma relação de longo prazo, e o teste verifica se os dados a sustentam.

Em modelagem multivariada, encontrar cointegração indica estimar um VECM em vez de um VAR em diferenças. O VAR em diferenças descartaria a informação de nível contida em ut−1, e com ela a relação de longo prazo entre as variáveis.

Quando há mais de duas séries, o teste de Engle-Granger dá lugar ao procedimento de Johansen, que estima quantos vetores de cointegração existem no sistema em vez de supor um só.

Veja o exercício rodando em vídeo

A aula abaixo percorre as mesmas etapas deste guia, com o código rodando na tela.

O teste de Engle-Granger aplicado passo a passo, da regressão de longo prazo ao resíduo.

Considerações finais

Cointegração é a propriedade que permite trabalhar com séries não estacionárias sem cair em regressão espúria, e o teste de Engle-Granger é o caminho mais direto para verificá-la em um par de séries.

Confirmar que as séries são integradas da mesma ordem vem primeiro, porque a definição exige essa condição para que a combinação linear entre elas possa cair para I(0).

A especificação do teste precisa vir do gráfico. No caso de PETR3 e PETR4, o spread tem média positiva, e a versão com constante é a única das três que dá a resposta adequada.

E o resultado vale para o período testado. Relações de cointegração se rompem quando o mecanismo econômico que as sustenta muda: alteração de governança, mudança na política de dividendos ou entrada de um ativo em índice podem quebrar o vínculo. Quem usa isso em estratégia refaz o teste periodicamente, com janela móvel.

Dominar esse ferramental muda o trabalho de quem lida com séries temporais:

  • Analista quantitativo — identifica pares aptos a estratégias de long-short e sabe quando a relação deixou de valer.
  • Economista — testa relações de longo prazo entre variáveis macro, como juros e inflação ou câmbio e preços.
  • Analista de risco — distingue correlação espúria de vínculo estrutural antes de dimensionar exposição.
  • Pesquisador — evita a regressão espúria, o erro clássico de relacionar séries não estacionárias sem verificar cointegração.

Quer aprender a construir análises como esta?

Na Formação do Zero à Análise de Dados Econômicos e Financeiros usando Python e IA você parte sem pré-requisito e chega à coleta, ao tratamento, à modelagem e à visualização de séries econômicas e financeiras.

Conhecer a formação →

Quer acesso a todos os cursos da Análise Macro? Conheça o AM Black, a assinatura anual.

Referências

ENGLE, R. F.; GRANGER, C. W. J. Co-integration and error correction: representation, estimation, and testing. Econometrica, v. 55, n. 2, p. 251-276, 1987.

MURRAY, M. P. A drunk and her dog: an illustration of cointegration and error correction. The American Statistician, v. 48, n. 1, p. 37-39, 1994.

MACKINNON, J. G. Critical values for cointegration tests. In: ENGLE, R. F.; GRANGER, C. W. J. (Ed.). Long-run economic relationships: readings in cointegration. Oxford University Press, 1991.

Leia também

 

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print
Análise Macro © 2011 / 2026

comercial@analisemacro.com.br – Rua Visconde de Pirajá, 414, Sala 718
Ipanema, Rio de Janeiro – RJ – CEP: 22410-002

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp