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.

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:
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.
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.
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.
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.
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 β.
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.
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.

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.

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

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.
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.
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